Control panel stuck at loading

Bug #910586 reported by vtec
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu One Control Panel
Triaged
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.

Revision history for this message
vtec (vitekcvachoucek) wrote :

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

Revision history for this message
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)
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.