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 576530 - gstreamer0.10-ffmpeg crashes gnome-settings-daemon
gstreamer0.10-ffmpeg crashes gnome-settings-daemon
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-libav
0.10.6
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-24 08:53 UTC by Sebastien Bacher
Modified: 2009-03-31 10:55 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
GST_DEBUG=2,ffmpeg:5 gnome-settings-daemon --no-daemon > gsd.log 2>&1 (292.74 KB, text/plain)
2009-03-25 08:03 UTC, Brian Rogers
Details
Backtrace of GST_REGISTRY_FORK=no gstreamer-properties --gst-disable-segtrap (6.66 KB, text/plain)
2009-03-31 09:47 UTC, Brian Rogers
Details

Description Sebastien Bacher 2009-03-24 08:53:30 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"
Comment 1 Edward Hervey 2009-03-24 09:37:06 UTC
Could you attach a debug log as such:

GST_DEBUG=2,ffmpeg:5 gnome-settings-daemon --no-daemon > log 2>&1
Comment 2 Sebastian Dröge (slomo) 2009-03-24 11:38:25 UTC
This very much looks like http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519489

Is this guy using some unsupported ffmpeg package?
Comment 3 Edward Hervey 2009-03-24 11:52:34 UTC
if he used the gstreamer-developers PPA OR if it uses the ffmpeg-0.5 shared libraries it's a supported version.
Comment 4 Brian Rogers 2009-03-25 07:57:13 UTC
My version of libavcodec is 3:0.svn20090303-1ubuntu4.
Comment 5 Brian Rogers 2009-03-25 08:03:05 UTC
Created attachment 131323 [details]
GST_DEBUG=2,ffmpeg:5 gnome-settings-daemon --no-daemon > gsd.log 2>&1
Comment 6 Edward Hervey 2009-03-25 09:24:06 UTC
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).
Comment 7 Sebastian Dröge (slomo) 2009-03-25 09:28:23 UTC
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
Comment 8 Sebastian Dröge (slomo) 2009-03-25 09:29:50 UTC
(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
Comment 9 Brian Rogers 2009-03-31 09:47:33 UTC
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...
Comment 10 Brian Rogers 2009-03-31 10:12:58 UTC
*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.
Comment 11 Brian Rogers 2009-03-31 10:23:22 UTC
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
Comment 12 Brian Rogers 2009-03-31 10:47:16 UTC
I rebuilt the package from source, and the problem went away. Looks like this was just a bad build.
Comment 13 Edward Hervey 2009-03-31 10:55:34 UTC
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