After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 723835 - hangs on start for one minute since 0.17 update
hangs on start for one minute since 0.17 update
Status: RESOLVED FIXED
Product: shotwell
Classification: Other
Component: camera
0.17.x
Other Linux
: High normal
: 0.18
Assigned To: Shotwell Maintainers
Shotwell Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-02-07 11:08 UTC by Sebastien Bacher
Modified: 2014-02-12 19:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastien Bacher 2014-02-07 11:08:07 UTC
shotwell 0.17 hangs for a minute on start on my laptop, 0.15 starts without delay. That's a standard configuration with no external device connected. The hangs seems to happen in sync gvfs calls

  • #0 __kernel_vsyscall
  • #1 poll
    at ../sysdeps/unix/syscall-template.S line 81
  • #2 poll
    at /usr/include/i386-linux-gnu/bits/poll2.h line 46
  • #3 g_poll
    at /build/buildd/glib2.0-2.39.4/./glib/gpoll.c line 124
  • #4 g_main_context_poll
    at /build/buildd/glib2.0-2.39.4/./glib/gmain.c line 4005
  • #5 g_main_context_iterate
    at /build/buildd/glib2.0-2.39.4/./glib/gmain.c line 3706
  • #6 g_main_loop_run
    at /build/buildd/glib2.0-2.39.4/./glib/gmain.c line 3905
  • #7 initable_init
    at /build/buildd/glib2.0-2.39.4/./gio/gdbusproxy.c line 1985
  • #8 g_initable_init
    at /build/buildd/glib2.0-2.39.4/./gio/ginitable.c line 113
  • #9 g_initable_new_valist
    at /build/buildd/glib2.0-2.39.4/./gio/ginitable.c line 229
  • #10 g_initable_new
    at /build/buildd/glib2.0-2.39.4/./gio/ginitable.c line 147
  • #11 gvfs_remote_volume_monitor_proxy_new_for_bus_sync
  • #12 is_remote_monitor_supported
    at gproxyvolumemonitor.c line 1147
  • #13 is_supported
    at gproxyvolumemonitor.c line 1192
  • #14 get_default_native_class
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 461
  • #15 g_once_impl
    at /build/buildd/glib2.0-2.39.4/./glib/gthread.c line 591
  • #16 get_native_class
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 492
  • #17 populate_union_monitor
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 515
  • #18 g_volume_monitor_get
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 571
  • #19 camera_table_construct
    at src/camera/CameraTable.c line 491
  • #20 camera_table_new
    at src/camera/CameraTable.c line 504
  • #21 camera_table_get_instance
    at src/camera/CameraTable.c line 604
  • #22 camera_branch_construct
    at src/camera/Branch.c line 446
  • #23 camera_branch_new
    at src/camera/Branch.c line 489
  • #24 library_window_instance_init
    at src/library/LibraryWindow.c line 7269
  • #25 g_type_create_instance
    at /build/buildd/glib2.0-2.39.4/./gobject/gtype.c line 1868
  • #26 g_object_new_internal
    at /build/buildd/glib2.0-2.39.4/./gobject/gobject.c line 1747
  • #27 g_object_newv
    at /build/buildd/glib2.0-2.39.4/./gobject/gobject.c line 1891
  • #28 g_object_new
    at /build/buildd/glib2.0-2.39.4/./gobject/gobject.c line 1557
  • #29 page_window_construct
    at src/AppWindow.c line 1419
  • #30 app_window_construct
    at src/AppWindow.c line 1881
  • #31 library_window_construct
    at src/library/LibraryWindow.c line 2044
  • #32 library_window_new
    at src/library/LibraryWindow.c line 2247
  • #33 library_exec
    at src/main.c line 1165
  • #34 _vala_main
    at src/main.c line 1981
  • #35 main
    at src/main.c line 2059

Comment 1 Sebastien Bacher 2014-02-10 10:26:05 UTC
The issue is due to https://git.gnome.org/browse/shotwell/commit/?id=51f04e9c1f9c8605a9945a63d93681823fc39c50 , reverting that commit resolves the hang on start
Comment 2 Jim Nelson 2014-02-10 20:12:41 UTC
Thanks, Sebastien.  I'll take a look at this shortly.
Comment 3 Jim Nelson 2014-02-10 22:44:00 UTC
Sebastien, I've pushed a candidate to wip/723835-camera-hang.  Could you build from that branch and let me know if that fixes your problem?  Thanks!
Comment 4 Sebastien Bacher 2014-02-11 18:50:46 UTC
Thanks Jim, that change doesn't seem to fix the issue for me though...

The stacktrace is different with it

  • #0 __kernel_vsyscall
  • #1 poll
    at ../sysdeps/unix/syscall-template.S line 81
  • #2 poll
    at /usr/include/i386-linux-gnu/bits/poll2.h line 46
  • #3 g_poll
    at /build/buildd/glib2.0-2.39.4/./glib/gpoll.c line 124
  • #4 g_main_context_poll
    at /build/buildd/glib2.0-2.39.4/./glib/gmain.c line 4005
  • #5 g_main_context_iterate
    at /build/buildd/glib2.0-2.39.4/./glib/gmain.c line 3706
  • #6 g_main_loop_run
    at /build/buildd/glib2.0-2.39.4/./glib/gmain.c line 3905
  • #7 initable_init
    at /build/buildd/glib2.0-2.39.4/./gio/gdbusproxy.c line 1985
  • #8 g_initable_init
    at /build/buildd/glib2.0-2.39.4/./gio/ginitable.c line 113
  • #9 g_initable_new_valist
    at /build/buildd/glib2.0-2.39.4/./gio/ginitable.c line 229
  • #10 g_initable_new
    at /build/buildd/glib2.0-2.39.4/./gio/ginitable.c line 147
  • #11 gvfs_remote_volume_monitor_proxy_new_for_bus_sync
  • #12 is_remote_monitor_supported
    at gproxyvolumemonitor.c line 1147
  • #13 is_supported
    at gproxyvolumemonitor.c line 1192
  • #14 get_default_native_class
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 461
  • #15 g_once_impl
    at /build/buildd/glib2.0-2.39.4/./glib/gthread.c line 591
  • #16 get_native_class
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 492
  • #17 populate_union_monitor
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 515
  • #18 g_volume_monitor_get
    at /build/buildd/glib2.0-2.39.4/./gio/gunionvolumemonitor.c line 571
  • #19 camera_table_construct
    at /tmp/git/shotwell/src/camera/CameraTable.vala line 47
  • #20 camera_table_new
    at /tmp/git/shotwell/src/camera/CameraTable.vala line 41
  • #21 camera_table_get_instance
    at /tmp/git/shotwell/src/camera/CameraTable.vala line 84
  • #22 camera_branch_construct
    at /tmp/git/shotwell/src/camera/Branch.vala line 18
  • #23 camera_branch_new
    at /tmp/git/shotwell/src/camera/Branch.vala line 13
  • #24 library_window_instance_init
    at /tmp/git/shotwell/src/library/LibraryWindow.vala line 123
  • #25 g_type_create_instance
    at /build/buildd/glib2.0-2.39.4/./gobject/gtype.c line 1868
  • #26 g_object_new_internal
    at /build/buildd/glib2.0-2.39.4/./gobject/gobject.c line 1747
  • #27 g_object_newv
    at /build/buildd/glib2.0-2.39.4/./gobject/gobject.c line 1891
  • #28 g_object_new
    at /build/buildd/glib2.0-2.39.4/./gobject/gobject.c line 1557
  • #29 page_window_construct
    at /tmp/git/shotwell/src/AppWindow.vala line 312
  • #30 app_window_construct
    at /tmp/git/shotwell/src/AppWindow.vala line 438
  • #31 library_window_construct
    at /tmp/git/shotwell/src/library/LibraryWindow.vala line 162
  • #32 library_window_new
    at /tmp/git/shotwell/src/library/LibraryWindow.vala line 162
  • #33 library_exec
    at /tmp/git/shotwell/src/main.vala line 153
  • #34 _vala_main
    at /tmp/git/shotwell/src/main.vala line 420
  • #35 main
    at /tmp/git/shotwell/src/main.vala line 317

Comment 5 Jim Nelson 2014-02-11 22:11:00 UTC
Sebastien, I've reverted the change that appears to be causing this problem and pushed to master.  If you could test again just to be sure, I would appreciate it.

I'm not sure why this change would cause this problem, but I'll work with the original submitter to get this resolved.  I'll also see if I can reproduce the problem here, which I've been unable to do so far.
Comment 6 Sebastien Bacher 2014-02-12 12:59:30 UTC
Jim, the revert commit in trunk resolves the issue, thanks. I'm going to upload 0.17 with that patch on top for Ubuntu

I'm not sure why that gvfs call is slow/hitting a timeout but having a sync call in the startup path seems like a recipe for issues in any case...