Rhythmbox seg faults after a few moments

Bug #45212 reported by Glyphobet
14
Affects Status Importance Assigned to Milestone
gstreamer0.10 (Ubuntu)
Fix Released
Medium
Ubuntu Desktop Bugs

Bug Description

Binary package hint: rhythmbox

$ rhythmbox

(rhythmbox:3494): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion
+`filename != NULL' failed

(rhythmbox:3494): Rhythmbox-WARNING **: Unable to load icon media-eject
Segmentation fault

Here is a gdb backtrace:

(no debugging symbols found)
<snip>
(no debugging symbols found)

(rhythmbox:3561): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion
+`filename != NULL' failed

(rhythmbox:3561): Rhythmbox-WARNING **: Unable to load icon media-eject
[New Thread -1247417424 (LWP 3565)]
[New Thread -1255810128 (LWP 3566)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1256248400 (LWP 3567)]
[Thread -1256248400 (LWP 3567) exited]
[New Thread -1256248400 (LWP 3568)]
[Thread -1256248400 (LWP 3568) exited]
[New Thread -1256248400 (LWP 3570)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread -1268778064 (LWP 3571)]
[New Thread -1277170768 (LWP 3572)]
[New Thread -1285563472 (LWP 3574)]
[Thread -1256248400 (LWP 3570) exited]
[New Thread -1256248400 (LWP 3575)]
[New Thread -1293956176 (LWP 3576)]
[New Thread -1302348880 (LWP 3577)]
[New Thread -1310741584 (LWP 3578)]
[New Thread -1319134288 (LWP 3579)]
[New Thread -1319134288 (LWP 3579)]
[New Thread -1327526992 (LWP 3580)]
[New Thread -1335919696 (LWP 3581)]
[New Thread -1344312400 (LWP 3582)]
[New Thread -1352705104 (LWP 3583)]
[New Thread -1361097808 (LWP 3584)]
[Thread -1277170768 (LWP 3572) exited]
[Thread -1285563472 (LWP 3574) exited]
[Thread -1268778064 (LWP 3571) exited]
[Thread -1302348880 (LWP 3577) exited]
[Thread -1310741584 (LWP 3578) exited]
[Thread -1319134288 (LWP 3579) exited]
[Thread -1361097808 (LWP 3584) exited]
[Thread -1293956176 (LWP 3576) exited]
[Thread -1335919696 (LWP 3581) exited]
[Thread -1327526992 (LWP 3580) exited]
[Thread -1256248400 (LWP 3575) exited]
[Thread -1352705104 (LWP 3583) exited]
[Thread -1344312400 (LWP 3582) exited]
(no debugging symbols found)
[New Thread -1335919696 (LWP 3585)]
[Thread -1335919696 (LWP 3585) exited]
[New Thread -1335919696 (LWP 3586)]
(no debugging symbols found)
[Thread -1335919696 (LWP 3586) exited]
[New Thread -1335919696 (LWP 3587)]
[New Thread -1310741584 (LWP 3588)]
[New Thread -1344312400 (LWP 3589)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1247417424 (LWP 3565)]
0xb7b74803 in gst_push_src_get_type () from /usr/lib/libgstbase-0.10.so.0
(gdb) bt
#0 0xb7b74803 in gst_push_src_get_type () from /usr/lib/libgstbase-0.10.so.0
#1 0xb7b2682f in gst_type_find_peek () from /usr/lib/libgstreamer-0.10.so.0
#2 0xb6c5732a in mpeg_ts_probe_headers ()
   from /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
#3 0xb7b26c63 in gst_type_find_factory_call_function ()
   from /usr/lib/libgstreamer-0.10.so.0
#4 0xb7b74c6b in gst_type_find_helper_get_range ()
   from /usr/lib/libgstbase-0.10.so.0
#5 0xb683d71b in gst_id3demux_get_type ()
   from /usr/lib/gstreamer-0.10/libgstid3demux.so
#6 0xb7b0dad3 in gst_pad_set_active () from /usr/lib/libgstreamer-0.10.so.0
#7 0xb7afc343 in gst_element_lost_state ()
   from /usr/lib/libgstreamer-0.10.so.0
#8 0xb7b06db4 in gst_iterator_fold () from /usr/lib/libgstreamer-0.10.so.0
#9 0xb7afc3e4 in gst_element_lost_state ()
   from /usr/lib/libgstreamer-0.10.so.0
#10 0xb7afc57b in gst_element_lost_state ()
   from /usr/lib/libgstreamer-0.10.so.0
#11 0xb7afc8ba in gst_element_lost_state ()
   from /usr/lib/libgstreamer-0.10.so.0
#12 0xb683dcf0 in gst_id3demux_get_type ()
   from /usr/lib/gstreamer-0.10/libgstid3demux.so
#13 0xb7afb9a8 in gst_element_continue_state ()
   from /usr/lib/libgstreamer-0.10.so.0
   from /usr/lib/libgstreamer-0.10.so.0
#14 0xb7afbfcd in gst_element_lost_state ()
   from /usr/lib/libgstreamer-0.10.so.0
#15 0xb7afaccc in gst_element_set_state () from /usr/lib/libgstreamer-0.10.so.0
#16 0xb6c6efd9 in ?? () from /usr/lib/gstreamer-0.10/libgstdecodebin.so
#17 0x08349dc0 in ?? ()
#18 0x00000003 in ?? ()
#19 0xb6c6decf in ?? () from /usr/lib/gstreamer-0.10/libgstdecodebin.so
#20 0x0858c970 in ?? ()
#21 0x00000000 in ?? ()

Revision history for this message
sam tygier (samtygier) wrote :

can you install the package rhythmbox-dbg and get another backtrace. thanks

Adam Petaccia (mighmos)
Changed in rhythmbox:
status: Unconfirmed → Needs Info
Revision history for this message
Glyphobet (glyphobet) wrote :
Download full text (4.2 KiB)

Ok, here's another backtrace with rhythmbox-dbg installed. Doesn't seem to make much difference, except this time it didn't print out a whole bunch of "(no debugging symbols found)"

On closer inspection, this actually looks like it may be a bug in gstreamer.

$ gdb rhythmbox
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) run --sync
Starting program: /usr/bin/rhythmbox --sync
[Thread debugging using libthread_db enabled]
[New Thread -1226368800 (LWP 10001)]

(rhythmbox:10001): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion `filename != NULL' failed

(rhythmbox:10001): Rhythmbox-WARNING **: Unable to load icon media-eject
[New Thread -1247650896 (LWP 10005)]
[New Thread -1256043600 (LWP 10006)]
[New Thread -1256465488 (LWP 10007)]
[Thread -1256465488 (LWP 10007) exited]
[New Thread -1256465488 (LWP 10008)]
[Thread -1256465488 (LWP 10008) exited]
[New Thread -1256465488 (LWP 10010)]
[New Thread -1269826640 (LWP 10011)]
[New Thread -1278219344 (LWP 10012)]
[New Thread -1286612048 (LWP 10013)]
[New Thread -1295004752 (LWP 10014)]
[New Thread -1303397456 (LWP 10015)]
[New Thread -1311790160 (LWP 10016)]
[New Thread -1320182864 (LWP 10017)]
[New Thread -1328575568 (LWP 10018)]
[New Thread -1336968272 (LWP 10019)]
[New Thread -1345360976 (LWP 10020)]
[Thread -1256465488 (LWP 10010) exited]
[Thread -1278219344 (LWP 10012) exited]
[Thread -1295004752 (LWP 10014) exited]
[Thread -1311790160 (LWP 10016) exited]
[Thread -1328575568 (LWP 10018) exited]
[Thread -1336968272 (LWP 10019) exited]
[Thread -1345360976 (LWP 10020) exited]
[Thread -1269826640 (LWP 10011) exited]
[Thread -1286612048 (LWP 10013) exited]
[Thread -1303397456 (LWP 10015) exited]
[Thread -1320182864 (LWP 10017) exited]
[New Thread -1320182864 (LWP 10022)]
[Thread -1320182864 (LWP 10022) exited]
[New Thread -1320182864 (LWP 10023)]
[Thread -1320182864 (LWP 10023) exited]
[New Thread -1320182864 (LWP 10024)]
[New Thread -1345360976 (LWP 10025)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1247650896 (LWP 10005)]
0xb7b81803 in gst_push_src_get_type () from /usr/lib/libgstbase-0.10.so.0
(gdb) bt
#0 0xb7b81803 in gst_push_src_get_type () from /usr/lib/libgstbase-0.10.so.0
#1 0xb7b3382f in gst_type_find_peek () from /usr/lib/libgstreamer-0.10.so.0
#2 0xb6c6432a in mpeg_ts_probe_headers ()
   from /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
#3 0xb7b33c63 in gst_type_find_factory_call_function ()
   from /usr/lib/libgstreamer-0.10.so.0
#4 0xb7b81c6b in gst_type_find_helper_get_range ()
   from /usr/lib/libgstbase-0.10.so.0
#5 0xb684a71b in gst_id3demux_get_type ()
   from /usr/lib/gstreamer-0.10/libgstid3demux.so
#6 0xb7b1aad3 in gst_pad_set_active () from /u...

Read more...

sam tygier (samtygier)
Changed in rhythmbox:
status: Needs Info → Unconfirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Could you run "rhythmbox -d" and notice if it chockes on a special song or something else? Could you a backtrace with libgstreamer0.10-0-dbg gstreamer0.10-plugins-good-dbg installed? Could you try to run "gst-launch-0.10 -t filesrc location=/path/to/my/musicfile.ogg ! decodebin ! fakesink" on the problematic file and note if that works fine?

Changed in rhythmbox:
assignee: nobody → desktop-bugs
status: Unconfirmed → Needs Info
Revision history for this message
Glyphobet (glyphobet) wrote :
Download full text (5.0 KiB)

Running rhythmbox -d produces lots of output, but it seems to be dying while loading songs, but on a different song each time.

Here's a backtrace with libgstreamer0.10-0-dbg and gstreamer0.10-plugins-good-dbg installed.

$ gdb rhythmbox
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/rhythmbox
[Thread debugging using libthread_db enabled]
[New Thread -1225754400 (LWP 2082)]

(rhythmbox:2082): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion `filename != NULL' failed

(rhythmbox:2082): Rhythmbox-WARNING **: Unable to load icon media-eject
[New Thread -1238582352 (LWP 2086)]
[New Thread -1246975056 (LWP 2087)]
[New Thread -1247511632 (LWP 2088)]
[New Thread -1255904336 (LWP 2089)]
[Thread -1247511632 (LWP 2088) exited]
[Thread -1255904336 (LWP 2089) exited]
[New Thread -1247511632 (LWP 2091)]
[New Thread -1255904336 (LWP 2092)]
[New Thread -1269826640 (LWP 2093)]
[New Thread -1278219344 (LWP 2095)]
[New Thread -1286612048 (LWP 2096)]
[New Thread -1295004752 (LWP 2097)]
[New Thread -1303397456 (LWP 2098)]
[New Thread -1311790160 (LWP 2099)]
[New Thread -1320182864 (LWP 2100)]
[New Thread -1328575568 (LWP 2101)]
[New Thread -1336968272 (LWP 2102)]

** (rhythmbox:2082): CRITICAL **: draw_box: assertion `height >= -1' failed
[Thread -1247511632 (LWP 2091) exited]
[Thread -1328575568 (LWP 2101) exited]
[Thread -1336968272 (LWP 2102) exited]
[Thread -1255904336 (LWP 2092) exited]
[Thread -1269826640 (LWP 2093) exited]
[Thread -1278219344 (LWP 2095) exited]
[Thread -1286612048 (LWP 2096) exited]
[Thread -1303397456 (LWP 2098) exited]
[Thread -1311790160 (LWP 2099) exited]
[Thread -1320182864 (LWP 2100) exited]
[Thread -1295004752 (LWP 2097) exited]
[New Thread -1295004752 (LWP 2103)]
[New Thread -1336968272 (LWP 2104)]
[Thread -1295004752 (LWP 2103) exited]
[Thread -1336968272 (LWP 2104) exited]
[New Thread -1336968272 (LWP 2105)]
[New Thread -1295004752 (LWP 2106)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1238582352 (LWP 2086)]
0xb7c18803 in helper_find_peek (data=0xb62ca2cc, offset=4, size=8)
    at gsttypefindhelper.c:114
114 gsttypefindhelper.c: No such file or directory.
        in gsttypefindhelper.c
(gdb) bt
#0 0xb7c18803 in helper_find_peek (data=0xb62ca2cc, offset=4, size=8)
    at gsttypefindhelper.c:114
#1 0xb7bca82f in gst_type_find_peek (find=0xb62ca2ec, offset=3056378340,
    size=0) at gsttypefind.c:117
#2 0xb59e332a in mpeg_ts_probe_headers ()
   from /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
#3 0xb7bcac63 in gst_type_find_factory_call_function (factory=0x85cfd40,
    find=0xb62ca2ec) at gsttypefindfactory.c:243
#4 0xb7c18c6b in gst_type_find_helper_get_range (...

Read more...

Revision history for this message
Sebastien Bacher (seb128) wrote :

Could you get a backtrace with gst-launch-0.10?
- gdb --args gst-launch-0.10 -t filesrc file:///home/matt/path/to/file.mp3 ! decodebin ! fakesink
(gdb) run
... crash
(gdb) bt

Revision history for this message
Sebastian Dröge (slomo) wrote :

no progress since ~1 month so let's reject this bug for now

Changed in gstreamer0.10:
status: Needs Info → Rejected
Revision history for this message
Glyphobet (glyphobet) wrote :

Running it again, looks like it's dying because there are m4a files in one of the directories it scans on startup:

$ gdb --args gst-launch-0.10 -t filesrc 'file:///path/to/file/file.m4a'! decodebin ! fakesink
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/gst-launch-0.10 -t filesrc file:///path/to/file/file.m4a \! decodebin \! fakesink
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1212307776 (LWP 20135)]
Setting pipeline to PAUSED ...
[New Thread -1216918608 (LWP 20138)]
ERROR: Pipeline doesn't want to pause.

(gst-launch-0.10:20135): GStreamer-CRITICAL **: gst_message_parse_error: assertion `G_VALUE_TYPE (error_gvalue) == GST_TYPE_G_ERROR' failed
ERROR: from element /pipeline0/filesrc0: 
*** glibc detected *** double free or corruption (out): 0x0809fae0 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread -1212307776 (LWP 20135)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7d4a9a1 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7d4c2b9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7d7e87a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xb7d84fd4 in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7d8534a in free () from /lib/tls/i686/cmov/libc.so.6
#6 0xb7e8deec in g_free () from /usr/lib/libglib-2.0.so.0
#7 0xb7e79418 in g_error_free () from /usr/lib/libglib-2.0.so.0
#8 0x0804a7b7 in _start ()

Revision history for this message
Sebastian Dröge (slomo) wrote :

Try using "thread apply all bt" instead of only "bt" and attach the output here... also could you upload the file? Or does this happen with all m4a files for you?

Changed in gstreamer0.10:
status: Rejected → Unconfirmed
Revision history for this message
Glyphobet (glyphobet) wrote :

Here's thread apply all bt (I left gdb running, so it's from the same invocation of the program as the above backtrace)

(gdb) thread apply all bt

Thread 2 (Thread -1216918608 (LWP 20138)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7e58c76 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7f7ffae in gst_task_func (task=0x813ae40, tclass=0x8140bb8)
    at gsttask.c:181
#3 0xb7ea4448 in g_thread_pool_free () from /usr/lib/libglib-2.0.so.0
#4 0xb7ea25a2 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#5 0xb7e56341 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6 0xb7deb4ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1212307776 (LWP 20135)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7d4a9a1 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7d4c2b9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7d7e87a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xb7d84fd4 in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7d8534a in free () from /lib/tls/i686/cmov/libc.so.6
#6 0xb7e8deec in g_free () from /usr/lib/libglib-2.0.so.0
#7 0xb7e79418 in g_error_free () from /usr/lib/libglib-2.0.so.0
#8 0x0804a7b7 in _start ()

Revision history for this message
Glyphobet (glyphobet) wrote :

It appears to crash on a different, random file each time. Sometimes it is a mp3, sometimes an m4a. I just tried it four times -- it died on four different files, three mp3s and one m4a.

I am not the copyright owner of the music files that I have so I cannot upload them. Sorry.

Revision history for this message
Kees Cook (kees) wrote :

The crash above in the id3 stream code is probably a duplicate of bug 60146.

Revision history for this message
Daniel Holbach (dholbach) wrote :

If so, it should be fixed with Edgy now. Does anyboyd still have the issue? (The backtraces don't fit, though.)

Revision history for this message
Glyphobet (glyphobet) wrote :

I still have exactly the same issue on dapper. I will upgrade to edgy as soon as it is released, so I can test this for you on edgy at that point. I realize that's not super helpful, but I can't really risk testing a beta release on this machine as it is my only machine right now.

Revision history for this message
Sebastian Dröge (slomo) wrote :

Let's assume that this is fixed then in edgy and close this bug for now...

Changed in gstreamer0.10:
status: Unconfirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.