GNOME Bugzilla – Bug 576530
gstreamer0.10-ffmpeg crashes gnome-settings-daemon
Last modified: 2009-03-31 10:55:34 UTC
the bug has been opened on https://bugs.launchpad.net/bugs/347635 "version 0.10.6.2-1ubuntu2 installed, I get the following: $ gnome-settings-daemon --no-daemon ERROR: Caught a segmentation fault while loading plugin file: /usr/lib/gstreamer-0.10/libgstffmpeg.so http://launchpadlibrarian.net/24294508/valgrind.log ==7476== Invalid read of size 1 ==7476== at 0x10E64F50: gst_ffmpegdemux_register (gstffmpegdemux.c:1803) ==7476== by 0x10E4E626: plugin_init (gstffmpeg.c:143) ==7476== by 0x5D8DD36: gst_plugin_register_func (gstplugin.c:342) ==7476== by 0x5D8F1A6: gst_plugin_load_file (gstplugin.c:553) ==7476== by 0x5D98447: gst_registry_scan_path_level (gstregistry.c:906) ==7476== by 0x5D98773: gst_registry_scan_path (gstregistry.c:955) ==7476== by 0x5D51A63: scan_and_update_registry (gst.c:733) ==7476== by 0x5D52203: ensure_current_registry (gst.c:841) ==7476== by 0x5D53735: init_post (gst.c:1120) ==7476== by 0x648AE9F: g_option_context_parse (goption.c:1803) ==7476== by 0x50D3F81: gnome_program_parse_args (in /usr/lib/libgnome-2.so.0.2600.0) ==7476== by 0x50D50F2: (within /usr/lib/libgnome-2.so.0.2600.0) ==7476== Address 0x782f6f6964756100 is not stack'd, malloc'd or (recently) free'd"
Could you attach a debug log as such: GST_DEBUG=2,ffmpeg:5 gnome-settings-daemon --no-daemon > log 2>&1
This very much looks like http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519489 Is this guy using some unsupported ffmpeg package?
if he used the gstreamer-developers PPA OR if it uses the ffmpeg-0.5 shared libraries it's a supported version.
My version of libavcodec is 3:0.svn20090303-1ubuntu4.
Created attachment 131323 [details] GST_DEBUG=2,ffmpeg:5 gnome-settings-daemon --no-daemon > gsd.log 2>&1
this is interesting... has ubuntu removed libavformat ??? It's failing at the very first demuxer it tries. The only reason I can see for this is no libavformat present (which would be total crack btw).
Ok, that's essentially ffmpeg 0.5 then... "Attempting to handle ffmpeg demuxer plugin aac [ADTS AAC]" ^--- that's weird as ADTS AAC only has a muxer from what I saw in libavformat/adtsenc.c Could you try to get a backtrace of this crash and GST_REGISTRY_FORK=no? For this it would be nice if you could install the ffmpeg, libc, glib, gstreamer, gst-plugins-base and gst-ffmpeg debug symbols :) i.e. GST_REGISTRY_FORK=no gdb --args gnome-settings-daemon --no-daemon [wait until the crash] bt full
(In reply to comment #6) > this is interesting... has ubuntu removed libavformat ??? > > It's failing at the very first demuxer it tries. The only reason I can see for > this is no libavformat present (which would be total crack btw). Well, libavformat is there (otherwise the runtime dynamic linker would complain and it wouldn't try to register the aac demuxer). The problem is probably that the plugin or long_name of the plugin or something is invalid
Created attachment 131761 [details] Backtrace of GST_REGISTRY_FORK=no gstreamer-properties --gst-disable-segtrap Was slightly more convenient to do this with gstreamer-properties than to be killing my gnome-settings-daemon...
*first_iformat has valid data. *first_iformat->next has invalid data (a bunch of strings). Either the struct itself was overwritten, or the next pointer was set to point to the wrong place.
Oh, in fact, first_iformat->long_name = 0x7fd2a6e85036 "ADTS AAC" first_iformat->next = 0x7fd2a6e8503f "raw AC-3" first_iformat->next points to an address immediately after first_iformat->long_name
I rebuilt the package from source, and the problem went away. Looks like this was just a bad build.
The only reason I can see for this failure (according to Brian's findings) is that it's not using the 0.5 ffmpeg release, so we don't support it. Closing bug as WONTFIX