[MPlayer-users] Crash if seeking .avi with non-existent output driver

Dmitry Maluka dmitrymaluka at gmail.com
Sat Nov 28 00:44:07 CET 2009


Hi!

MPlayer SVN-r29968-snapshot-4.3.4 crashes when seeking .avi files with
non-existent output driver, e.g.:

mplayer -v -ss 1000 -vo yyy izobr_zhertvu.avi

I'm using Debian Lenny 5.0.

$ uname -a
Linux mitya 2.6.26-1-686 #1 SMP Mon Dec 15 18:15:07 UTC 2008 i686 GNU/Linux

$ ls -l /lib/libc[.-]*
-rwxr-xr-x 1 root root 1315080 Окт 23 17:12 /lib/libc-2.10.1.so
lrwxrwxrwx 1 root root      14 Окт 28 19:33 /lib/libc.so.6 -> libc-2.10.1.so

$ gcc -v
gcc version 4.3.4 (Debian 4.3.4-2) 

$ ld -v
GNU ld (GNU Binutils for Debian) 2.19.51.20090827

$ as --version
GNU assembler (GNU Binutils for Debian) 2.19.51.20090827

GDB output:

(gdb) r -v -ss 1000 -vo yyy izobr_zhertvu.avi
Starting program: /usr/local/bin/mplayer -v -ss 1000 -vo yyy izobr_zhertvu.avi
[Thread debugging using libthread_db enabled]
MPlayer SVN-r29968-snapshot-4.3.4 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel  max cpuid level: 10
CPU: Intel(R) Celeron(R) D CPU        220  @ 1.20GHz (Family: 6, Model: 22, Stepping: 1)
extended cpuid-level: 8
extended cache-info: 33562688
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 SSSE3 CMOV
get_path('codecs.conf') -> '/home/mitya/.mplayer/codecs.conf'
Reading /home/mitya/.mplayer/codecs.conf: Can't open '/home/mitya/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --disable-gui --enable-debug=3
CommandLine: '-v' '-ss' '1000' '-vo' 'yyy' 'izobr_zhertvu.avi'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/mitya/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/mitya/.mplayer/input.conf'
Can't open input config file /home/mitya/.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
get_path('izobr_zhertvu.avi.conf') -> '/home/mitya/.mplayer/izobr_zhertvu.avi.conf'

Playing izobr_zhertvu.avi.
get_path('sub/') -> '/home/mitya/.mplayer/sub/'
[file] File size is 730251264 bytes
STREAM: [file] izobr_zhertvu.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: AVI format
AVI file format detected.
list_end=0x2292
======= AVI Header =======
us/frame: 40000  (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 150364   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  640 x 336
==========================
list_end=0x10F4
==> Found video stream: 0
[aviheader] Video stream found, -vid 0
====== STREAM Header =====
Type: vids   FCC: xvid (64697678)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0   Len: 150364
Suggested BufferSize: 112650
Quality 10000
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 640
  biHeight 336
  biPlanes 1
  biBitCount 12
  biCompression 1145656920='XVID'
  biSizeImage 1290240
===========================
Regenerating keyframe table for MPEG-4 video.
list_end=0x2186
==> Found audio stream: 1
[aviheader] Audio stream found, -aid 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 16000/384 = 41.667
Start: 0   Len: 250607
Suggested BufferSize: 8064
Quality -1
Sample size: 384
==========================
Found 'wf', 30 bytes of 18
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 48000
avg byte/sec: 16000
Block align: 384
bits/sample: 0
cbSize: 12
mp3.wID=1
mp3.fdwFlags=0x2
mp3.nBlockSize=384
mp3.nFramesPerBlock=1
mp3.nCodecDelay=0
==========================================================================
list_end=0x2292
AVI: dmlh found (size=248) (total_frames=150364)
list_end=0x22D2
hdr=Software  size=44
Software  : VirtualDubMod 1.5.10.2 (build 2540/release)
list_end=0x2B3D4EDE
Found movie at 0x280C - 0x2B3D4EDE
Reading INDEX block, 300717 chunks for 150364 frames (fpos=725438182).
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x1F8C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=626740814 (150364) audio size=96233088 (250607)
VIDEO:  [XVID]  640x336  12bpp  25.000 fps  833.6 kbps (101.8 kbyte/s)
Auto-selected AVI audio ID = 1
[V] filefmt:3  fourcc:0x44495658  size:640x336  fps:25.000  ftime:=0.0400
Clip info:
 Software: VirtualDubMod 1.5.10.2 (build 2540/release)
get_path('sub/') -> '/home/mitya/.mplayer/sub/'
Error opening/initializing the selected video_out (-vo) device.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: using SSE optimized decore!
MP3lib: init layer2&3 finished, tables done
MPEG 1.0, Layer III, 48000 Hz 128 kbit Joint-Stereo, BPF: 384
Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy 
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Trying every known audio driver...
ao2: 48000 Hz  2 chans  s16le
audio_setup: using '/dev/dsp' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer device
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.20
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opened in blocking mode
alsa-init: got buffersize=32768
alsa-init: got period size 1024
alsa: 48000 Hz/2 channels/4 bpf/32768 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
AO: Comment: under developement
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...

Program received signal SIGSEGV, Segmentation fault.
demux_seek_avi (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=1) at libmpdemux/demux_avi.c:598
598	    int rel_seek_frames=rel_seek_secs*sh_video->fps;
(gdb) bt
#0  demux_seek_avi (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=1) at libmpdemux/demux_avi.c:598
#1  0x08162cb5 in demux_seek (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=<value optimized out>) at libmpdemux/demuxer.c:1118
#2  0x08096c12 in seek (mpctx=0x897c8e0, amount=1000, style=1) at mplayer.c:2528
#3  0x0809b211 in main (argc=7, argv=0xbffffc74) at mplayer.c:3694
(gdb) bt
#0  demux_seek_avi (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=1) at libmpdemux/demux_avi.c:598
#1  0x08162cb5 in demux_seek (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=<value optimized out>) at libmpdemux/demuxer.c:1118
#2  0x08096c12 in seek (mpctx=0x897c8e0, amount=1000, style=1) at mplayer.c:2528
#3  0x0809b211 in main (argc=7, argv=0xbffffc74) at mplayer.c:3694
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x816abbe to 0x816abfe:
0x0816abbe <demux_seek_avi+30>:	andb   $0x0,0x0(%esp,%ecx,1)
0x0816abc3 <demux_seek_avi+35>:	mov    0x44(%ecx),%ecx
0x0816abc6 <demux_seek_avi+38>:	mov    %eax,-0x74(%ebp)
0x0816abc9 <demux_seek_avi+41>:	mov    0x8(%ebp),%ebx
0x0816abcc <demux_seek_avi+44>:	mov    0x64(%ecx),%esi
0x0816abcf <demux_seek_avi+47>:	mov    0x48(%ebx),%ebx
0x0816abd2 <demux_seek_avi+50>:	mov    %ecx,-0x70(%ebp)
0x0816abd5 <demux_seek_avi+53>:	mov    0x64(%ebx),%eax
0x0816abd8 <demux_seek_avi+56>:	mov    %ebx,-0x6c(%ebp)
0x0816abdb <demux_seek_avi+59>:	mov    %eax,-0x64(%ebp)
0x0816abde <demux_seek_avi+62>:	flds   0xe4(%eax)
0x0816abe4 <demux_seek_avi+68>:	mov    %esi,-0x68(%ebp)
0x0816abe7 <demux_seek_avi+71>:	mov    0x1c(%ebx),%eax
0x0816abea <demux_seek_avi+74>:	cmove  %eax,%edi
0x0816abed <demux_seek_avi+77>:	and    $0x2,%edx
0x0816abf0 <demux_seek_avi+80>:	je     0x816ac04 <demux_seek_avi+100>
0x0816abf2 <demux_seek_avi+82>:	fstp   %st(0)
0x0816abf4 <demux_seek_avi+84>:	mov    -0x74(%ebp),%ecx
0x0816abf7 <demux_seek_avi+87>:	xor    %edx,%edx
0x0816abf9 <demux_seek_avi+89>:	mov    0x54(%ecx),%eax
0x0816abfc <demux_seek_avi+92>:	push   %edx
0x0816abfd <demux_seek_avi+93>:	push   %eax
End of assembler dump.
(gdb) info all-registers
eax            0x0	0
ecx            0x8e554e0	149247200
edx            0x1	1
ebx            0x8e55550	149247312
esp            0xbfffc820	0xbfffc820
ebp            0xbfffc938	0xbfffc938
esi            0x8e55828	149248040
edi            0x0	0
eip            0x816abde	0x816abde <demux_seek_avi+62>
eflags         0x210202	[ IF RF ID ]
cs             0x73	115
ss             0x7b	123
ds             0x7b	123
es             0x7b	123
fs             0x0	0
gs             0x33	51
st0            0	(raw 0x00000000000000000000)
st1            -nan(0x1000100010001)	(raw 0xffff0001000100010001)
st2            -nan(0xffffffffffffffff)	(raw 0xffffffffffffffffffff)
st3            -inf	(raw 0xffff0000000000000000)
st4            -nan(0xffffffd300000000)	(raw 0xffffffffffd300000000)
st5            -inf	(raw 0xffff0000000000000000)
st6            -inf	(raw 0xffff0000000000000000)
st7            1000	(raw 0x4008fa00000000000000)
fctrl          0x37f	895
fstat          0x7820	30752
ftag           0x7fff	32767
fiseg          0x73	115
fioff          0x816abb1	135703473
foseg          0x7b	123
fooff          0xbfffc948	-1073755832
fop            0x145	325
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}, v8_int16 = {
    0x0, 0x0, 0x0, 0x8000, 0x0, 0x0, 0x0, 0x8000}, v4_int32 = {0x0, 0x80000000, 0x0, 0x80000000}, v2_int64 = {0x8000000000000000, 0x8000000000000000}, 
  uint128 = 0x80000000000000008000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xa0, 0x7a, 0xc6, 0xba, 0xa0, 0x7a, 0xc6, 0x3a, 0x50, 0x71, 0x72, 0xbd, 0x99, 0x4e, 0xd7, 
    0x3d}, v8_int16 = {0x7aa0, 0xbac6, 0x7aa0, 0x3ac6, 0x7150, 0xbd72, 0x4e99, 0x3dd7}, v4_int32 = {0xbac67aa0, 0x3ac67aa0, 0xbd727150, 0x3dd74e99}, v2_int64 = {0x3ac67aa0bac67aa0, 
    0x3dd74e99bd727150}, uint128 = 0x3dd74e99bd7271503ac67aa0bac67aa0}
xmm2           {v4_float = {0x1, 0x0, 0x1, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x80, 0x3f, 0xf3, 0x4, 0x35, 0x3f, 0x0, 0x0, 0x80, 0x3f, 0xf3, 0x4, 0x35, 0x3f}, 
  v8_int16 = {0x0, 0x3f80, 0x4f3, 0x3f35, 0x0, 0x3f80, 0x4f3, 0x3f35}, v4_int32 = {0x3f800000, 0x3f3504f3, 0x3f800000, 0x3f3504f3}, v2_int64 = {0x3f3504f33f800000, 
    0x3f3504f33f800000}, uint128 = 0x3f3504f33f8000003f3504f33f800000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x1, 0xb5, 0x4b, 0x3e, 0x4c, 0x3c, 0x12, 0x3e, 0xa0, 0x43, 0x28, 0xbe, 0xaa, 0xe, 0x5, 0x3d}, 
  v8_int16 = {0xb501, 0x3e4b, 0x3c4c, 0x3e12, 0x43a0, 0xbe28, 0xeaa, 0x3d05}, v4_int32 = {0x3e4bb501, 0x3e123c4c, 0xbe2843a0, 0x3d050eaa}, v2_int64 = {0x3e123c4c3e4bb501, 
    0x3d050eaabe2843a0}, uint128 = 0x3d050eaabe2843a03e123c4c3e4bb501}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xca, 0x8, 0x85, 0x3d, 0xca, 0x8, 0x85, 0xbd, 0x6c, 0x6f, 0xd8, 0xbd, 0x80, 0xbc, 0x30, 0xbd}, 
  v8_int16 = {0x8ca, 0x3d85, 0x8ca, 0xbd85, 0x6f6c, 0xbdd8, 0xbc80, 0xbd30}, v4_int32 = {0x3d8508ca, 0xbd8508ca, 0xbdd86f6c, 0xbd30bc80}, v2_int64 = {0xbd8508ca3d8508ca, 
    0xbd30bc80bdd86f6c}, uint128 = 0xbd30bc80bdd86f6cbd8508ca3d8508ca}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x32, 0xdc, 0xc1, 0x3d, 0x8f, 0x3c, 0xcc, 0xbc, 0x2c, 0x11, 0x80, 0xbd, 0x4f, 0x87, 0xd7, 
    0xbd}, v8_int16 = {0xdc32, 0x3dc1, 0x3c8f, 0xbccc, 0x112c, 0xbd80, 0x874f, 0xbdd7}, v4_int32 = {0x3dc1dc32, 0xbccc3c8f, 0xbd80112c, 0xbdd7874f}, v2_int64 = {0xbccc3c8f3dc1dc32, 
    0xbdd7874fbd80112c}, uint128 = 0xbdd7874fbd80112cbccc3c8f3dc1dc32}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xa0, 0x4d, 0xf3, 0x3c, 0xca, 0x8, 0x85, 0x3d, 0x80, 0xbc, 0x30, 0x3d, 0x6c, 0x6f, 0xd8, 0xbd}, 
---Type <return> to continue, or q <return> to quit---
  v8_int16 = {0x4da0, 0x3cf3, 0x8ca, 0x3d85, 0xbc80, 0x3d30, 0x6f6c, 0xbdd8}, v4_int32 = {0x3cf34da0, 0x3d8508ca, 0x3d30bc80, 0xbdd86f6c}, v2_int64 = {0x3d8508ca3cf34da0, 
    0xbdd86f6c3d30bc80}, uint128 = 0xbdd86f6c3d30bc803d8508ca3cf34da0}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xf3, 0x4, 0x35, 0x3f, 0xf3, 0x4, 0x35, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 
  v8_int16 = {0x4f3, 0x3f35, 0x4f3, 0x3f35, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x3f3504f3, 0x3f3504f3, 0x0, 0x0}, v2_int64 = {0x3f3504f33f3504f3, 0x0}, 
  uint128 = 0x00000000000000003f3504f33f3504f3}
mxcsr          0x1fa0	[ PE IM DM ZM OM UM PM ]
mm0            {uint64 = 0xfa00000000000000, v2_int32 = {0x0, 0xfa000000}, v4_int16 = {0x0, 0x0, 0x0, 0xfa00}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfa}}
mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2            {uint64 = 0x1000100010001, v2_int32 = {0x10001, 0x10001}, v4_int16 = {0x1, 0x1, 0x1, 0x1}, v8_int8 = {0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0}}
mm3            {uint64 = 0xffffffffffffffff, v2_int32 = {0xffffffff, 0xffffffff}, v4_int16 = {0xffff, 0xffff, 0xffff, 0xffff}, v8_int8 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
    0xff}}
mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5            {uint64 = 0xffffffd300000000, v2_int32 = {0x0, 0xffffffd3}, v4_int16 = {0x0, 0x0, 0xffd3, 0xffff}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0xd3, 0xff, 0xff, 0xff}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb) 


More information about the MPlayer-users mailing list