Bug 343561

Summary: rhythmbox segfaults on exit
Product: [Fedora] Fedora Reporter: ritz <rkhadgar>
Component: libsoupAssignee: Matthew Barnes <mbarnes>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: bnocera, katzj, sundaram, wwoods
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-29 20:42:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 235703    
Attachments:
Description Flags
dbus monitor logs none

Description ritz 2007-10-19 22:32:17 UTC
Description of problem:
  Unable to exit rhythmbox.

Version-Release number of selected component (if applicable):
  gtk2-2.12.1-2.fc8
  glib2-2.14.2-1.fc8
  rhythmbox-0.11.2-9.fc8

How reproducible:
  always

Steps to Reproduce:
  1. Open rb
  2. Open a podcast, and play the same
  3. Click on "Close" button, or use "Music->Quit"
  4. rb segfaults and opens up again.
  
Actual results:
  rb dies :(

Expected results:
  rb should exit

Additional info:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208752352 (LWP 17990)]
(gdb) thread apply all bt

Thread 1 (Thread -1208752352 (LWP 17990)):
#0  0x007a98c2 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#1  0x00a5910c in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#2  0x00a5c54f in ?? () from /lib/libglib-2.0.so.0
#3  0x00a5c8f9 in g_main_loop_run () from /lib/libglib-2.0.so.0
#4  0x004b7ae4 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#5  0x08060eee in main ()
(gdb) quit

Workaround:
  killall -9 rhythmbox.

Comment 1 ritz 2007-10-19 22:42:03 UTC
Created attachment 233181 [details]
dbus monitor logs

seen from the logs

method call sender=:1.44 -> dest=org.freedesktop.DBus
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='error'"
method call sender=:1.43 -> dest=org.gnome.SettingsDaemon
path=/org/gnome/SettingsDaemon; interface=org.gnome.SettingsDaemon;
member=GrabMediaPlayerKeys
   string "Rhythmbox"
   uint32 0

Comment 2 ritz 2007-10-19 22:44:58 UTC
bt posted on upstream bugzilla : http://bugzilla.gnome.org/show_bug.cgi?id=488444


Comment 3 Bastien Nocera 2007-10-20 00:22:02 UTC
Please get a proper backtrace from the crash (all threads, debugging symbols).
See http://fedoraproject.org/wiki/StackTraces for details.

Comment 4 ritz 2007-10-20 19:29:17 UTC
(gdb) where
#0  gdk_event_dispatch (source=0x9c47860, callback=0, user_data=0x0) at
gdkevents-x11.c:2356
#1  0x00b0010c in IA__g_main_context_dispatch (context=0x9c48488) at
gmain.c:2061
#2  0x00b0354f in g_main_context_iterate (context=0x9c48488, block=1,
dispatch=1, self=0x9b63478) at gmain.c:2694
#3  0x00b038f9 in IA__g_main_loop_run (loop=0xa3a0b28) at gmain.c:2898
#4  0x06eb7ae4 in IA__gtk_main () at gtkmain.c:1146
#5  0x08060eee in main ()
(gdb) fram 5
#5  0x08060eee in main ()
(gdb) list
2351            (*_gdk_event_func) (event, _gdk_event_data);
2352          
2353          gdk_event_free (event);
2354        }
2355      
2356      GDK_THREADS_LEAVE ();
2357
2358      return TRUE;
2359    }
2360

Comment 5 ritz 2007-10-20 19:30:14 UTC
additionally, I moved all plugins out of tree

 $ mv /usr/lib/rhythmbox /tmp

started rb, and clicked on close. rb still segfaulted and opened up again :(



Comment 6 Bastien Nocera 2007-10-22 15:52:44 UTC
Are you exiting in the middle of the initial "scanning" (see the status bar)?
Could you also get the backtrace for the other threads using "threads apply all bt"?

Comment 7 ritz 2007-10-22 19:02:44 UTC
curious, why does rb restart, and what does restart rb ?

w.r.t. bug, my bad, traced this to gstreamer-plugins-ugly package.
on removing a file, this issue was not seen anymore.

the issue was with rb-metadata segfaulting.

Oct 22 23:58:46 localhost kernel: rhythmbox-metad[8797]: segfault at 00000000
eip 00000000 esp b7355f6c error 4

(gdb) thread apply all bt

Thread 3 (process 9481):
#0  0x00110402 in __kernel_vsyscall ()
#1  0x008b2ac3 in poll () from /lib/libc.so.6
#2  0x00b03583 in g_main_context_iterate (context=0x8c470b0, block=1,
dispatch=1, self=0x8c34460) at gmain.c:2996
#3  0x00b038f9 in IA__g_main_loop_run (loop=0x8d0a788) at gmain.c:2898
#4  0x074d3d29 in gst_bus_poll (bus=0x8c44c68, events=GST_MESSAGE_ANY,
timeout=1000000000) at gstbus.c:935
#5  0x0804ff77 in rb_metadata_load (md=0x8c42070, uri=0x8c43e80
"file:///mnt/NotBackedUp/music/expendable/Real/fonny.ram", 
    error=0xbff03aa0) at rb-metadata-gst.c:995
#6  0x0804db4c in _handle_message (connection=0x8c46d80, message=0x8c43cc8,
data=0xbff03d14)
    at rb-metadata-dbus-service.c:117
#7  0x003e610b in ?? () from /lib/libdbus-1.so.3
#8  0x003d86f3 in dbus_connection_dispatch () from /lib/libdbus-1.so.3
#9  0x00581e7d in ?? () from /usr/lib/libdbus-glib-1.so.2
#10 0x00b0010c in IA__g_main_context_dispatch (context=0x8c470b0) at gmain.c:2061
#11 0x00b0354f in g_main_context_iterate (context=0x8c470b0, block=1,
dispatch=1, self=0x8c34460) at gmain.c:2694
#12 0x00b038f9 in IA__g_main_loop_run (loop=0x8c4ab28) at gmain.c:2898
#13 0x0804d489 in main (argc=Cannot access memory at address 0x3
) at rb-metadata-dbus-service.c:502
#14 0x007ff390 in __libc_start_main () from /lib/libc.so.6
#15 0x0804d0b1 in _start ()

Thread 2 (process 9483):
#0  0x00110402 in __kernel_vsyscall ()
#1  0x0097f5d5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x002ed3df in gst_queue_chain (pad=0x8d06708, buffer=0x8d3a248) at
gstqueue.c:876
#3  0x074f5929 in gst_pad_chain_unchecked (pad=0x8d06708, buffer=0x8d3a248) at
gstpad.c:3453
#4  0x074f5fe2 in gst_pad_push (pad=0x8d06648, buffer=0x8d3a248) at gstpad.c:3621
#5  0x0034ed8f in ?? () from /usr/lib/gstreamer-0.10/libgstrmdemux.so
#6  0x003500b2 in ?? () from /usr/lib/gstreamer-0.10/libgstrmdemux.so
#7  0x00350b05 in ?? () from /usr/lib/gstreamer-0.10/libgstrmdemux.so
#8  0x0750ff76 in gst_task_func (task=0x8d195f8, tclass=0x8d2d100) at gsttask.c:192
#9  0x00b25268 in g_thread_pool_thread_proxy (data=0x8d2b9d8) at gthreadpool.c:265
#10 0x00b236df in g_thread_create_proxy (data=0x8d2d220) at gthread.c:635
#11 0x0097b50b in start_thread () from /lib/libpthread.so.0
#12 0x008bcb2e in clone () from /lib/libc.so.6

Thread 1 (process 9484):
#0  0x00000000 in ?? ()
#1  0x0035ad60 in ?? () from /usr/lib/gstreamer-0.10/libgstreal.so
#2  0x074f42b7 in gst_pad_set_caps (pad=0x8d2f8c8, caps=0x8cf24c0) at gstpad.c:2363
#3  0x074f59f1 in gst_pad_chain_unchecked (pad=0x8d2f8c8, buffer=0x8d2e510) at
gstpad.c:2417
#4  0x074f5fe2 in gst_pad_push (pad=0x8d2f808, buffer=0x8d2e510) at gstpad.c:3621
#5  0x002ebef8 in gst_queue_loop (pad=0x8d2f808) at gstqueue.c:932
#6  0x0750ff76 in gst_task_func (task=0x8d2e0b8, tclass=0x8d2d100) at gsttask.c:192
#7  0x00b25268 in g_thread_pool_thread_proxy (data=0x8d2b9d8) at gthreadpool.c:265
#8  0x00b236df in g_thread_create_proxy (data=0x8d356d8) at gthread.c:635
#9  0x0097b50b in start_thread () from /lib/libpthread.so.0
#10 0x008bcb2e in clone () from /lib/libc.so.6
(gdb) 

Comment 8 Bastien Nocera 2007-10-28 12:08:43 UTC
Please file another bug for the rhythmbox-metadata crash, it's a GStreamer issue
(and looks like a gstreamer-plugins-ugly issue, in the real plugin).

The problem was identified upstream as a crasher in libsoup, so moving there.

Comment 9 Bastien Nocera 2007-10-28 12:20:19 UTC
Adding to the blockers, as the crash reflects badly on Rhythmbox, and a patch is
available upstream to fix it.

Comment 10 Jeremy Katz 2007-10-28 19:54:35 UTC
Building the upstream 2.2.103 which looks like it has this fix included as well
as another crasher.  Will request tagging as well

A quick test with it works for me, but leaving in MODIFIED for someone else to
verify as well.

Comment 11 Rahul Sundaram 2007-10-28 22:27:22 UTC
Ritesh,

Can you confirm whether the latest build fixes the problem for you? If you don't
get as an update in the repository yet, you can get it off
http://koji.fedoraproject.org. 

Comment 12 Will Woods 2007-10-29 20:28:28 UTC
Seems to work in my testing. Ritesh, can you confirm? You can get the updated
rhythmbox package here:

http://koji.fedoraproject.org/koji/buildinfo?buildID=22701

Comment 13 Jeremy Katz 2007-10-29 20:42:07 UTC
Based on two positive tests, bumping this to closed.

Ritesh -- if you still experience problems, please reopen the report

Comment 14 ritz 2007-10-31 06:15:02 UTC
fixed :)