Bug#652533: mplayer: segfault playing NASA videos (GIF89a in MOV)

Paul Wise pabs at debian.org
Sun Dec 18 10:37:46 UTC 2011


Package: mplayer
Version: 2:1.0~rc4.dfsg1+svn33713-5
Severity: important

I note that mplayer crashes when playing a couple of NASA videos. These
videos don't cause vlc/ffplay/totem to crash. It looks like it is
crashing in the GIF decoding code of libav but is only triggered by
mplayer. Please reassign this bug to libav if it turns out that is where
the problem is.

pabs at chianamo ~ $ gdb --args mplayer http://science.nasa.gov/media/medialibrary/2011/12/16/comet_whoosh.mov 
GNU gdb (GDB) 7.3-debian
Copyright (C) 2011 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".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/mplayer...Reading symbols from /usr/lib/debug/usr/bin/mplayer...done.
done.
(gdb) r
Starting program: /usr/bin/mplayer http://science.nasa.gov/media/medialibrary/2011/12/16/comet_whoosh.mov
[Thread debugging using libthread_db enabled]
MPlayer SVN-r33713-4.6 (C) 2000-2011 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing http://science.nasa.gov/media/medialibrary/2011/12/16/comet_whoosh.mov.
Resolving science.nasa.gov for AF_INET6...

Couldn't resolve name for AF_INET6: science.nasa.gov
Resolving science.nasa.gov for AF_INET...
Connecting to server science.nasa.gov[198.142.23.97]: 80...

Cache size set to 320 KBytes
Cache fill: 12.20% (39981 bytes)   

libavformat file format detected.
Cache not filling, consider increasing -cache and/or -cache-min!
[lavf] stream 0: video (gif), -vid 0
VIDEO:  [gif ]  1024x1024  8bpp  15.000 fps  84648.3 kbps (10333.0 kbyte/s)
Clip info:
 major_brand: qt  
 minor_version: 537199360
 compatible_brands: qt  
 creation_time: 2011-12-16 03:55:28
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
[VO_3DFX] Unable to open /dev/3dfx.
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffgif] vfm: ffmpeg (FFmpeg GIF)
==========================================================================
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7ffff43c8040]BICUBIC scaler, from pal8 to yuv420p using MMX2
VO: [xv] 1024x1024 => 1024x1024 Planar YV12 
V:   0.0   0/  0 ??% ??% ??,?% 0 0 27% 
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff332d44a in gif_read_image (s=0xaab4c0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:99
99	/build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c: No such file or directory.
	in /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7f997a0 (LWP 9567)):
#0  0x00007ffff332d44a in gif_read_image (s=0xaab4c0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:99
#1  gif_parse_next_image (s=0xaab4c0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:256
#2  gif_decode_frame (avctx=<optimized out>, data=0xaaaea0, data_size=0x7fffffffba2c, avpkt=<optimized out>)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:309
#3  0x00007ffff3507678 in avcodec_decode_video2 (avctx=0xaab000, picture=0xaaaea0, got_picture_ptr=0x7fffffffba2c, avpkt=0x7fffffffb9a0)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/utils.c:691
#4  0x000000000057c26c in decode (sh=0xa8a510, data=0x7fffe378c010, len=703322, flags=<optimized out>) at libmpcodecs/vd_ffmpeg.c:854
#5  0x00000000004cdfcb in decode_video (sh_video=0xa8a510, start=0x7fffe378c010 "GIF89a", in_size=<optimized out>, drop_frame=0, pts=<optimized out>, full_frame=0x0)
    at libmpcodecs/dec_video.c:392
#6  0x0000000000445930 in generate_video_frame (d_video=0xa896d0, sh_video=0xa8a510) at mplayer.c:1818
#7  update_video (blit_frame=0x7fffffffdbd8) at mplayer.c:2495
#8  0x000000000043972a in main (argc=<optimized out>, argv=<optimized out>) at mplayer.c:3792
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff7f997a0 (LWP 9567)):
#0  0x00007ffff332d44a in gif_read_image (s=0xaab4c0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:99
        top = <optimized out>
        is_interleaved = 0
        y = <optimized out>
        y1 = <optimized out>
        i = <optimized out>
        spal = 0xaab64b ""
        width = 1024
        has_local_palette = <optimized out>
        pass = <optimized out>
        linesize = <optimized out>
        n = 256
        ptr = <optimized out>
        code_size = <optimized out>
        flags = <optimized out>
        palette = <optimized out>
        left = <optimized out>
        height = <optimized out>
        bits_per_pixel = <optimized out>
#1  gif_parse_next_image (s=0xaab4c0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:256
        code = <optimized out>
#2  gif_decode_frame (avctx=<optimized out>, data=0xaaaea0, data_size=0x7fffffffba2c, avpkt=<optimized out>)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:309
        buf = 0x7fffe378c010 "GIF89a"
        buf_size = <optimized out>
        s = 0xaab4c0
        picture = 0xaaaea0
        ret = -22
#3  0x00007ffff3507678 in avcodec_decode_video2 (avctx=0xaab000, picture=0xaaaea0, got_picture_ptr=0x7fffffffba2c, avpkt=0x7fffffffb9a0)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/utils.c:691
        ret = <optimized out>
#4  0x000000000057c26c in decode (sh=0xa8a510, data=0x7fffe378c010, len=703322, flags=<optimized out>) at libmpcodecs/vd_ffmpeg.c:854
        got_picture = 0
        ret = <optimized out>
        ctx = 0xaaadc0
        pic = 0xaaaea0
        avctx = 0xaab000
        mpi = <optimized out>
        dr1 = <optimized out>
        pkt = {pts = -9223372036854775808, dts = -9223372036854775808, data = 0x7fffe378c010 "GIF89a", size = 703322, stream_index = 0, flags = 1, side_data = 0x0, 
          side_data_elems = 0, duration = 0, destruct = 0, priv = 0x0, pos = -1, convergence_duration = 0}
#5  0x00000000004cdfcb in decode_video (sh_video=0xa8a510, start=0x7fffe378c010 "GIF89a", in_size=<optimized out>, drop_frame=0, pts=<optimized out>, full_frame=0x0)
    at libmpcodecs/dec_video.c:392
        mpi = 0x0
        t = 1355629009
        t2 = <optimized out>
        delay = 0
---Type <return> to continue, or q <return> to quit---
        got_picture = 1
#6  0x0000000000445930 in generate_video_frame (d_video=0xa896d0, sh_video=0xa8a510) at mplayer.c:1818
        drop_frame = 0
        decoded_frame = <optimized out>
        start = 0x7fffe378c010 "GIF89a"
        in_size = <optimized out>
        hit_eof = 0
        pts = 0.066666666666666666
#7  update_video (blit_frame=0x7fffffffdbd8) at mplayer.c:2495
        sh_video = 0xa8a510
        frame_time = <optimized out>
#8  0x000000000043972a in main (argc=<optimized out>, argv=<optimized out>) at mplayer.c:3792
        frame_time = <optimized out>
        frame_time_remaining = 0
        blit_frame = 0
        skip_timing = 0
        aq_sleep_time = 0
        opt_exit = <optimized out>
        i = <optimized out>
(gdb) quit
A debugging session is active.

	Inferior 1 [process 9567] will be killed.

Quit anyway? (y or n) y
pabs at chianamo ~ $ gdb --args mplayer http://science.nasa.gov/media/medialibrary/2011/12/16/phoenix_comet_emerges.movGNU gdb (GDB) 7.3-debian
Copyright (C) 2011 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".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/mplayer...Reading symbols from /usr/lib/debug/usr/bin/mplayer...done.
done.
(gdb) r
Starting program: /usr/bin/mplayer http://science.nasa.gov/media/medialibrary/2011/12/16/phoenix_comet_emerges.mov
[Thread debugging using libthread_db enabled]
MPlayer SVN-r33713-4.6 (C) 2000-2011 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing http://science.nasa.gov/media/medialibrary/2011/12/16/phoenix_comet_emerges.mov.
Resolving science.nasa.gov for AF_INET6...

Couldn't resolve name for AF_INET6: science.nasa.gov
Resolving science.nasa.gov for AF_INET...
Connecting to server science.nasa.gov[198.142.23.104]: 80...

Cache size set to 320 KBytes
Cache fill: 12.20% (39980 bytes)   

libavformat file format detected.
Cache not filling, consider increasing -cache and/or -cache-min!
[lavf] stream 0: video (gif), -vid 0
VIDEO:  [gif ]  1024x1024  8bpp  15.000 fps  97737.0 kbps (11930.8 kbyte/s)
Clip info:
 major_brand: qt  
 minor_version: 537199360
 compatible_brands: qt  
 creation_time: 2011-12-16 02:15:12
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
[VO_3DFX] Unable to open /dev/3dfx.
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffgif] vfm: ffmpeg (FFmpeg GIF)
==========================================================================
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7ffff43c8040]BICUBIC scaler, from pal8 to yuv420p using MMX2
VO: [xv] 1024x1024 => 1024x1024 Planar YV12 
V:   0.0   0/  0 ??% ??% ??,?% 0 0 31% 
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff332d44a in gif_read_image (s=0xaab5a0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:99
99	/build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c: No such file or directory.
	in /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7f997a0 (LWP 9666)):
#0  0x00007ffff332d44a in gif_read_image (s=0xaab5a0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:99
#1  gif_parse_next_image (s=0xaab5a0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:256
#2  gif_decode_frame (avctx=<optimized out>, data=0xaaaf60, data_size=0x7fffffffba1c, avpkt=<optimized out>)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:309
#3  0x00007ffff3507678 in avcodec_decode_video2 (avctx=0xaab0e0, picture=0xaaaf60, got_picture_ptr=0x7fffffffba1c, avpkt=0x7fffffffb990)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/utils.c:691
#4  0x000000000057c26c in decode (sh=0xa9faf0, data=0x7fffe3767010, len=774706, flags=<optimized out>) at libmpcodecs/vd_ffmpeg.c:854
#5  0x00000000004cdfcb in decode_video (sh_video=0xa9faf0, start=0x7fffe3767010 "GIF89a", in_size=<optimized out>, drop_frame=0, pts=<optimized out>, full_frame=0x0)
    at libmpcodecs/dec_video.c:392
#6  0x0000000000445930 in generate_video_frame (d_video=0xa8a3b0, sh_video=0xa9faf0) at mplayer.c:1818
#7  update_video (blit_frame=0x7fffffffdbc8) at mplayer.c:2495
#8  0x000000000043972a in main (argc=<optimized out>, argv=<optimized out>) at mplayer.c:3792
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff7f997a0 (LWP 9666)):
#0  0x00007ffff332d44a in gif_read_image (s=0xaab5a0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:99
        top = <optimized out>
        is_interleaved = 0
        y = <optimized out>
        y1 = <optimized out>
        i = <optimized out>
        spal = 0xaab72b ""
        width = 1024
        has_local_palette = <optimized out>
        pass = <optimized out>
        linesize = <optimized out>
        n = 256
        ptr = <optimized out>
        code_size = <optimized out>
        flags = <optimized out>
        palette = <optimized out>
        left = <optimized out>
        height = <optimized out>
        bits_per_pixel = <optimized out>
#1  gif_parse_next_image (s=0xaab5a0) at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:256
        code = <optimized out>
#2  gif_decode_frame (avctx=<optimized out>, data=0xaaaf60, data_size=0x7fffffffba1c, avpkt=<optimized out>)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/gifdec.c:309
        buf = 0x7fffe3767010 "GIF89a"
        buf_size = <optimized out>
        s = 0xaab5a0
        picture = 0xaaaf60
        ret = -22
#3  0x00007ffff3507678 in avcodec_decode_video2 (avctx=0xaab0e0, picture=0xaaaf60, got_picture_ptr=0x7fffffffba1c, avpkt=0x7fffffffb990)
    at /build/buildd-libav_0.7.2-1+b1-amd64-gyQUa8/libav-0.7.2/libavcodec/utils.c:691
        ret = <optimized out>
#4  0x000000000057c26c in decode (sh=0xa9faf0, data=0x7fffe3767010, len=774706, flags=<optimized out>) at libmpcodecs/vd_ffmpeg.c:854
        got_picture = 0
        ret = <optimized out>
        ctx = 0xaaae50
        pic = 0xaaaf60
        avctx = 0xaab0e0
        mpi = <optimized out>
        dr1 = <optimized out>
        pkt = {pts = -9223372036854775808, dts = -9223372036854775808, data = 0x7fffe3767010 "GIF89a", size = 774706, stream_index = 0, flags = 1, side_data = 0x0, 
          side_data_elems = 0, duration = 0, destruct = 0, priv = 0x0, pos = -1, convergence_duration = 0}
#5  0x00000000004cdfcb in decode_video (sh_video=0xa9faf0, start=0x7fffe3767010 "GIF89a", in_size=<optimized out>, drop_frame=0, pts=<optimized out>, full_frame=0x0)
    at libmpcodecs/dec_video.c:392
        mpi = 0x0
        t = 1428745375
        t2 = <optimized out>
        delay = 0
---Type <return> to continue, or q <return> to quit---
        got_picture = 1
#6  0x0000000000445930 in generate_video_frame (d_video=0xa8a3b0, sh_video=0xa9faf0) at mplayer.c:1818
        drop_frame = 0
        decoded_frame = <optimized out>
        start = 0x7fffe3767010 "GIF89a"
        in_size = <optimized out>
        hit_eof = 0
        pts = 0.066666666666666666
#7  update_video (blit_frame=0x7fffffffdbc8) at mplayer.c:2495
        sh_video = 0xa9faf0
        frame_time = <optimized out>
#8  0x000000000043972a in main (argc=<optimized out>, argv=<optimized out>) at mplayer.c:3792
        frame_time = <optimized out>
        frame_time_remaining = 0
        blit_frame = 0
        skip_timing = 0
        aq_sleep_time = 0
        opt_exit = <optimized out>
        i = <optimized out>
(gdb) quit
A debugging session is active.

	Inferior 1 [process 9666] will be killed.

Quit anyway? (y or n) y

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (700, 'testing'), (600, 'unstable'), (550, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mplayer depends on:
ii  libaa1                    1.4p5-39
ii  libasound2                1.0.24.1-4
ii  libaudio2                 1.9.3-1
ii  libavcodec53              4:0.7.2-1+b1
ii  libavformat53             4:0.7.2-1+b1
ii  libavutil51               4:0.7.2-1+b1
ii  libc6                     2.13-21
ii  libcaca0                  0.99.beta17-2.1
ii  libcdparanoia0            3.10.2+debian-10
ii  libdca0                   0.0.5-5
ii  libdirectfb-1.2-9         1.2.10.0-4.3
ii  libdvdnav4                4.2.0-1
ii  libdvdread4               4.2.0-1
ii  libenca0                  1.13-4
ii  libesd0                   0.2.41-10
ii  libfaad2                  2.7-7
ii  libfontconfig1            2.8.0-3
ii  libfreetype6              2.4.8-1
ii  libfribidi0               0.19.2-1
ii  libgif4                   4.1.6-9
ii  libgl1-mesa-glx [libgl1]  7.11.1-1
ii  libjack0 [libjack-0.116]  1:0.121.0+svn4538-3
ii  libjpeg8                  8c-2
ii  liblircclient0            0.9.0~pre1-1
ii  liblzo2-2                 2.06-1
ii  libmp3lame0               3.98.4+repack2-6
ii  libncurses5               5.9-4
ii  libogg0                   1.2.2~dfsg-1
ii  libopenal1                1:1.13-4
ii  libpng12-0                1.2.46-3
ii  libpostproc52             4:0.7.2-1+b1
ii  libpulse0                 1.0-4
ii  libsdl1.2debian           1.2.14-6.4
ii  libsmbclient              2:3.6.1-3
ii  libspeex1                 1.2~rc1-1
ii  libsvga1                  1:1.4.3-31
ii  libswscale2               4:0.7.2-1+b1
ii  libtheora0                1.1.1+dfsg.1-3
ii  libtinfo5                 5.9-4
ii  libvdpau1                 0.4.1-3
ii  libx11-6                  2:1.4.4-4
ii  libx264-118               2:0.118.2092+git6eac7c3-1
ii  libxext6                  2:1.3.0-3
ii  libxinerama1              2:1.1.1-3
ii  libxt6                    1:1.1.1-2
ii  libxv1                    2:1.0.6-2
ii  libxvidcore4              2:1.3.2-6
ii  libxvmc1                  2:1.0.6-1
ii  libxxf86dga1              2:1.1.2-1
ii  libxxf86vm1               1:1.1.1-2
ii  zlib1g                    1:1.2.3.4.dfsg-3

mplayer recommends no packages.

Versions of packages mplayer suggests:
ii  bzip2         1.0.6-1
ii  fontconfig    2.8.0-3
ii  fping         2.4b2-to-ipv6-16.1
ii  mplayer-doc   <none>
ii  ttf-freefont  20100919-1

-- debconf information:
  mplayer/replace-existing-files-bail:
  mplayer/replace-existing-files: false
  mplayer/no-ttfont:
  mplayer/install_codecs:
  mplayer/voutput: autodetect
  mplayer/ttfont: Sans
  mplayer/cfgnote:
  mplayer/dvd_device: /dev/cdrom

-- 
bye,
pabs

http://wiki.debian.org/PaulWise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20111218/49871851/attachment.pgp>


More information about the pkg-multimedia-maintainers mailing list