Control panel stuck at loading

Bug #910586 reported by vtec on 2012-01-01
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu One Control Panel
Undecided
Ubuntu One Client Engineering team

Bug Description

I have got 3 machines loaded with ubuntu 11.10. I am using the very same installation medium and the very same procedure but on one of the 3 machines the ubuntuone-control-panel does not work.

The UI is stuck at loading phase because of the ubuntuone-control-panel-backend failing to respond - running into the following error:

  File "/usr/lib/pymodules/python2.7/ubuntuone-control-panel/ubuntuone/controlpanel/web_client/libsoup.py", line 92, in _handler
    msg.status_code, msg.get_uri().to_string(False))
  File "/usr/lib/python2.7/logging/__init__.py", line 1122, in debug
    self._log(DEBUG, msg, args, **kwargs)
  File "/usr/lib/python2.7/logging/__init__.py", line 1251, in _log
    record = self.makeRecord(self.name, level, fn, lno, msg, args, exc_info, func, extra)
  File "/usr/lib/python2.7/logging/__init__.py", line 1225, in makeRecord
    rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func)
  File "/usr/lib/python2.7/logging/__init__.py", line 282, in __init__
    self.msecs = (ct - long(ct)) * 1000
ValueError: cannot convert float NaN to integer

Apparently the ct ("currentTIme") variable is NaN, hacking the script I have verified that occasionally the very first invocation of time.time() yeilds NaN!

If I hack the script even further to avoid calling time.time(), the control panel loads and works just fine. But after installing desktopcouch-ubuntuone I would still get some more errors even more weird that the one above.

I am not much a python or linux guy but my guess is it some kind of versioning problem perhaps with python itself but I just cant figure out what is going on.

vtec (vitekcvachoucek) wrote :

Looks like this has something to do with it:
https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/896836

vtec (vitekcvachoucek) wrote :

The funny thing is the error goes away if I put traceback.print_stack() into the /usr/share/pyshared/ubuntuone-control-panel/ubuntu/controlpanel/web_client/libsoup.py insde the _handler() method of WebCLient class

  File "/usr/lib/ubuntuone-control-panel/ubuntuone-control-panel-backend", line 28, in <module>
    dbus_service.main()
  File "/usr/lib/python2.7/dist-packages/ubuntuone-control-panel/ubuntuone/controlpanel/dbus_service.py", line 616, in main
    run_mainloop(loop=loop)
  File "/usr/lib/python2.7/dist-packages/ubuntuone-control-panel/ubuntuone/controlpanel/dbus_service.py", line 582, in run_mainloop
    loop.run()
  File "/usr/lib/python2.7/dist-packages/ubuntuone-control-panel/ubuntuone/controlpanel/web_client/libsoup.py", line 55, in _handler
    traceback.print_stack()

As you can see from the traceback the _handler() is being called from loop.run() which is native code - and that is the moment when things go wrong - If I put time.time() inside the run_meanloop() it spits out a number, when I do the same inside the _handler() - it yields NaN....

having the traceback.print_stack() inside the _handler() magically fixes the problem - it is correcting the state of time module so subsequent time.time() invocations bellow the stack would work again ....

Rick McBride (rmcbride) on 2012-02-07
Changed in ubuntuone-control-panel:
assignee: nobody → Ubuntu One Desktop+ team (ubuntuone-desktop+)
status: New → Triaged
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers