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 111655 - deadlock on tabbing focus goes out of search entry
deadlock on tabbing focus goes out of search entry
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
unspecified
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2003-04-26 17:50 UTC by Benjamin Otte (Company)
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Benjamin Otte (Company) 2003-04-26 17:50:46 UTC
I have a deadlock in net-rb 0.4.7.1 on GDK_THREADS_ENTER while starting up
inside gdb. I don't know how I triggered it, but I have a stracktrace for
you. On screen are the dialog informing me about the failed bonobo
activation (different prefix...) and the main rb window.

(gdb) thr a a where
 

Thread 1 (Thread 1024 (LWP 445))

  • #0 __sigsuspend
    at ../sysdeps/unix/sysv/linux/sigsuspend.c line 54
  • #1 __pthread_wait_for_restart_signal
    at pthread.c line 1004
  • #2 __pthread_alt_lock
    at restart.h line 36
  • #3 __pthread_mutex_lock
    at mutex.c line 120
  • #4 rb_library_view_search_cb
    at rb-library-view.c line 1616
  • #5 g_cclosure_marshal_VOID__STRING
    at gmarshal.c line 496
  • #6 g_closure_invoke
    at gclosure.c line 437
  • #7 signal_emit_unlocked_R
    at gsignal.c line 2822
  • #8 g_signal_emit_valist
    at gsignal.c line 2554
  • #9 g_signal_emit
    at gsignal.c line 2612
  • #10 rb_search_entry_focus_out_event_cb
    at rb-search-entry.c line 226
  • #11 _gtk_marshal_BOOLEAN__BOXED
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #12 g_closure_invoke
    at gclosure.c line 437
  • #13 signal_emit_unlocked_R
    at gsignal.c line 2822
  • #14 g_signal_emit_valist
    at gsignal.c line 2564
  • #15 g_signal_emit
    at gsignal.c line 2612
  • #16 gtk_widget_event_internal
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #17 gtk_widget_event
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #18 do_focus_change
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #19 window_update_has_focus
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #20 _gtk_window_set_has_toplevel_focus
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #21 gtk_window_focus_out_event
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #22 _gtk_marshal_BOOLEAN__BOXED
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #23 g_type_class_meta_marshal
    at gclosure.c line 514
  • #24 g_closure_invoke
    at gclosure.c line 437
  • #25 signal_emit_unlocked_R
    at gsignal.c line 2860
  • #26 g_signal_emit_valist
    at gsignal.c line 2564
  • #27 g_signal_emit
    at gsignal.c line 2612
  • #28 gtk_widget_event_internal
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #29 gtk_widget_event
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #30 gtk_main_do_event
    from /usr/gnome2/lib/libgtk-x11-2.0.so.0
  • #31 gdk_event_dispatch
    from /usr/gnome2/lib/libgdk-x11-2.0.so.0
  • #32 g_main_dispatch
    at gmain.c line 1653
  • #33 g_main_context_dispatch
    at gmain.c line 2197
  • #34 g_main_context_iterate
    at gmain.c line 2278
  • #35 g_main_loop_run
    at gmain.c line 2498
  • #36 bonobo_main
    from /usr/gnome2/lib/libbonobo-2.so.0
  • #37 main
    at main.c line 145
  • #38 __libc_start_main
    at ../sysdeps/generic/libc-start.c line 129

But I think this deadlock might be present in stock rb, too.
Comment 1 Benjamin Otte (Company) 2003-04-26 17:56:16 UTC
Could it be that this happens when you press keys while the libraries
initialize?
Comment 2 Benjamin Otte (Company) 2003-04-26 23:34:45 UTC
Tracked it down.
The offending code is in lib/widgets/rb-search-entry.c
The SEARCH signal is emitted without GDK_THREADS_ENTERing from the
timeout callback and is emitted while GDK_THREADS_ENTERed from the
focus_out callback.
In the second case this causes a deadlock when GDK_THREADS_ENTER is
called again.

I've solved this in net-rb, so it's only a rb bug now.
Comment 3 Colin Walters 2003-05-25 02:10:03 UTC
Fixed in CVS, thanks.