[MPlayer-users] "DMO video codecs" multifile crash, 100% reproducible

Eli the Bearded mplayer-users at eli.users.panix.com
Wed Apr 13 02:43:32 CEST 2005

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
==> 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
==> 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
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
st5            -6.1564625187253341209725476801395416    (raw
st6            4589.6793314756845632018666947260499     (raw
st7            32.048000000000000667133015497256565     (raw
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

More information about the MPlayer-users mailing list