GNOME Bugzilla – Bug 420249
deadlock on print operation
Last modified: 2007-06-12 03:12:43 UTC
Steps to reproduce: 0) eog test.png 1) File->Print Results: Deadlock. (gdb) where
+ Trace 120130
This is eog svn trunk with glib/gtk+ svn trunk. It works as expected using gtk 2.10/glib 2.12, so this is probably a gtk or glib bug.
I can reproduce it with trunk. It seems to happen while the custom widget is added to the print dialog. It may be something with the custom widget. I'll check it when I have time.
Opening page settings dialog produces this too.
I forgot to write about it, but a while ago I checked disabling completely the custom widget, and it still happens, so it's not related to that.
I traced the GDK_THREADS_ENTER/LEAVE calls and found two locks without an unlock inbetween: 1.Lock:
+ Trace 136873
I cut the traces at 15 frames to keep it readable in my console. I am not sure if that is a bug in GTK+ or if it is a fault in our code (which did't show up before).
I guess this is a gtk bug then.
On Thu, 2007-06-07 at 01:19 -0400, Matthias Clasen wrote: > gdk_threads_add_idle > gdk_threads_add_idle_full > gdk_threads_add_timeout > gdk_threads_add_timeout_full > Better support for thread-safe handling of idles and timeouts. This set > of functions avoids race conditions in the handling of user data passed > to a callback that is run in a different thread. All uses of callbacks in > GTK+ have been converted to these functions. Could it be possible that this bug is related to those GDK changes? Matthias?
Setting target to 2.20 as GTK+ 2.12 will be used in the upcoming GNOME release.
Please try with current gtk+ svn trunk, I have fixed some locking issues in print backends.
It's fixed. Thanks Matthias.