"DMO video codecs" multifile crash, 100% reproducible
I have a whole bunch of .wmv files that I have been trying to play with mplayer (1.0pre6a on Red Hat Linux release 8.0). All of them use the dmo codec ("Opening video decoder: [dmo] DMO video codecs"). Apparently mplayer is not resetting something correctly when using this codec because it always crashes at the start of the eigth file. I can run mplayer with the one file eight times on the command line and have it crash when it reaches the eigth instance of that file. The backtrace looks useless to me, apparently it dies in one of the dlls. Anyway, here's what I've got: $ gdb mplayer GNU gdb Red Hat Linux (5.2.1-4) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... (gdb) run -v -fixed-vo /tmp/vid/wb5/*.wmv Starting program: /home/user/builds/mplayer/MPlayer-1.0pre6a/mplayer -v -fixed-vo /tmp/vid/wb5/*.wmv [New Thread 8192 (LWP 1906)] Using GNU internationalization Original domain: messages Original dirname: /usr/share/locale Current domain: mplayer Current dirname: /usr/local/share/locale MPlayer 1.0pre6-3.2 (C) 2000-2004 MPlayer Team CPU: Intel Pentium III Katmai/Pentium III Xeon Tanner (Family: 6, Stepping: 3) Detected cache-line size is 32 bytes CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0 Compiled for x86 CPU with extensions: MMX MMX2 SSE 77 audio & 188 video codecs CommandLine: '-v' '-fixed-vo' '/tmp/vid/wb5/scene5_chunk_09.wmv' '/tmp/vid/wb5/scene5_chunk_10.wmv' '/tmp/vid/wb5/scene5_chunk_11.wmv' '/tmp/vid/wb5/scene5_chunk_12.wmv' '/tmp/vid/wb5/scene5_chunk_13.wmv' '/tmp/vid/wb5/scene5_chunk_14.wmv' '/tmp/vid/wb5/scene5_chunk_15.wmv' '/tmp/vid/wb5/scene5_chunk_16.wmv' '/tmp/vid/wb5/scene5_chunk_17.wmv' '/tmp/vid/wb5/scene5_chunk_18.wmv' '/tmp/vid/wb5/scene5_chunk_19.wmv' '/tmp/vid/wb5/scene5_chunk_20.wmv' '/tmp/vid/wb5/scene5_chunk_21.wmv' '/tmp/vid/wb5/scene5_chunk_22.wmv' '/tmp/vid/wb5/scene5_chunk_23.wmv' '/tmp/vid/wb5/scene5_chunk_24.wmv' '/tmp/vid/wb5/scene5_chunk_25.wmv' '/tmp/vid/wb5/scene5_chunk_26.wmv' '/tmp/vid/wb5/scene5_chunk_27.wmv' '/tmp/vid/wb5/scene5_chunk_28.wmv' '/tmp/vid/wb5/scene5_chunk_29.wmv' .... Playing /tmp/vid/wb5/scene5_chunk_16.wmv. [file] File size is 1199099 bytes STREAM: [file] /tmp/vid/wb5/scene5_chunk_16.wmv STREAM: Description: File STREAM: Author: Albeu STREAM: Comment: based on the code from ??? (probably Arpi) Checking for YUV4MPEG2 ASF file format detected. Copyright: www.example.com ASF: packets: 828 flags: 2 max_packet_size: 1444 min_packet_size: 1444 max_bitrate: 303708 preroll: 5000 stream type: guid_audio_stream stream concealment: guid_audio_conceal_interleave type: 28 bytes, stream: 8 bytes ID: 1 unk1: 0 unk2: 16EFE2C FILEPOS=0xB68 ==> Found audio stream: 1 ======= WAVE Format ======= Format Tag: 353 (0x161) Channels: 1 Samplerate: 44100 avg byte/sec: 4006 Block align: 744 bits/sample: 16 cbSize: 10 Unknown extra header dump: [0] [88] [0] [0] [f] [0] [41] [17] [0] [0] =========================== ASF: audio scrambling: 1 x 1 x 744 stream type: guid_video_stream stream concealment: unknown guid 0057fb20-555b-cf11-a8fd00805f5c442b type: 55 bytes, stream: 0 bytes ID: 2 unk1: 0 unk2: 2C9E680 FILEPOS=0xBDA ==> Found video stream: 2 ======= VIDEO Format ====== biSize 44 biWidth 320 biHeight 240 biPlanes 1 biBitCount 24 biCompression 861293911='WMV3' biSizeImage 0 Unknown extra header dump: [4c] [49] [1a] [1] =========================== ============ ASF Stream group == START === object size = 38 stream count=[0x2][2] stream id=[0x1][1] max bitrate=[0x8979][35193] stream id=[0x2][2] max bitrate=[0x418e3][268515] ============ ASF Stream group == END === Found movie at 0xC69 - 0x124AD9 ASF: 1 audio and 1 video streams found Auto-selected ASF audio ID = 1 Auto-selected ASF video ID = 2 ASF: Searching for audio stream (id:1). VIDEO: [WMV3] 320x240 24bpp 1000.000 fps 0.0 kbps ( 0.0 kbyte/s) [V] filefmt:6 fourcc:0x33564D57 size:320x240 fps:1000.00 ftime:=0.0010 Clip info: copyright: www.example.com get_path('sub/') -> '/home/user/.mplayer/sub/' get_path('default.sub') -> '/home/user/.mplayer/default.sub' ========================================================================== Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders dec_audio: Allocating 131072 + 65536 = 196608 bytes for output buffer. FFmpeg's libavcodec audio codec INFO: libavcodec init OK! AUDIO: 44100 Hz, 1 ch, 16 bit (0x10), ratio: 4006->88200 (32.0 kbit) Selected audio codec: [ffwmav2] afm:ffmpeg (DivX audio v2 (ffmpeg)) ========================================================================== ========================================================================== Opening video decoder: [dmo] DMO video codecs get_path('registry') -> '/home/user/.mplayer/registry' Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 8192 (LWP 1906)] 0x00408b52 in ?? () (gdb) bt #0 0x00408b52 in ?? () #1 0x087d83a0 in ?? () #2 0x004096db in ?? () #3 0xb957560c in ?? () Cannot access memory at address 0x245c8b53 (gdb) disass $pc-32 $pc+32 Dump of assembler code from 0x408b32 to 0x408b72: 0x408b32: mov $0x23a4,%esi 0x408b37: mov %edi,0x23d8(%esi) 0x408b3d: call 0x404f20 0x408b42: neg %eax 0x408b44: sbb %eax,%eax 0x408b46: inc %eax 0x408b47: mov %eax,0x2398(%esi) 0x408b4d: mov 0x401144,%eax 0x408b52: cmpl $0x501,(%eax) 0x408b58: jae 0x408b60 0x408b5a: mov %edi,0x2398(%esi) 0x408b60: mov 0x404268,%edx 0x408b66: lea 0x23a8(%esi),%ecx 0x408b6c: mov %edx,(%ecx) 0x408b6e: mov 0x40426c,%eax End of assembler dump. (gdb) info all-registers eax 0x0 0 ecx 0x1 1 edx 0x0 0 ebx 0x87d8398 142443416 esp 0xbfffdd28 0xbfffdd28 ebp 0x87d83a0 0x87d83a0 esi 0x87d82e0 142443232 edi 0x0 0 eip 0x408b52 0x408b52 eflags 0x210202 2163202 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x8f 143 gs 0x7 7 st0 -nan(0x2127210721062106) (raw 0xffff2127210721062106) st1 -nan(0x18e6210621272127) (raw 0xffff18e6210621272127) st2 -2248.752197265625 (raw 0xc00a8c8c090000000000) st3 4586.6650390625 (raw 0x400b8f55520000000000) st4 3.0183932112899185540300095453858376 (raw 0x4000c12d5ab83d5a0000) st5 -6.1564625187253341209725476801395416 (raw 0xc001c501bdaf1f340000) st6 4589.6793314756845632018666947260499 (raw 0x400b8f6d6f455739ab40) st7 32.048000000000000667133015497256565 (raw 0x4004803126e978d4feb4) fctrl 0x37f 895 fstat 0x220 544 ftag 0xffff 65535 fiseg 0x23 35 fioff 0x80cb1dc 135049692 foseg 0x2b 43 fooff 0xbfffde50 -1073750448 fop 0x55c 1372 xmm0 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} xmm1 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} xmm2 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} ---Type <return> to continue, or q <return> to quit--- xmm3 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} xmm4 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} xmm5 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} xmm6 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} xmm7 {f = {0x0, 0x0, 0x0, 0x0}} {f = {-nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}} mxcsr 0x1f80 8064 orig_eax 0xffffffff -1 (gdb) quit
participants (1)
-
Eli the Bearded