Help with FSO calls timeouts (was: (om2009) OpenBmap client keeps crashing)

Onen onen.om at free.fr
Thu Aug 6 22:19:42 CEST 2009


I changed the subject, in order to try bringing attention to your
timeouts issues...


Hi Risto,

let's see how I can help you!

Risto H. Kurppa wrote:
 >
 > If paroli doesn't run, it wont start at all.

This might be because my application does not request the GSM ressource.
Thus, if GSM is not up and running, requested by another application, I
am not sure of how nice it handles it.

 > I have some problems with GPS, I feel that Tangogps or openbmap alone
 > can't actually ever see any satelites, but if I first start omgps
 > (using ublox), I get a nice fix and then when I start openbmap or
 > tango, it changes to fso and things sometimes work.
 >

Well I request GPS ressource and uses it through FSO API here. So at the
moment I can't see my application being guilty here.

 > Sometimes (like every 20th restart - I really mean it, i've wasted
 > hours in the bus trying to run this and it's actually very
 > frustrating...) it starts with no problems but then I can't turn it on
 > (to make it actually store cell info) but it freezes and suddenly
 > shows no UI.
 >

Difficult to help without logs... A very quick response would be a
timeout about the GPS response (as you explain you meet difficulties
with it) which my app does not handle correctly (but this never happened
to me so far...).

 > It's now been about a week travelling when I haven't been able to
 > record any cells, because can't start openbmap. It tries to do its
 > magic for some minutes (I have paroli running, sometimes also omgps
 > with gps fix)
 >
 > Traceback (most recent call last):
 >   File "/usr/bin/openBmapGTK", line 356, in <module>
 >     hwg = openBmapGTK()
 >   File "/usr/bin/openBmapGTK", line 130, in __init__
 >     self._obmlogger = openbmap.logger.ObmLogger()
 >   File "/usr/lib/python2.6/site-packages/openbmap/logger.py", line
 > 832, in __init__
 >     self._gsm = Gsm(self._bus)
 >   File "/usr/lib/python2.6/site-packages/openbmap/logger.py", line 64,
 > in __init__
 >     self.get_device_info()
 >   File "/usr/lib/python2.6/site-packages/openbmap/logger.py", line
 > 223, in get_device_info
 >     data = dbus.Interface(obj, 'org.freesmartphone.GSM.Device').GetInfo()
 >   File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 68, 
in __call__
 >     return self._proxy_method(*args, **keywords)
 >   File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 140, 
in __call__
 >     **keywords)
 >   File "/usr/lib/python2.6/site-packages/dbus/connection.py", line
 > 622, in call_blocking
 >     message, timeout)
 > dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did
 > not receive a reply. Possible causes include: the remote application
 > did not send a reply, the message bus security policy blocked the
 > reply, the reply timeout expired, or the network connection was
 > broken.
 >

In this case, the application calls a D-Bus FSO API in order to get
hardware details. It seems the framework times out :-(

 > or this:
 >
 >
 > Traceback (most recent call last):
 >   File "/usr/bin/openBmapGTK", line 356, in <module>
 >     hwg = openBmapGTK()
 >   File "/usr/bin/openBmapGTK", line 132, in __init__
 >     self._obmlogger.init_openBmap()
 >   File "/usr/lib/python2.6/site-packages/openbmap/logger.py", line
 > 1118, in init_openBmap
 >     self.request_ressource('CPU')
 >   File "/usr/lib/python2.6/site-packages/openbmap/logger.py", line
 > 859, in request_ressource
 >     request = dbus.Interface(obj,
 > 'org.freesmartphone.Usage').RequestResource(resource)
 >   File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 68, 
in __call__
 >     return self._proxy_method(*args, **keywords)
 >   File "/usr/lib/python2.6/site-packages/dbus/proxies.py", line 140, 
in __call__
 >     **keywords)
 >   File "/usr/lib/python2.6/site-packages/dbus/connection.py", line
 > 622, in call_blocking
 >     message, timeout)
 > dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply:
 > Message did not receive a reply (timeout by message bus)
 >
 >

In this case I request a ressource (GPS and CPU, the latter for
preventing the phone to suspend, but allow the screen to dim light)
through FSO D-Bus API. This calls times out.

So my application should handle this much more nicely. But, this is
normal that it refuses to start if one of these calls does not succeed.

The only hint I can give you so far, is that I ran under such issues
under Debian when calling the monitoring interface. When this would
happen, then exiting obm, and trying to relaunch it, would bring
timeouts as you meet.

I could not find much info about this so far though :-( I am not sure
what is happening.

 >
 > I have no idea it it's because of openbmap or fso but I'd really
 > appreciate it if someone could gice me a tip if there's something I
 > can do to fix this. It just stopped working some days ago without any
 > upgrade or program installation (I haven't had the phone connected to
 > internet for a week or so).
 >
 > Too bad I'm missing many cells, can't get higher in the openbmap stats :)
 >

That is very much annoying yes! You should have a backup distribution
installed on SD card in case of ;-)

Onen




More information about the community mailing list