Bug#640514: [vlc] libavformat segfault on junk file

Daniel C. Klauer daniel.c.klauer at web.de
Mon Sep 5 12:47:31 UTC 2011


Package: vlc
Version: 1.1.11-2+b3
Severity: normal

Since the upgrade to this version of vlc it crashes when trying to
open/play/check the format of certain junk files:

$ gdb --args vlc -vvv test0.junk
[...]
Starting program: /usr/bin/vlc -vvv test0.junk
[...]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb795cb70 (LWP 4232)]
0xb4550239 in av_open_input_stream (ic_ptr=0xb7721654, pb=0xb77215f0,
    filename=0x80e2bb0 "/home/daniel/test0.junk", fmt=0xb4589160,
    ap=<optimized out>)
    at
/build/buildd-libav_0.7.1-4-i386-XItEB1/libav-0.7.1/libavformat/utils.c:469
469   
/build/buildd-libav_0.7.1-4-i386-XItEB1/libav-0.7.1/libavformat/utils.c:
No such file or directory.
    in
/build/buildd-libav_0.7.1-4-i386-XItEB1/libav-0.7.1/libavformat/utils.c
(gdb) bt
#0  0xb4550239 in av_open_input_stream (ic_ptr=0xb7721654, pb=0xb77215f0,
    filename=0x80e2bb0 "/home/daniel/test0.junk", fmt=0xb4589160,
    ap=<optimized out>)
    at
/build/buildd-libav_0.7.1-4-i386-XItEB1/libav-0.7.1/libavformat/utils.c:469
#1  0xb4fa25b7 in OpenDemux (p_this=0x80e2d4c) at demux.c:220
#2  0xb7f4d1b0 in module_need (p_this=0x80e2d4c,
    psz_capability=0xb7f8c3c6 "demux", psz_name=<optimized out>,
b_strict=true)
    at modules/modules.c:559
#3  0xb7ef7d2e in __demux_New (p_obj=0x80faffc, p_parent_input=0x80faffc,
    psz_access=0x80e04c8 "file", psz_demux=0xb7f942a5 "",
    psz_path=0x80e2a88 "/home/daniel/test0.junk", s=0x80e2a2c,
out=0x80e0318,
    b_quick=true) at input/demux.c:169
#4  0xb7f06a1e in InputSourceInit (p_input=0x80faffc, in=<optimized out>,
    psz_mrl=0x80f4180 "file:///home/daniel/test0.junk",
psz_forced_demux=0x0,
    b_in_can_fail=false) at input/input.c:2603
#5  0xb7f07da9 in Init (p_input=<optimized out>) at input/input.c:1244
#6  0xb7f0991e in input_Preparse (p_parent=0x80f7f1c, p_item=0x80f6b88)
    at input/input.c:201
#7  0xb7ee5359 in Preparse (p_item=0x80f6b88, p_playlist=<optimized out>)
    at playlist/preparser.c:140
#8  Thread (data=0x80f7df8) at playlist/preparser.c:220
#9  0xb7e9cc39 in start_thread (arg=0xb795cb70) at pthread_create.c:304
#10 0xb7e0596e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind
further

(This is with vlc-dbg and libav-dbg installed)

Attached are vlc -vvv logs and two small junk files that each causes
this crash (with slightly different vlc -vvv output, but that might also
be caused by the multi-threading). The junk files are derived from a
bigger *.asd file (generated by the Ableton Live software) which was
present in the vlc playlist and triggered the crash during vlc's file
scan (for meta-data I think).

It should be noted that this crash does not happen with ffplay, or
ffprobe, and I cannot tell whether it is a vlc or libav issue:

$ ffplay test0.junk
[...]
[dv @ 0x9975120] Format detected only with low score of 25, misdetection
possible!
[dv @ 0x9975120] Can't determine profile of DV input stream.
test0.junk: Operation not permitted


--- System information. ---
Architecture: i386
Kernel: Linux 3.0.0-1-686-pae

Debian Release: wheezy/sid
500 unstable ftp.de.debian.org
500 testing security.debian.org
500 testing ftp.de.debian.org
500 stable security.debian.org
500 stable ftp.de.debian.org

--- Package information. ---
Depends (Version) | Installed
================================================-+-=======================
ttf-freefont | 20100919-1
vlc-nox (= 1.1.11-2+b3) | 1.1.11-2+b3
libaa1 (>= 1.4p5) | 1.4p5-38+b1
libavcodec53 (>= 4:0.7-1) | 4:0.7.1-4
OR libavcodec-extra-53 (>= 4:0.7-1) |
libavutil51 (>= 4:0.7-1) | 4:0.7.1-4
OR libavutil-extra-51 (>= 4:0.7-1) |
libc6 (>= 2.8) | 2.13-18
libfreetype6 (>= 2.2.1) | 2.4.6-2
libfribidi0 (>= 0.19.2) | 0.19.2-1
libgcc1 (>= 1:4.1.1) | 1:4.6.1-8
libgl1-mesa-glx | 7.11-5
OR libgl1 |
libqtcore4 (>= 4:4.7.0~beta1) | 4:4.7.3-7
libqtgui4 (>= 4:4.5.3) | 4:4.7.3-7
libsdl-image1.2 (>= 1.2.10) | 1.2.10-2.1
libsdl1.2debian (>= 1.2.10-1) | 1.2.14-6.4
libstdc++6 (>= 4.6) | 4.6.1-8
libtar0 | 1.2.11-8
libva-x11-1 (>> 1.0.12~) | 1.0.12-2
libva1 (>> 1.0.12~) | 1.0.12-2
libvlccore4 (>= 1.1.0) | 1.1.11-2+b3
libx11-6 | 2:1.4.4-1
libx11-xcb1 | 2:1.4.4-1
libxcb-keysyms1 (>= 0.3.8) | 0.3.8-1
libxcb-randr0 (>= 1.1) | 1.7-3
libxcb-shm0 | 1.7-3
libxcb-xv0 (>= 1.2) | 1.7-3
libxcb1 | 1.7-3
libxext6 | 2:1.3.0-3
libxpm4 | 1:3.5.9-1
zlib1g (>= 1:1.2.3.3.dfsg) | 1:1.2.3.4.dfsg-3
ttf-freefont | 20100919-1
vlc-nox (= 1.1.11-2+b3) | 1.1.11-2+b3
libaa1 (>= 1.4p5) | 1.4p5-38+b1
libavcodec53 (>= 4:0.7-1) | 4:0.7.1-4
OR libavcodec-extra-53 (>= 4:0.7-1) |
libavutil51 (>= 4:0.7-1) | 4:0.7.1-4
OR libavutil-extra-51 (>= 4:0.7-1) |
libc6 (>= 2.8) | 2.13-18
libfreetype6 (>= 2.2.1) | 2.4.6-2
libfribidi0 (>= 0.19.2) | 0.19.2-1
libgcc1 (>= 1:4.1.1) | 1:4.6.1-8
libgl1-mesa-glx | 7.11-5
OR libgl1 |
libqtcore4 (>= 4:4.7.0~beta1) | 4:4.7.3-7
libqtgui4 (>= 4:4.5.3) | 4:4.7.3-7
libsdl-image1.2 (>= 1.2.10) | 1.2.10-2.1
libsdl1.2debian (>= 1.2.10-1) | 1.2.14-6.4
libstdc++6 (>= 4.6) | 4.6.1-8
libtar0 | 1.2.11-8
libva-x11-1 (>> 1.0.12~) | 1.0.12-2
libva1 (>> 1.0.12~) | 1.0.12-2
libvlccore4 (>= 1.1.0) | 1.1.11-2+b3
libx11-6 | 2:1.4.4-1
libx11-xcb1 | 2:1.4.4-1
libxcb-keysyms1 (>= 0.3.8) | 0.3.8-1
libxcb-randr0 (>= 1.1) | 1.7-3
libxcb-shm0 | 1.7-3
libxcb-xv0 (>= 1.2) | 1.7-3
libxcb1 | 1.7-3
libxext6 | 2:1.3.0-3
libxpm4 | 1:3.5.9-1
zlib1g (>= 1:1.2.3.3.dfsg) | 1:1.2.3.4.dfsg-3
liba52-0.7.4 | 0.7.4-16
libasound2 (>> 1.0.24.1) | 1.0.24.1-3
libass4 (>= 0.9.7) | 0.9.13-1
libavahi-client3 (>= 0.6.16) | 0.6.30-5
libavahi-common3 (>= 0.6.16) | 0.6.30-5
libavc1394-0 (>= 0.5.3) | 0.5.3-1+b2
libavcodec53 (>= 4:0.7-1) | 4:0.7.1-4
OR libavcodec-extra-53 (>= 4:0.7-1) |
libavformat53 (>= 4:0.7-1) | 4:0.7.1-4
OR libavformat-extra-53 (>= 4:0.7-1) |
libavutil51 (>= 4:0.7-1) | 4:0.7.1-4
OR libavutil-extra-51 (>= 4:0.7-1) |
libc6 (>= 2.8) | 2.13-18
libcaca0 (>= 0.99.beta17-1) | 0.99.beta17-2
libcddb2 | 1.3.2-3
libcdio10 | 0.81-4
libdbus-1-3 (>= 1.0.2) | 1.4.14-1
libdc1394-22 | 2.1.3-4
libdca0 | 0.0.5-4
libdirac-encoder0 | 1.0.2-4
libdvbpsi7 (>= 0.2.0) | 0.2.0-1
libdvdnav4 | 4.1.3-7
libdvdread4 | 4.1.3-10
libebml3 | 1.2.1-1
libfaad2 | 2.7-7
libflac8 (>= 1.2.1) | 1.2.1-5
libfontconfig1 (>= 2.8.0) | 2.8.0-3
libfreetype6 (>= 2.2.1) | 2.4.6-2
libfribidi0 (>= 0.19.2) | 0.19.2-1
libgcc1 (>= 1:4.1.1) | 1:4.6.1-8
libgcrypt11 (>= 1.4.5) | 1.5.0-3
libgnutls26 (>= 2.12.6.1-0) | 2.12.10-1
libgpg-error0 (>= 1.10) | 1.10-0.3
libkate1 (>= 0.3.0) | 0.4.1-1
liblircclient0 | 0.9.0~pre1-1
liblua5.1-0 | 5.1.4-10
libmad0 (>= 0.15.1b-3) | 0.15.1b-6
libmatroska4 | 1.2.0-1
libmodplug1 | 1:0.8.8.2-3
libmpcdec6 (>= 1:0.1~r435) | 2:0.1~r459-1
libmpeg2-4 | 0.4.1-3
libmtp9 (>= 1.1.0) | 1.1.0-4
libncursesw5 (>= 5.6+20070908) | 5.9-1
libogg0 (>= 1.1.0) | 1.2.2~dfsg-1
libpng12-0 (>= 1.2.13-4) | 1.2.46-3
libpostproc52 (>= 4:0.7-1) | 4:0.7.1-4
OR libpostproc-extra-52 (>= 4:0.7-1) |
libproxy0 (>= 0.2.3) | 0.3.1-3
libraw1394-11 | 2.0.7-1
libschroedinger-1.0-0 (>= 1.0.7) | 1.0.10-2.1
libshout3 | 2.2.2-5+b1
libsmbclient (>= 3.0.24) | 2:3.5.11~dfsg-1
libspeex1 (>= 1.2~beta3-1) | 1.2~rc1-1
libstdc++6 (>= 4.6) | 4.6.1-8
libswscale2 (>= 4:0.7-1) | 4:0.7.1-4
OR libswscale-extra-2 (>= 4:0.7-1) |
libtag1c2a (>= 1.7) | 1.7-1
libtheora0 (>= 0.0.0.alpha7.dfsg) | 1.1.1+dfsg.1-3
libtwolame0 | 0.3.13-1
libudev0 (>= 146) | 172-1
libupnp3 (>= 1.4.3) | 1:1.6.6-5.1
libv4l-0 (>= 0.5.0) | 0.8.5-3
libvcdinfo0 (>> 0.7.23) | 0.7.23-4+b2
libvlc5 (>= 1.1.1) | 1.1.11-2+b3
libvlccore4 (>= 1.1.0) | 1.1.11-2+b3
libvorbis0a (>= 1.1.2) | 1.3.2-1
libvorbisenc2 (>= 1.1.2) | 1.3.2-1
libx264-116 | 2:0.116.2042+git178455c-1+b1
libxml2 (>= 2.7.4) | 2.7.8.dfsg-4
zlib1g (>= 1:1.2.0.2) | 1:1.2.3.4.dfsg-3
libc6 (>= 2.8) | 2.13-18
libvlccore4 (>= 1.1.0) | 1.1.11-2+b3
vlc-data (= 1.1.11-2) | 1.1.11-2
libc6 (>= 2.10) | 2.13-18
libdbus-1-3 (>= 1.0.2) | 1.4.14-1


Package Status (Version) | Installed
=============================-+-===========
libavutil50 | 4:0.6.2-5
libavutil51 | 4:0.7.1-4


Recommends (Version) | Installed
=====================================-+-================
vlc-plugin-notify (= 1.1.11-2+b3) | 1.1.11-2+b3
vlc-plugin-pulse (= 1.1.11-2+b3) | 1.1.11-2+b3
xdg-utils | 1.1.0~rc1-2
vlc-plugin-notify (= 1.1.11-2+b3) | 1.1.11-2+b3
vlc-plugin-pulse (= 1.1.11-2+b3) | 1.1.11-2+b3
xdg-utils | 1.1.0~rc1-2


Suggests (Version) | Installed
=================================-+-===========
mozilla-plugin-vlc | 1.1.11-2+b3
videolan-doc |
mozilla-plugin-vlc | 1.1.11-2+b3
videolan-doc |




-------------- next part --------------
A non-text attachment was scrubbed...
Name: vlc-crash-test.tar.gz
Type: application/x-gzip
Size: 3564 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20110905/ad94615f/attachment.bin>


More information about the pkg-multimedia-maintainers mailing list