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)