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 330088 - Xlib: unexpected async reply (caught eos) when importing (.9.3.1)
Xlib: unexpected async reply (caught eos) when importing (.9.3.1)
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
0.8.11
Other All
: High critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-02-06 09:40 UTC by Waldo
Modified: 2006-03-28 19:27 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Waldo 2006-02-06 09:40:19 UTC
Steps to reproduce:
1. clean out old settings from .gconf and .gnome2
2. re-import /Music folder...
3. watch it crash


Stack trace:
Example #1:

[0x606580] [rhythmdb_process_events] rhythmdb.c:1674 (01:25:20): processing
RHYTHMDB_EVENT_STAT
[0x606580] [rhythmdb_process_stat_event] rhythmdb.c:1486 (01:25:20): queuing a
RHYTHMDB_ACTION_LOAD:
file:///home/waldo/Music/Malignus%20Youth/Ephemeral%201989-1994/16%20Ak-%2047.mp3
[0x606580] [rhythmdb_process_events] rhythmdb.c:1674 (01:25:20): processing
RHYTHMDB_EVENT_STAT
[0x606580] [rhythmdb_process_stat_event] rhythmdb.c:1486 (01:25:20): queuing a
RHYTHMDB_ACTION_LOAD:
file:///home/waldo/Music/Malignus%20Youth/Ephemeral%201989-1994/05%20Cartoon%20Death.mp3
[0x7c5830] [rb_metadata_gst_eos_cb] rb-metadata-gst.c:547 (01:25:25): caught eos

(rhythmbox:8290): Rhythmbox-WARNING **: caught eos without handoff!
*** glibc detected *** free(): invalid next size (normal): 0x00000000010a7370 ***
Xlib: unexpected async reply (sequence 0x1a69a)!
Killed

Example #2:

[0x606580] [rhythmdb_process_stat_event] rhythmdb.c:1486 (01:31:07): queuing a
RHYTHMDB_ACTION_LOAD: file:///home/waldo/Music/Bad%20Religion/Suffer/09%20Suffer.mp3
[0x606580] [rhythmdb_process_events] rhythmdb.c:1674 (01:31:07): processing
RHYTHMDB_EVENT_STAT
[0x606580] [rhythmdb_process_stat_event] rhythmdb.c:1486 (01:31:07): queuing a
RHYTHMDB_ACTION_LOAD: file:///home/waldo/Music/Bad%20Religion/Suffer/04%20When_.mp3
[0x606580] [rhythmdb_process_events] rhythmdb.c:1674 (01:31:07): processing
RHYTHMDB_EVENT_STAT
[0x606580] [rhythmdb_process_stat_event] rhythmdb.c:1486 (01:31:07): queuing a
RHYTHMDB_ACTION_LOAD:
file:///home/waldo/Music/Bad%20Religion/Suffer/06%20Land%20Of%20Competition.mp3
[0x606580] [rhythmdb_process_events] rhythmdb.c:1674 (01:31:07): processing
RHYTHMDB_EVENT_STAT
[0x606580] [rhythmdb_process_stat_event] rhythmdb.c:1486 (01:31:07): queuing a
RHYTHMDB_ACTION_LOAD:
file:///home/waldo/Music/Bad%20Religion/Suffer/14%20Part%20IV%20(The%20Index%20Fossil).mp3
[0x606580] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:749
(01:31:07): saving the playlists
[0x606580] [rb_playlist_manager_save_playlists_async] rb-playlist-manager.c:792
(01:31:07): no save needed, ignoring
[0x7c5830] [rb_metadata_gst_eos_cb] rb-metadata-gst.c:547 (01:31:12): caught eos

(rhythmbox:9565): Rhythmbox-WARNING **: caught eos without handoff!
*** glibc detected *** free(): invalid next size (normal): 0x00000000010ad360 ***
Xlib: unexpected async reply (sequence 0x2e177)!



Other information:

The above is output from rhythmbox -d

This is an amd64 machine.  Crashes seem to happen at different points in the
import.  At that point, it locks up and must be force quit

Questions?  Just ask...
Comment 1 Alex Lancaster 2006-02-06 09:48:11 UTC
That's not a real stack trace, just a the debug trace.  This may be just a warning from gstreamer.  I think 0.9.3.1 fixed critical warnings to be just warnings rather than be fatal.  Can you try 0.9.3.1?
Comment 2 Alex Lancaster 2006-02-06 09:50:14 UTC
It looks like from the summary that you may be running 0.9.3.1.  Can run it under gdb?
Comment 3 James "Doc" Livingston 2006-02-06 13:12:52 UTC
This kind of thing usually turns out to be a gstreamer problem, what versions of gstreamer and gst-plugins do you have?

Also, a backtracke would be very handy as Alex mentioned, see http://live.gnome.org/GettingTraces for more information on how to do so.
Comment 4 Waldo 2006-02-06 18:41:09 UTC
Sorry about the backtrace-- I tried using gdb but the thing split into multiple threads and after I typed "run" (and numerous continues) it just kinda sat there, not doing anything.  I think it was trying to put the notification icon in the bar at the bottom at the time.  So I didn't know what to do, or how to get past that... (suggestions are appreciated).  There is no real "crash", just a freeze, so it's not going to trigger the bug notification tool.

As far as gstreamer & gst-plugins...

gstreamer:        Latest version installed: 0.8.11


The various versions of gst-plugins I've got installed are all 0.8.11.  I can make a list of which I'm using if it would help.

Thanks for the quick response,
W
Comment 5 Alex Lancaster 2006-02-06 19:38:04 UTC
For the gdb thread problem, create the file ~/.gdbinit and put the following in it:

handle SIG33 nostop noprint

That keeps it going as it spawns threads, then do the usual invocation of gdb .
Comment 6 Waldo 2006-02-07 00:40:56 UTC
okay... so I did that, ran rhythmbox, went to reload my ~/Music folder, and got the error..  Then did "thread apply all bt" as instructed.  Here's the result...

(ran it..)
.
.
.
[New Thread 1107843424 (LWP 9918)]
[New Thread 1108109664 (LWP 9919)]
[New Thread 1099184480 (LWP 9920)]
[Thread 1099184480 (LWP 9920) exited]
[New Thread 1099184480 (LWP 9957)]
[Thread 1099184480 (LWP 9957) exited]
[New Thread 1099184480 (LWP 9994)]
[Thread 1099184480 (LWP 9994) exited]

(rhythmbox:9852): Rhythmbox-WARNING **: caught eos without handoff!
*** glibc detected *** free(): invalid next size (normal): 0x00000000010a27d0 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 1082132832 (LWP 9873)]
0x00002aaab00f3839 in raise () from /lib/libc.so.6
(gdb) thread apply all bt

Thread 2 (Thread 1082132832 (LWP 9873))

  • #0 raise
    from /lib/libc.so.6
  • #1 abort
    from /lib/libc.so.6
  • #2 __fsetlocking
    from /lib/libc.so.6
  • #3 malloc_usable_size
    from /lib/libc.so.6
  • #4 free
    from /lib/libc.so.6
  • #5 gst_ffmpegdeinterlace_register
    from /usr/lib64/gstreamer-0.8/libgstffmpeg.so
  • #6 gst_ffmpegdeinterlace_register
    from /usr/lib64/gstreamer-0.8/libgstffmpeg.so
  • #7 gst_ffmpegdeinterlace_register
    from /usr/lib64/gstreamer-0.8/libgstffmpeg.so
  • #8 gst_ffmpeg_img_convert
    from /usr/lib64/gstreamer-0.8/libgstffmpeg.so
  • #9 gst_ffmpeg_img_convert
    from /usr/lib64/gstreamer-0.8/libgstffmpeg.so
  • #10 gst_element_wait_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #11 gst_element_set_state
    from //usr/lib/libgstreamer-0.8.so.1
  • #12 gst_element_get_factory
    from //usr/lib/libgstreamer-0.8.so.1
  • #13 g_object_unref
    from //usr/lib/libgobject-2.0.so.0
  • #14 ??
    from /usr/lib64/gstreamer-0.8/libgstdecodebin.so
  • #15 g_closure_invoke
    from //usr/lib/libgobject-2.0.so.0
  • #16 g_signal_has_handler_pending
    from //usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from //usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from //usr/lib/libgobject-2.0.so.0
  • #19 gst_pad_unlink
    from //usr/lib/libgstreamer-0.8.so.1
  • #20 gst_element_remove_pad
    from //usr/lib/libgstreamer-0.8.so.1
  • #21 ??
    from /usr/lib64/gstreamer-0.8/libgstqtdemux.so
  • #22 gst_element_wait_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #23 gst_element_set_state
    from //usr/lib/libgstreamer-0.8.so.1
  • #24 gst_bin_child_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #25 gst_bin_child_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #26 gst_bin_child_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #27 ??
    from /usr/lib64/gstreamer-0.8/libgstdecodebin.so
  • #28 gst_element_wait_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #29 gst_bin_set_state
    from //usr/lib/libgstreamer-0.8.so.1
  • #30 gst_element_set_state
    from //usr/lib/libgstreamer-0.8.so.1
  • #31 gst_bin_child_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #32 gst_bin_child_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #33 gst_bin_child_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #34 gst_element_wait_state_change
    from //usr/lib/libgstreamer-0.8.so.1
  • #35 gst_bin_set_state
    from //usr/lib/libgstreamer-0.8.so.1
  • #36 gst_element_set_state
    from //usr/lib/libgstreamer-0.8.so.1
  • #37 rb_metadata_load
  • #38 rhythmdb_entry_is_editable
  • #39 rhythmdb_entry_get
  • #40 g_static_private_free
    from //usr/lib/libglib-2.0.so.0
  • #41 start_thread
    from /lib/libpthread.so.0
  • #42 clone
    from /lib/libc.so.6
  • #43 ??

Comment 7 James "Doc" Livingston 2006-02-07 08:00:06 UTC
This is a gstreamer-ffmpeg issue. None of the exist bugs appear to be a duplicate from the stack trace, but I wouldn't be suprised if it was.
Comment 8 Alex Lancaster 2006-02-07 08:35:42 UTC
Switching to gstreamer-ffmpeg 0.8.x (since you are using gstreamer 0.8, it would have to be one of the 0.8 series of plugins).  It would help the gstreamer people if you could supply the exact versions of your core libraries and plugins, an easy way:

$ rpm -qa|grep gstreamer
Comment 9 Alex Lancaster 2006-02-07 08:38:53 UTC
I think you said 0.8.11 of the plugins but the most recent gstreamer-ffmpeg appears to be only 0.8.7, at (assuming you are using Fedora):

http://gstreamer.freedesktop.org/pkg/fedora/4/i386/RPMS.gst/

Anyway switching to 0.8.11 because that's the core version of gst you have anyway.
Comment 10 Andy Wingo 2006-02-07 11:39:53 UTC
Hi Waldo,

You appear to have captured a very rare bug, inasmuch as I haven't seen this before. Perhaps you compiled ffmpeg yourself, with more aggressive options? In any case we don't have the resources to fix something like this. Please try with rhythmbox compiled against GStreamer 0.10 and see if you have problems there. If so, please open a new bug. Thanks.
Comment 11 James "Doc" Livingston 2006-02-07 11:45:34 UTC
I actually think I've seen one of these reported before, and it was ffmpeg choking on a jpeg file.

Waldo: Installing whichever Fedora package provides the "jpegdec" element, may stop it crashing.