Should use async dbus calls when talking to syncdaemon, and stop blocking nautilus UI

Bug #635614 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntuone-client (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Binary package hint: ubuntuone-client

Nautilus takes several minutes to start on login here, because it blocks waiting for syncdaemon to respond:

(gdb) bt
#0 0x00007faa72ee31e3 in __poll (fds=<value optimised out>,
    nfds=<value optimised out>, timeout=22310)
    at ../sysdeps/unix/sysv/linux/poll.c:87
#1 0x00007faa7148e400 in socket_do_iteration (transport=0x2379800, flags=6,
    timeout_milliseconds=22310) at dbus-transport-socket.c:1066
#2 0x00007faa7148c81d in _dbus_transport_do_iteration (transport=0x2379800,
    flags=<value optimised out>, timeout_milliseconds=<value optimised out>)
    at dbus-transport.c:956
#3 0x00007faa71478c7e in _dbus_connection_do_iteration_unlocked (
    connection=0x2379eb0, flags=6, timeout_milliseconds=22310)
    at dbus-connection.c:1163
#4 0x00007faa7147b0f4 in _dbus_connection_block_pending_call (
    pending=0x23b3f20) at dbus-connection.c:2428
#5 0x00007faa716b989e in dbus_g_proxy_end_call_internal (
    proxy=<value optimised out>, call_id=<value optimised out>,
    error=<value optimised out>, first_arg_type=<value optimised out>,
    args=0x7fff82f9f220) at dbus-gproxy.c:2272
#6 0x00007faa716ba4e3 in dbus_g_proxy_call (proxy=0x23f7590,
    method=<value optimised out>, error=<value optimised out>,
    first_arg_type=0) at dbus-gproxy.c:2601
#7 0x00007faa5b614ba8 in syncdaemon_folders_interface_get_folders ()
   from /usr/lib/libsyncdaemon-1.0.so.1
#8 0x00007faa5bc841da in ubuntuone_is_storagefs ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/nautilus/extensions-2.0/libnautilus-ubuntuone.so
#9 0x00007faa5bc84446 in ?? ()
   from /usr/lib/nautilus/extensions-2.0/libnautilus-ubuntuone.so
#10 0x00000000004b7497 in ?? ()
#11 0x00000000004b3c46 in ?? ()
#12 0x00000000004b6f21 in ?? ()
#13 0x00007faa754b5ddb in load_contents_close_callback (
    obj=<value optimised out>, close_res=<value optimised out>,
    user_data=0x24a3050) at /build/buildd/glib2.0-2.25.15/gio/gfile.c:6297
#14 0x00007faa754d030d in async_ready_close_callback_wrapper (
    source_object=0x7faa60003460, res=0x23cf300, user_data=0x24a3050)
    at /build/buildd/glib2.0-2.25.15/gio/ginputstream.c:484
#15 0x00007faa754e0bb8 in complete_in_idle_cb_for_thread (
    _data=<value optimised out>)
    at /build/buildd/glib2.0-2.25.15/gio/gsimpleasyncresult.c:757
#16 0x00007faa742267e2 in g_main_dispatch (context=0x2183eb0)
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c:2119
#17 g_main_context_dispatch (context=0x2183eb0)
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c:2672
#18 0x00007faa7422a748 in g_main_context_iterate (context=0x2183eb0,
    block=<value optimised out>, dispatch=<value optimised out>,
    self=<value optimised out>)
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c:2750
---Type <return> to continue, or q <return> to quit---
#19 0x00007faa7422ac55 in g_main_loop_run (loop=0x2389350)
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c:2958
#20 0x00007faa75dc0a47 in IA__gtk_main ()
    at /build/buildd/gtk+2.0-2.21.7/gtk/gtkmain.c:1237
#21 0x0000000000442132 in ?? ()
#22 0x00007faa72e27d8e in __libc_start_main (main=<value optimised out>,
    argc=<value optimised out>, ubp_av=<value optimised out>,
    init=<value optimised out>, fini=<value optimised out>,
    rtld_fini=<value optimised out>, stack_end=0x7fff82f9fb98)
    at libc-start.c:226
#23 0x000000000042f199 in ?? ()
#24 0x00007fff82f9fb98 in ?? ()
#25 0x000000000000001c in ?? ()
#26 0x0000000000000001 in ?? ()
#27 0x00007fff82fa1afa in ?? ()
#28 0x0000000000000000 in ?? ()
(gdb)

Please use async calls where it's likely that syncdaemon may take a little while to respond, and don't block the entire nautilus UI

Revision history for this message
John Lenton (chipaca) wrote :

I believe this is fixed in recent versions of the plugin. What versions are you running?

Changed in ubuntuone-client (Ubuntu):
status: New → Incomplete
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I'm running 1.4.0-0ubuntu1

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for ubuntuone-client (Ubuntu) because there has been no activity for 60 days.]

Changed in ubuntuone-client (Ubuntu):
status: Incomplete → Expired
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.