Bug 524597 - [abrt] crash in ATK module (rhythmbox-0.12.5-1.fc12)
Summary: [abrt] crash in ATK module (rhythmbox-0.12.5-1.fc12)
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: rhythmbox
Version: 12
Hardware: i686
OS: Linux
low
medium
Target Milestone: ---
Assignee: Bastien Nocera
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:3c3d64239e0606d5a138a135f77...
: 545097 590382 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-21 12:42 UTC by Tomasz Chrzczonowicz
Modified: 2010-12-04 07:40 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-04 07:40:42 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (24.99 KB, text/plain)
2009-09-21 12:42 UTC, Tomasz Chrzczonowicz
no flags Details

Description Tomasz Chrzczonowicz 2009-09-21 12:42:15 UTC
abrt detected a crash.


How to reproduce
-----
1.
2.
3.


Comment
-----
Chose an Internet radio station to play

Additional information
======


Attached files
----
backtrace

cmdline
-----
rhythmbox 


component
-----
rhythmbox


executable
-----
/usr/bin/rhythmbox


kernel
-----
2.6.31-23.fc12.i686


package
-----
rhythmbox-0.12.5-1.fc12


reason
-----
Process was terminated by signal 11

Comment 1 Tomasz Chrzczonowicz 2009-09-21 12:42:18 UTC
Created attachment 361916 [details]
File: backtrace

Comment 2 Matthias Clasen 2009-10-07 18:00:43 UTC
Looks like a rhythmbox bug to me, calling gtk from multiple threads without the necessary locking precautions. Notice gtk_widget_show called from thread 17 and the gtk main loop in thread 1.


(gdb) t a a bt

Thread 17 (Thread 0x7fffcde4f710 (LWP 10558)):
#0  0x00007ffff293dfc4 in __lll_lock_wait () from /lib64/libpthread.so.0
#1  0x00007ffff2939155 in _L_lock_947 () from /lib64/libpthread.so.0
#2  0x00007ffff2938f78 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3  0x00007ffff225f078 in g_static_rec_mutex_lock () from /lib64/libglib-2.0.so.0
#4  0x00007fffe7d45aeb in ?? () from /usr/lib64/gtk-2.0/modules/libatk-bridge.so
#5  0x00007fffe7d46270 in ?? () from /usr/lib64/gtk-2.0/modules/libatk-bridge.so
#6  0x00007ffff25038c1 in ?? () from /lib64/libgobject-2.0.so.0
#7  0x00007ffff25051b9 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#8  0x00007ffff2505524 in g_signal_emit_by_name () from /lib64/libgobject-2.0.so.0
#9  0x00007fffe81877df in ?? () from /usr/lib64/gtk-2.0/modules/libgail.so
#10 0x00007ffff24eeace in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#11 0x00007ffff2503e23 in ?? () from /lib64/libgobject-2.0.so.0
#12 0x00007ffff25051b9 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#13 0x00007ffff2505703 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#14 0x00007ffff7a0979d in IA__gtk_widget_size_allocate (widget=0x13c0b80, allocation=<value optimized out>) at gtkwidget.c:3887
#15 0x00007ffff7a1b985 in gtk_window_show (widget=0x13c0b80) at gtkwindow.c:4482
#16 0x00007ffff24eeace in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#17 0x00007ffff250373c in ?? () from /lib64/libgobject-2.0.so.0
#18 0x00007ffff25051b9 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#19 0x00007ffff2505703 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#20 0x00007ffff7a0c260 in IA__gtk_widget_show (widget=0x13c0b80) at gtkwidget.c:3012
#21 0x00007ffff750984e in rb_error_dialog () from /usr/lib64/librhythmbox-core.so.0
#22 0x00007ffff74c9f64 in ?? () from /usr/lib64/librhythmbox-core.so.0
#23 0x00007ffff74ca04e in ?? () from /usr/lib64/librhythmbox-core.so.0
#24 0x00007ffff74ca275 in ?? () from /usr/lib64/librhythmbox-core.so.0
#25 0x00007ffff225f134 in ?? () from /lib64/libglib-2.0.so.0
#26 0x00007ffff293696a in start_thread () from /lib64/libpthread.so.0
#27 0x00007ffff1d493cd in clone () from /lib64/libc.so.6
#28 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fffd076e710 (LWP 10554)):
#0  0x00007ffff293eb4d in nanosleep () from /lib64/libpthread.so.0
#1  0x00007ffff2261458 in g_usleep () from /lib64/libglib-2.0.so.0
#2  0x00007fffcf4bee1a in XvGetPortAttribute () from /usr/lib64/gstreamer-0.10/libgstxvimagesink.so
#3  0x00007ffff225f134 in ?? () from /lib64/libglib-2.0.so.0
#4  0x00007ffff293696a in start_thread () from /lib64/libpthread.so.0
#5  0x00007ffff1d493cd in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fffcf704710 (LWP 10553)):
#0  0x00007ffff1d3ffe3 in poll () from /lib64/libc.so.6
#1  0x00007ffff22399fc in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007ffff223a065 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#3  0x00007ffff09e3590 in link_io_thread_fn (data=<value optimized out>) at linc.c:396
#4  0x00007ffff225f134 in ?? () from /lib64/libglib-2.0.so.0
#5  0x00007ffff293696a in start_thread () from /lib64/libpthread.so.0
#6  0x00007ffff1d493cd in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fffd116f710 (LWP 10548)):
#0  0x00007ffff293b3cc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffff2211a90 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007ffff2211e44 in g_async_queue_pop () from /lib64/libglib-2.0.so.0
#3  0x00007ffff751a2d5 in ?? () from /usr/lib64/librhythmbox-core.so.0
#4  0x00007ffff225f134 in ?? () from /lib64/libglib-2.0.so.0
#5  0x00007ffff293696a in start_thread () from /lib64/libpthread.so.0
#6  0x00007ffff1d493cd in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fb97e0 (LWP 10529)):
#0  0x00007ffff5592064 in gdk_window_set_geometry_hints () from /usr/lib64/libgdk-x11-2.0.so.0
#1  0x00007ffff7a1a772 in gtk_window_move_resize (window=<value optimized out>) at gtkwindow.c:6168
#2  gtk_window_check_resize (window=<value optimized out>) at gtkwindow.c:5358
#3  0x00007ffff24eeace in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#4  0x00007ffff2503aed in ?? () from /lib64/libgobject-2.0.so.0
#5  0x00007ffff25051b9 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#6  0x00007ffff2505703 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#7  0x00007ffff7874490 in gtk_container_idle_sizer (data=<value optimized out>) at gtkcontainer.c:1350
#8  0x00007ffff5543cb6 in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#9  0x00007ffff223622e in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#10 0x00007ffff2239c18 in ?? () from /lib64/libglib-2.0.so.0
#11 0x00007ffff223a065 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#12 0x00007ffff78f5737 in IA__gtk_main () at gtkmain.c:1216
#13 0x0000000000403b05 in main ()

Comment 3 Matthias Clasen 2009-10-07 23:34:41 UTC
Actually, looking closer reveals that rhythmbox _does_ use gtk from multiple threads, but it is using proper locking. The culprit here is the atk-bridge module from at-spi, which sees fit to drop the gdk lock around corba calls deep inside the module code. This is an old problem, which is only rarely seen to trouble like here since most apps use gtk only from a single threat.

Not sure we can do much to fix this, short of making rhythmbox defer all rb_error_dialog calls to an idle.

Comment 4 Bug Zapper 2009-11-16 12:42:51 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Bastien Nocera 2009-12-08 17:49:20 UTC
*** Bug 545097 has been marked as a duplicate of this bug. ***

Comment 6 Karel Klíč 2010-05-25 09:05:32 UTC
*** Bug 590382 has been marked as a duplicate of this bug. ***

Comment 7 Bug Zapper 2010-11-04 09:54:09 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 8 Bug Zapper 2010-12-04 07:40:42 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.