[MPlayer-users] Segfault when trying to play DVD with -lavdopts fast

Dominik 'Rathann' Mierzejewski dominik at rangers.eu.org
Fri Jun 6 22:34:57 CEST 2008


Hi.
There's a 100% reproducible crash in ffmpeg2 codec when trying to play
a DVD with -lavdopts fast. Without that option it plays fine. Backtrace
below:

$ gdb --batch -x gdb.command ./mplayer 
Using host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
MPlayer dev-SVN-r26996-4.1.2 (C) 2000-2008 MPlayer Team
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (Family: 15, Model: 35, Stepping: 2)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
get_path('codecs.conf') -> '/home/rathann/.mplayer/codecs.conf'
Reading /home/rathann/.mplayer/codecs.conf: Can't open '/home/rathann/.mplayer/codecs.conf': No such file or directory
Reading /usr/etc/mplayer/codecs.conf: Can't open '/usr/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --disable-termcap --disable-dvdread-internal --disable-faad-internal --disable-tremor-internal --disable-x264 --enable-xvmc --enable-runtime-cpudetection --codecsdir=/usr/lib64/codecs --prefix=/usr --enable-debug=3
CommandLine: '-v' '-lavdopts' 'fast' 'dvdnav://1'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/rathann/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/rathann/.mplayer/input.conf'
Parsing input config file /home/rathann/.mplayer/input.conf
Input config file /home/rathann/.mplayer/input.conf parsed: 62 binds
Setting up LIRC support...
get_path('1.conf') -> '/home/rathann/.mplayer/1.conf'

Playing dvdnav://1.
get_path('sub/') -> '/home/rathann/.mplayer/sub/'
libdvdnav: Using dvdnav version 4.1.3 from http://dvd.sf.net
[New Thread 46912657550256 (LWP 31406)]
libdvdread: Using libdvdcss version 1.2.9 for DVD access
libdvdnav: DVD Title: CRUSADE_DISC_3
libdvdnav: DVD Serial Number: 318e00b2
libdvdnav: DVD Title (Alternative): 
libdvdnav: Unable to find map file '/home/rathann/.dvdnav/CRUSADE_DISC_3.map'
libdvdnav: DVD disk reports itself with Region mask 0x00e50000. Regions: 2 4 5

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x0000012b
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00000354
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000006c4
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x00199565
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x0026e433
libdvdread: Elapsed time 0
libdvdread: Found 3 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (5.1) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: fr aid: 129.
subtitle ( sid ): 32 language: en
subtitle ( sid ): 33 language: fr
subtitle ( sid ): 34 language: nl
subtitle ( sid ): 35 language: ar
subtitle ( sid ): 36 language: en
INIT ERROR: couldn't get init pos New position not yet determined.
Remember to disable MPlayer's cache when playing dvdnav:// streams (adding -nocache to your command line)
STREAM: [null] dvdnav://1
STREAM: Description: DVDNAV stream
STREAM: Author: 
STREAM: Comment: 
DVDNAV, switched to title: 1

DVDNAV, NEW TITLE 1
system stream synced at 0xD (13)!
==> Found video stream: 0
MPEG-PS file format detected.
==> Found audio stream: 128
Searching for sequence header... OK!
VIDEO:  MPEG2  720x576  (aspect 2)  25.000 fps  8300.0 kbps (1037.5 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.000  ftime:=0.0400
get_path('sub/') -> '/home/rathann/.mplayer/sub/'
dvdsublang...1 pol pl eng en
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1920x1200 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
[xv common] Drawing no colorkey.
[xv common] Maximum source image dimensions: 2046x2046
[vo] query(Planar YV12) -> 3
[ass] auto-open
FreeType library version: 2.3.5
FreeType headers version: 2.3.5
[ass] Init
get_path('fonts') -> '/home/rathann/.mplayer/fonts'
get_path('subfont.ttf') -> '/home/rathann/.mplayer/subfont.ttf'
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Trying filter chain: ass vo
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Trying filter chain: scale ass vo
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 6144 + 65536 = 71680 bytes for output buffer.
Using SSE optimized IMDCT transform
AC3: 5.1 (3f+2r+lfe)  48000 Hz  384.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0xA
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter volnorm 
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.15
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
[AO_ALSA] alsa-lib: pcm_hw.c:1099:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
[AO_ALSA] Playback open error: Device or resource busy
AO: [null] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: Null audio output
AO: Author: Tobias Diedrich <ranma+mplayer at tdiedrich.de>
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
Starting playback...
==> Found audio stream: 129
Increasing filtered audio buffer size from 0 to 39040
[ffmpeg] aspect_ratio: 1.333333
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
Trying filter chain: ass vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (720x576->768x576,flags=0,'MPlayer',0x32315659)
REQ: flags=0x437  req=0x0  
VO: [xv] 720x576 => 768x576 Planar YV12 
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x30323449 (I420) planar
Xvideo image format: 0x3 (   ) packed
using Xvideo port 387 for hw scaling
[xv] dx: 0 dy: 0 dw: 768 dh: 576
*** [ass] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912657550256 (LWP 31406)]
mpeg_decode_mb (s=0x1056480, block=<value optimized out>) at mpeg12.c:1165
1165                    level= (level*qscale*quant_matrix[j])>>4;
#0  mpeg_decode_mb (s=0x1056480, block=<value optimized out>) at mpeg12.c:1165
        re_index = <value optimized out>
        re_cache = <value optimized out>
        i = <value optimized out>
        j = <value optimized out>
        k = <value optimized out>
        cbp = <value optimized out>
        val = <value optimized out>
        mb_type = 1
        motion_type = <value optimized out>
        mb_block_count = 6
#1  0x000000000081afb3 in mpeg_decode_slice (s1=0x1056480, mb_y=16, buf=0x7fffe7fa4e80, buf_size=<value optimized out>) at mpeg12.c:1751
        code = 0
        s = (MpegEncContext *) 0x40d0a
        avctx = (AVCodecContext *) 0x105d570
        field_pic = 0
        lowres = 0
#2  0x000000000081c9dd in decode_chunks (avctx=0x105d570, picture=0x105a210, data_size=0x7fffe7fa4fbc, buf=0x2aaab932a010 "", buf_size=<value optimized out>) at mpeg12.c:2412
        i = <value optimized out>
        start_code = 261
        s = (Mpeg1Context *) 0x40d0a
        s2 = (MpegEncContext *) 0x1056480
        buf_ptr = (const uint8_t *) 0x2aaab932a55e "\v�\017ʪR\005��c\v\0300(�\201\a0��\"\036\031``�c\020�\v9|C\025\030"
        buf_end = <value optimized out>
        ret = <value optimized out>
        input_size = 654
#3  0x000000000081cce4 in mpeg_decode_frame (avctx=0x105d570, data=0x105a210, data_size=0x7fffe7fa4fbc, buf=0x2aaab932a010 "", buf_size=2012) at mpeg12.c:2292
        s = (Mpeg1Context *) 0x1056480
        picture = (AVFrame *) 0x40
#4  0x00000000006a9653 in avcodec_decode_video (avctx=0x105d570, picture=0x105a210, got_picture_ptr=0x7fffe7fa4fbc, buf=0x2aaab932a010 "", buf_size=2012) at utils.c:894
        ret = <value optimized out>
#5  0x0000000000599e29 in decode (sh=0x1001e60, data=0x2aaab932a010, len=2012, flags=0) at libmpcodecs/vd_ffmpeg.c:781
        got_picture = 0
        ret = <value optimized out>
        ctx = (vd_ffmpeg_ctx *) 0x105d200
        pic = (AVFrame *) 0x105a210
        avctx = (AVCodecContext *) 0x105d570
        mpi = (mp_image_t *) 0x0
        dr1 = <value optimized out>
        fvstats = (FILE *) 0x0
        all_len = 0
        frame_number = 0
        all_frametime = 0
#6  0x00000000004ddbcf in decode_video (sh_video=0x1001e60, start=0x2aaab932a010 "", in_size=2012, drop_frame=0, pts=0.039999999105930328) at libmpcodecs/dec_video.c:369
        mpi = <value optimized out>
        t = 751982653
        t2 = <value optimized out>
#7  0x000000000045f3d1 in main (argc=<value optimized out>, argv=<value optimized out>) at mplayer.c:2292
        len = -1.03845962e+34
        mem_ptr = <value optimized out>
        opt_exit = <value optimized out>
        i = <value optimized out>
        last_heartbeat = 0
Dump of assembler code from 0x8197db to 0x81981b:
0x00000000008197db <mpeg_decode_mb+2747>:       add    $0x24,%al
0x00000000008197dd <mpeg_decode_mb+2749>:       mov    $0xd3be60,%eax
0x00000000008197e2 <mpeg_decode_mb+2754>:       cmove  %rax,%rdx
0x00000000008197e6 <mpeg_decode_mb+2758>:       mov    0x3270(%rbp),%edi
0x00000000008197ec <mpeg_decode_mb+2764>:       mov    0x68(%rdx),%r9
0x00000000008197f0 <mpeg_decode_mb+2768>:       jmp    0x81981d <mpeg_decode_mb+2813>
0x00000000008197f2 <mpeg_decode_mb+2770>:       movzbl %al,%eax
0x00000000008197f5 <mpeg_decode_mb+2773>:       add    $0x1,%edi
0x00000000008197f8 <mpeg_decode_mb+2776>:       add    %rax,%r8
0x00000000008197fb <mpeg_decode_mb+2779>:       movzbl (%r8),%eax
0x00000000008197ff <mpeg_decode_mb+2783>:       sar    $0xff,%edx
0x0000000000819802 <mpeg_decode_mb+2786>:       lea    (%rax,%rax,1),%rcx
0x0000000000819806 <mpeg_decode_mb+2790>:       movzwl (%r11,%rax,2),%eax
0x000000000081980b <mpeg_decode_mb+2795>:       imul   %ebx,%eax
0x000000000081980e <mpeg_decode_mb+2798>:       imul   %esi,%eax
0x0000000000819811 <mpeg_decode_mb+2801>:       sar    $0x4,%eax
0x0000000000819814 <mpeg_decode_mb+2804>:       xor    %edx,%eax
0x0000000000819816 <mpeg_decode_mb+2806>:       sub    %edx,%eax
0x0000000000819818 <mpeg_decode_mb+2808>:       mov    %ax,(%r12,%rcx,1)
End of assembler dump.

Regards,
R.

-- 
MPlayer http://mplayerhq.hu | Livna http://rpm.livna.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
	-- from "Collected Sayings of Muad'Dib" by the Princess Irulan



More information about the MPlayer-users mailing list