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 555959 - eog locks up from time to time.
eog locks up from time to time.
Status: RESOLVED DUPLICATE of bug 547373
Product: eog
Classification: Core
Component: general
2.24.x
Other Linux
: Normal critical
: ---
Assigned To: EOG Maintainers
EOG Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-10-11 22:07 UTC by Gilles Dartiguelongue
Modified: 2008-10-14 05:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
gedit-2.24-strace.log (332.04 KB, text/plain)
2008-10-11 22:08 UTC, Gilles Dartiguelongue
Details

Description Gilles Dartiguelongue 2008-10-11 22:07:17 UTC
Starting eog from either nautilus or command line can lead up to a X "lock". Killing eog releases the lock. It affets the whole desktop and one cannot click anymore so you have to ssh from another host to kill it or wait for some timeout (very long for average user).

Here is the backtrace I got by running it from the console. It happens with any picture and it is a race condition for sure as it doesn't happen all the time and the trace seems to indicate it's in a thread.

$ gdb --args eog file:///home/eva/Images/Photos/Cr%C3%AAperie%20%C3%89tienne/IMG_5855.JPG 
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...
(gdb) run
Starting program: /usr/bin/eog file:///home/eva/Images/Photos/Cr%C3%AAperie%20%C3%89tienne/IMG_5855.JPG
[Thread debugging using libthread_db enabled]
[New Thread 0x2b06d8d30a70 (LWP 9644)]
[New Thread 0x40800950 (LWP 9649)]
[New Thread 0x40841950 (LWP 9650)]
^C
Program received signal SIGINT, Interrupt.

Thread 47308407507568 (LWP 9644)

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_102
    from /lib/libpthread.so.0
  • #2 __pthread_mutex_lock
    at pthread_mutex_lock.c line 86
  • #3 eog_list_store_add_thumbnail_job
    at eog-list-store.c line 826
  • #4 eog_list_store_thumbnail_set
    at eog-list-store.c line 858
  • #5 eog_thumb_view_add_range
    at eog-thumb-view.c line 143
  • #6 thumbview_on_adjustment_changed_cb
    at eog-thumb-view.c line 223
  • #7 IA__g_closure_invoke
    at gclosure.c line 767
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3314
  • #9 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #10 IA__g_signal_emit
    at gsignal.c line 3034
  • #11 gtk_icon_view_size_allocate
    at gtkiconview.c line 1385
  • #12 IA__g_closure_invoke
    at gclosure.c line 767
  • #13 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #14 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #15 IA__g_signal_emit
    at gsignal.c line 3034
  • #16 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #17 gtk_scrolled_window_size_allocate
    at gtkscrolledwindow.c line 1364
  • #18 IA__g_closure_invoke
    at gclosure.c line 767
  • #19 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #20 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #21 IA__g_signal_emit
    at gsignal.c line 3034
  • #22 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #23 gtk_hbox_size_allocate
    at gtkhbox.c line 243
  • #24 IA__g_closure_invoke
    at gclosure.c line 767
  • #25 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #26 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #27 IA__g_signal_emit
    at gsignal.c line 3034
  • #28 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #29 gtk_vbox_size_allocate
    at gtkvbox.c line 234
  • #30 IA__g_closure_invoke
    at gclosure.c line 767
  • #31 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #32 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #33 IA__g_signal_emit
    at gsignal.c line 3034
  • #34 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #35 gtk_vbox_size_allocate
    at gtkvbox.c line 290
  • #36 IA__g_closure_invoke
    at gclosure.c line 767
  • #37 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #38 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #39 IA__g_signal_emit
    at gsignal.c line 3034
  • #40 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #41 gtk_vbox_size_allocate
    at gtkvbox.c line 234
  • #42 IA__g_closure_invoke
    at gclosure.c line 767
  • #43 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #44 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #45 IA__g_signal_emit
    at gsignal.c line 3034
  • #46 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #47 gtk_window_size_allocate
    at gtkwindow.c line 4766
  • #48 IA__g_closure_invoke
    at gclosure.c line 767
  • #49 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #50 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #51 IA__g_signal_emit
    at gsignal.c line 3034
  • #52 IA__gtk_widget_size_allocate
    at gtkwidget.c line 3878
  • #53 gtk_window_check_resize
    at gtkwindow.c line 6170
  • #54 IA__g_closure_invoke
    at gclosure.c line 767
  • #55 signal_emit_unlocked_R
    at gsignal.c line 3282
  • #56 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #57 IA__g_signal_emit
    at gsignal.c line 3034
  • #58 gtk_container_idle_sizer
    at gtkcontainer.c line 1306
  • #59 gdk_threads_dispatch
    at gdk.c line 473
  • #60 IA__g_main_context_dispatch
    at gmain.c line 2142
  • #61 g_main_context_iterate
    at gmain.c line 2776
  • #62 IA__g_main_loop_run
    at gmain.c line 2984
  • #63 IA__gtk_main
    at gtkmain.c line 1200
  • #64 main
    at main.c line 229

Comment 1 Gilles Dartiguelongue 2008-10-11 22:08:03 UTC
Created attachment 120412 [details]
gedit-2.24-strace.log

strace of another run.
Comment 2 Felix Riemann 2008-10-12 15:07:51 UTC
Could you possibly attach a full thread backtrace (thread apply all bt)? Currently I fail to see how the lock in eog_list_store_add_thumbnail_job could lock the whole X server so maybe it's something in the other threads.
Comment 3 Claudio Saavedra 2008-10-12 15:47:12 UTC
If the X server locks, it could be something related to accessibility. Do you have accessibility enabled by default? There are several reports about eog locking due to at-spi (see bug #547373 for example).
Comment 4 Gilles Dartiguelongue 2008-10-12 19:16:38 UTC
indeed, I have accessibility features enabled to get the long right == right click feature from mousetweaks. Do you still want a trace from all threads or something else that might be more interesting ?
Comment 5 Claudio Saavedra 2008-10-12 21:43:12 UTC
Stacktrace of all thread is still important. Also, please try whether the locks happen when accessibility is disabled.
Comment 6 Gilles Dartiguelongue 2008-10-13 20:18:47 UTC
Here is a new backtrace. I'm not sure this is exactly the same conditions as yesterday as it's kind of hard to reproduce and this time I wasn't completely locked out of other programs.

Starting program: /usr/bin/eog file:///home/eva/Images/Photos/Cr%C3%AAperie%20%C3%89tienne/IMG_5855.JPG
[Thread debugging using libthread_db enabled]
[New Thread 0x2b909d2d9040 (LWP 9632)]
[New Thread 0x40800950 (LWP 9635)]
[New Thread 0x40841950 (LWP 9636)]

Program received signal SIGINT, Interrupt.

Thread 2 (Thread 0x40800950 (LWP 9635))

  • #0 __lll_lock_wait
    from /lib/libpthread.so.0
  • #1 _L_lock_102
    from /lib/libpthread.so.0
  • #2 __pthread_mutex_lock
    at pthread_mutex_lock.c line 86
  • #3 spi_atk_bridge_register_application
    at bridge.c line 333
  • #4 spi_atk_bridge_get_registry
    at bridge.c line 460
  • #5 spi_atk_emit_eventv
    at bridge.c line 801
  • #6 spi_atk_bridge_property_event_listener
    at bridge.c line 978
  • #7 signal_emit_unlocked_R
    at gsignal.c line 3210
  • #8 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #9 IA__g_signal_emit
    at gsignal.c line 3034
  • #10 atk_object_notify
    at atkobject.c line 1374
  • #11 IA__g_closure_invoke
    at gclosure.c line 767
  • #12 signal_emit_unlocked_R
    at gsignal.c line 3174
  • #13 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #14 IA__g_signal_emit
    at gsignal.c line 3034
  • #15 g_object_dispatch_properties_changed
    at gobject.c line 766
  • #16 IA__g_object_notify
    at gobjectnotifyqueue.c line 125
  • #17 gail_toplevel_show_event_watcher
    at gailtoplevel.c line 246
  • #18 signal_emit_unlocked_R
    at gsignal.c line 3210
  • #19 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #20 IA__g_signal_emit
    at gsignal.c line 3034
  • #21 IA__gtk_widget_show
    at gtkwidget.c line 3003
  • #22 eog_application_show_window
    at eog-application.c line 276
  • #23 IA__g_closure_invoke
    at gclosure.c line 767
  • #24 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #25 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #26 IA__g_signal_emit
    at gsignal.c line 3034
  • #27 eog_window_obtain_desired_size
    at eog-window.c line 1342
  • #28 IA__g_closure_invoke
    at gclosure.c line 767
  • #29 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #30 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #31 IA__g_signal_emit
    at gsignal.c line 3034
  • #32 IA__g_closure_invoke
    at gclosure.c line 767
  • #33 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #34 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #35 IA__g_signal_emit
    at gsignal.c line 3034
  • #36 gdk_pixbuf_loader_size_func
    at gdk-pixbuf-loader.c line 246
  • #37 gdk_pixbuf__jpeg_image_load_increment
    at io-jpeg.c line 915
  • #38 IA__gdk_pixbuf_loader_write
    at gdk-pixbuf-loader.c line 474
  • #39 eog_image_load
    at eog-image.c line 926
  • #40 eog_job_load_run
    at eog-jobs.c line 291
  • #41 eog_render_thread
    at eog-job-queue.c line 78
  • #42 g_thread_create_proxy
    at gthread.c line 635
  • #43 start_thread
    at pthread_create.c line 297
  • #44 clone
    from /lib/libc.so.6
  • #45 ??

Comment 7 Claudio Saavedra 2008-10-13 20:46:18 UTC
Common denominator between this and bug #547373 seems to be at-spi and libcanberra.. Matthias, Li: do you think this could be the same issue?
Comment 8 Li Yuan 2008-10-14 02:41:31 UTC
Yes, comment #6 and bug #547373 are probably the same bug.
Comment 9 Claudio Saavedra 2008-10-14 05:23:09 UTC
Thanks Li. Marking as duplicate.

Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.


*** This bug has been marked as a duplicate of 547373 ***