[FFmpeg-devel] [PATCH] avformat: Add image3 demuxers with format autodetection

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Tue Jul 22 02:12:26 CEST 2014


On 21.07.2014 23:18, Carl Eugen Hoyos wrote:
> Andreas Cadhalpun <andreas.cadhalpun <at> googlemail.com> writes:
>
>> This patch has a strange side effect. With it gst-libav1.0
>> (version 1.3.2) gets compiled incorrectly so that when the
>> plugin is loaded by gstreamer it segfaults:
>> ERROR: Caught a segmentation fault while loading plugin file:
>
> Please provide a backtrace.

Attached.

The problem is that in_plugin->long_name is a null pointer.

You can find the source code here:
http://sources.debian.net/src/gst-libav1.0/1.3.2-1/ext/libav/gstavdemux.c?hl=1942#L1942

Best regards,
Andreas
-------------- next part --------------
gdb -ex run -ex bt -ex "print in_plugin->long_name" -ex continue -ex quit --args /usr/bin/gst-codec-info-1.0 /tmp/buildd/gst-libav1.0-1.3.2/debian/tmp//usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so
GNU gdb (Debian 7.7.1-2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/gst-codec-info-1.0...Reading symbols from /usr/lib/debug/.build-id/a9/31c8248cc61a103e0f6146857c6f8ae4a948e4.debug...done.
done.
Starting program: /usr/bin/gst-codec-info-1.0 /tmp/buildd/gst-libav1.0-1.3.2/debian/tmp//usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff601202c in gst_ffmpegdemux_register (plugin=0x62c2c0)
    at gstavdemux.c:1942
1942	    if (!strncmp (in_plugin->long_name, "raw ", 4) ||
#0  0x00007ffff601202c in gst_ffmpegdemux_register (plugin=0x62c2c0)
    at gstavdemux.c:1942
#1  0x00007ffff5ff5e10 in plugin_init (plugin=0x62c2c0) at gstav.c:141
#2  0x00007ffff73d7a17 in gst_plugin_register_func (plugin=0x62c2c0, 
    desc=0x7ffff6223dc0 <gst_plugin_desc>, user_data=0x0) at gstplugin.c:522
#3  0x00007ffff73d9822 in gst_plugin_load_file (
    filename=0x7fffffffe4bd "/tmp/buildd/gst-libav1.0-1.3.2/debian/tmp//usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so", error=0x7fffffffe038)
    at gstplugin.c:817
#4  0x0000000000401a0b in main (argc=<optimized out>, argv=<optimized out>)
    at debian/gst-codec-info.c:434
$1 = 0x0
Continuing.

ERROR: Caught a segmentation fault while loading plugin file:
/tmp/buildd/gst-libav1.0-1.3.2/debian/tmp//usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap --gst-disable-registry-fork and debug.
[Inferior 1 (process 26953) exited with code 0377]



More information about the ffmpeg-devel mailing list