[MPlayer-users] bug report. assert failing

Chris Phillips chris at thirtythreeandathird.net
Wed Nov 6 12:44:02 CET 2002


right, i encoded a film with mencoder and this si the first time it's ever 
had any problems with the result. the output fails an assertion with 
mplayer. 

the problem seems to lie in the crop settings, i'm using:

mencoder -dvd 1  -alang en  -oac mp3lame -lameopts abr:br=128 -ovc lavc  
-lavcopts vcodec=mpeg4:vhq:vqmin=2:vbitrate=571 -vop 
scale=-1:-2,crop=720:434:0:72

the system crashes when playing back the crop, and the assertion fails 
from the scale command (when using proper values e.g. 640:360 as well)
if i remove both -vop options it is fine.

my system...

mplayer 0.90pre9 from source
athlon 1.2
mandrake 8.2 mostly
kernel 2.4.19
gcc 3.2
glibc 2.2.4
as 2.12.90.0.15

here is the output from gdb, although running the original compiled 
binary (just unstripped?) from gdb plays the file fine. runnning that 
binary normally fails, as does running the installed binary from gdb.

(gdb) bt 
#0  0x40396621 in kill () from /lib/libc.so.6
#1  0x4005b26b in raise (sig=6) at signals.c:65
#2  0x40397a53 in abort () from /lib/libc.so.6
#3  0x4038fe12 in __assert_fail () from /lib/libc.so.6
#4  0x080ab61f in get_buffer (avctx=0x8385990, width=702, height=376, 
pict_type=137875552) at vd_ffmpeg.c:442
#5  0x0816e551 in MPV_frame_start (s=0x83d95e0, avctx=0x8385990) at 
mpegvideo.c:774
#6  0x081ac727 in h263_decode_frame (avctx=0x8385990, data=0xbfffe580, 
data_size=0xbfffe55c, buf=0x8383078 "", buf_size=647)
    at h263dec.c:460
#7  0x0816c067 in avcodec_decode_video (avctx=0x83d95e0, 
picture=0x8383e60, got_picture_ptr=0x8385990, 
    buf=0x8383e60 "mplayer: vd_ffmpeg.c:438: get_buffer: Assertion 
`mpi->planes[0] > mpi->planes[2] || mpi->planes[0] + y_size <= mpi- 
>planes[2]' failed.\n", buf_size=137903712) at utils.c:136
#8  0x080ab7fd in decode (sh=0x8382470, data=0x8385990, len=137910672, 
flags=0) at vd_ffmpeg.c:520
#9  0x080a9cf3 in decode_video (sh_video=0x8382470, 
    start=0x8383e60 "mplayer: vd_ffmpeg.c:438: get_buffer: Assertion 
`mpi->planes[0] > mpi->planes[2] || mpi->planes[0] + y_size <= mp 
i->planes[2]' failed.\n", in_size=137903712, drop_frame=0) at 
dec_video.c:266
#10 0x08069f55 in main (argc=2, argv=0xbffff8c4) at mplayer.c:1502
#11 0x40384280 in __libc_start_main () from /lib/libc.so.6
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x40396601 to 0x40396641:
0x40396601 <sigprocmask+65>:    or     $0xffffffff,%esi
0x40396604 <sigprocmask+68>:    add    $0xc,%esp
0x40396607 <sigprocmask+71>:    mov    %esi,%eax
0x40396609 <sigprocmask+73>:    pop    %ebx
0x4039660a <sigprocmask+74>:    pop    %esi
0x4039660b <sigprocmask+75>:    pop    %edi
0x4039660c <sigprocmask+76>:    pop    %ebp
0x4039660d <sigprocmask+77>:    ret    
0x4039660e <sigprocmask+78>:    mov    %esi,%esi
0x40396610 <kill>:      mov    %ebx,%edx
0x40396612 <kill+2>:    mov    0x8(%esp,1),%ecx
0x40396616 <kill+6>:    mov    0x4(%esp,1),%ebx
0x4039661a <kill+10>:   mov    $0x25,%eax
0x4039661f <kill+15>:   int    $0x80
0x40396621 <kill+17>:   mov    %edx,%ebx
0x40396623 <kill+19>:   cmp    $0xfffff001,%eax
0x40396628 <kill+24>:   jae    0x4039662b <kill+27>
0x4039662a <kill+26>:   ret    
0x4039662b <kill+27>:   push   %ebx
0x4039662c <kill+28>:   call   0x40396631 <kill+33>
0x40396631 <kill+33>:   pop    %ebx
0x40396632 <kill+34>:   xor    %edx,%edx
0x40396634 <kill+36>:   add    $0x10c35b,%ebx
0x4039663a <kill+42>:   sub    %eax,%edx
0x4039663c <kill+44>:   push   %edx
0x4039663d <kill+45>:   call   0x40383cb4 <signgam+99332>
End of assembler dump.
(gdb)

output from mplayer attached as mplayer.log logically enough.

i will now just go and upload the start of the file to erm...
http://thirtythreeandathird.net/clones.avi

oh and xine plays it! (just to wind you up into having a look)

chris, who's paranoid he's being deliberately ignored.
xxxx
-------------- next part --------------
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale


MPlayer 0.90pre9-3.2 (C) 2000-2002 Arpad Gereoffy (see DOCS)

CPU: Advanced Micro Devices Athlon TB Thunderbird (Family: 6, Stepping: 2)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx

/home/chris/.mplayer/config(1): option: vop
/home/chris/.mplayer/config(1): parameter: eq,pp
Reading /home/chris/.mplayer/codecs.conf: can't open '/home/chris/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: 38 audio & 110 video codecs
CommandLine: 'test.avi' '-v'
get_path('font/font.desc') -> '/home/chris/.mplayer/font/font.desc'
Font /home/chris/.mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz)
get_path('input.conf') -> '/home/chris/.mplayer/input.conf'
Can't open input config file /home/chris/.mplayer/input.conf : No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf : No such file or directory
Falling back on default (hardcoded) input config

Playing test.avi
Not an URL!
File size is 5242880 bytes
Detected AVI file format!
list_end=0x144
======= AVI Header =======
us/frame: 40000  (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames  total: 202648   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  702 x 376
list_end=0xD4
==> Found video stream: 0
======= STREAM Header =======
Type: vids   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 250000/10000 = 25.000
Start: 0   Len: 202648
Suggested BufferSize: 54204
Quality 0
Sample size: 0
found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 702
  biHeight 376
  biPlanes 1
  biBitCount 24
  biCompression 1482049860='DIVX'
  biSizeImage 791856
===========================
Regenerating keyframe table for DIVX 4 video
list_end=0x144
==> Found audio stream: 1
======= STREAM Header =======
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 48000/1152 = 41.667
Start: 0   Len: 337768
Suggested BufferSize: 960
Quality 0
Sample size: 0
found 'wf', 28 bytes of 18
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 48000
avg byte/sec: 14674
Block align: 1152
bits/sample: 0
cbSize: 12
mp3.wID=1
mp3.fdwFlags=0x2
mp3.nBlockSize=1152
mp3.nFramesPerBlock=1
mp3.nCodecDelay=497
list_end=0x170
hdr=Software  size=23
Software  : MEncoder 0.90pre9-3.2 
Broken chunk?  chunksize=1672  (id=JUNK)
list_end=0x2A5124C4
Found movie at 0x80C - 0x2A5124C4
stream_seek: WARNING! Can't seek to 0x2A5124C4 !
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video length=709621072
VIDEO:  [DIVX]  702x376  24bpp  25.00 fps  700.3 kbps (85.5 kbyte/s)
[V] filefmt:3  fourcc:0x58564944  size:702x376  fps:25.00  ftime:=0.0400
Clip info: 
 Software: MEncoder 0.90pre9-3.2 
get_path('sub/') -> '/home/chris/.mplayer/sub/'
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
mp3lib: made decode tables with MMX optimization
init layer2&3 finished, tables done
mp3lib: using 3DNow!Ex optimized decore!

MPEG 1.0, Layer III, 48000 Hz 80 kbit Joint-Stereo, BPF: 240
Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 10000->192000 (80.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
X11 opening display: :0.1
vo: X11 color mask:  FFFF  (R:F800 G:7E0 B:1F)
vo: X11 running at 1152x864 with depth 16 and 16 bpp (":0.1" => local display)
[x11] Create window for WM detect ...
[x11] Unknown wm type...
Disabling DPMS
DPMSDisable stat: 1
Opening video filter: [eq]
Opening video filter: [pp]
[eq] query(Planar YV12) -> 3
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
ao2: 48000 Hz  2 chans  Signed 16-bit (Little-Endian)
audio_setup: using '/dev/dsp' dsp device
audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 16-bit (Little-Endian))
audio_setup: using 2 channels (requested: 2)
audio_setup: using 48000 Hz samplerate (requested: 48000)
audio_setup: frags: 128/128  (1024 bytes/frag)  free: 131072
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000010 and bps = 2
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000010 and bps = 2
Start playing...
This file was encoded with libavcodec build 4631
VDec: vo config request - 702 x 376 (preferred csp: Planar YV12)
[PP] Using external postprocessing filter, max q = 6
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (702x376->702x376,flags=0,'MPlayer',0x32315659)
REQ: flags=0x437  req=0x0  
REQ: flags=0x437  req=0x0  
VO: [xv] 702x376 => 702x376 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
using Xvideo port 81 for hw scaling
[xv] dx: 0 dy: 0 dw: 702 dh: 376
*** [eq] Allocating mp_image_t, 704x384x12bpp YUV planar, 405504 bytes
*** [pp] Direct Rendering mp_image_t, 704x384x12bpp YUV planar, 405504 bytes
*** [vo] Exporting mp_image_t, 704x384x12bpp YUV planar, 405504 bytes
[xv] dx: 0 dy: 0 dw: 702 dh: 376
A:   0.0 V:   0.0 A-V:  0.029 ct:  0.000    1/  1   0%  0%  0.0% 0 0 0%
XXX initial  v_pts=0.000  a_pos=7200 (0.491) 
*** [eq] Allocating mp_image_t, 704x384x12bpp YUV planar, 405504 bytes
*** [pp] Direct Rendering mp_image_t, 704x384x12bpp YUV planar, 405504 bytes
A:   0.0 V:   0.0 A-V:  0.006 ct:  0.001    2/  2   0%  0%  0.0% 0 0 0%
mplayer: vd_ffmpeg.c:438: get_buffer: Assertion `mpi->planes[0] > mpi->planes[2] || mpi->planes[0] + y_size <= mpi->planes[2]' failed.


MPlayer interrupted by signal 6 in module: decode_video 
- MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/bugreports.html and follow instructions there. We can't and won't help unless you provide these informations when reporting a possible bug.
Uninit audio filters...
uninit audio: mp3lib  
uninit video: ffmpeg  
DEMUXER: freeing demuxer at 0x8381a70  
Successfully enabled DPMS
vo: uninit ...


More information about the MPlayer-users mailing list