[MPlayer-users] MPlayer-20020825/gcc 2.95.3: sig11 while decoding a (probably) broken VCD

Bernhard Sadlowski sadlowsk at mathematik.uni-bielefeld.de
Sun Aug 25 15:37:02 CEST 2002


I've updated my gcc from 2.95.2 to 2.95.3. But this didn't help. I still
get a reproducable sig11 crash with a partially broken MPEG file. I've
uploaded the file and this email to

	  ftp://mplayerhq.hu/MPlayer/incoming/crash.mpg
	  ftp://mplayerhq.hu/MPlayer/incoming/crash.txt

System: Slackware 7.0 + manual updates

$ uname -a
Linux k7 2.4.19 #2 Sun Aug 4 13:58:25 CEST 2002 i686 unknown

$ ls -l /lib/libc[.-]*
-rwxr-xr-x    1 root     root      1008844 10. Sep 1999  /lib/libc-2.1.2.so
-rwxr-xr-x    1 root     root      4131124  4. Jun 2000  /lib/libc-2.1.3.so
lrwxrwxrwx    1 root     root           14 21. Jun 2001  /lib/libc.so.5 -> libc.so.5.4.46
-rwxr-xr-x    1 root     root       614840 22. Aug 1999  /lib/libc.so.5.4.46
lrwxrwxrwx    1 root     root           13  4. Jun 2000  /lib/libc.so.6 -> libc-2.1.3.so

$ X -version

XFree86 Version 4.1.0 / X Window System
(protocol Version 11, revision 0, vendor release 6510)
Release Date: 2 June 2001
        If the server is older than 6-12 months, or if your card is
        newer than the above date, look for a newer version before
        reporting problems.  (See http://www.XFree86.Org/FAQ)
Build Operating System: Linux 2.4.5 i686 [ELF]
Module Loader present

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/specs
gcc version 2.95.3 20010315 (release)

$ ld -v
GNU ld version 2.11.92.0.12.3 20011121

$ as --version
GNU assembler 2.11.92.0.12.3 20011121
Copyright 2001 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of i686-pc-linux-gnu'.

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 1
model name      : AMD-K7(tm) Processor
stepping        : 2
cpu MHz         : 503.530
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca
cmov pat mmx syscall mmxext 3dnowext 3dnow
bogomips        : 1002.70

Audio + Video:

00:10.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
        Subsystem: Ensoniq Creative Sound Blaster AudioPCI64V, AudioPCI128
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort+ <MAbort+ >SERR- <PERR-
        Latency: 64 (3000ns min, 32000ns max)
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at b400 [size=64]
        Capabilities: <available only to root>

01:05.0 VGA compatible controller: nVidia Corporation NV15 DDR (GeForce2 GTS) (rev a4) (prog-if 00 [VGA])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 248 (1250ns min, 250ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at ee000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at efaf0000 [disabled] [size=64K]
        Capabilities: <available only to root>

k7:/raid/vcd$ gdb /vol01/cvs/mplayer/MPlayer-20020825/mplayer
GNU gdb 4.18
Copyright 1998 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 "i686-pc-linux-gnu"...
(gdb) run -v crash.mpg
Starting program: /vol01/cvs/mplayer/MPlayer-20020825/mplayer -v crash.mpg


MPlayer CVS-020825-06:00-2.95.3 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU: Advanced Micro Devices Athlon K7 (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

Reading /home/sadlowsk/.mplayer/codecs.conf: can't open
'/home/sadlowsk/.mplayer/codecs.conf': Datei oder Verzeichnis nicht
gefunden
Reading /usr/local/share/mplayer/codecs.conf: 38 audio & 106 video codecs
CommandLine: '-v' 'crash.mpg'
get_path('font/font.desc') -> '/home/sadlowsk/.mplayer/font/font.desc'
font: can't open file: /home/sadlowsk/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Linux RTC init error in ioctl (rtc_pie_on): Keine Berechtigung
Using usleep() timing
get_path('input.conf') -> '/home/sadlowsk/.mplayer/input.conf'
Can't open input config file /home/sadlowsk/.mplayer/input.conf : Datei
oder Verzeichnis nicht gefunden
Can't open input config file /usr/local/share/mplayer/input.conf : Datei
oder Verzeichnis nicht gefunden
Falling back on default (hardcoded) input config
Setting up lirc support...
mplayer: could not connect to socket
mplayer: Keine Berechtigung
Failed opening lirc support!
You won't be able to use your remote control

Playing crash.mpg
Not an URL!
File size is 524288 bytes
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x8285d48
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x8285d48
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x8285d48
Checking for MOV
DEMUXER: freeing demuxer at 0x8285d48
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x8285d48
Checking for REAL
DEMUXER: freeing demuxer at 0x8285d48
DEMUXER: freeing demuxer at 0x8285d48
DEMUXER: freeing demuxer at 0x8285d48
DEMUXER: freeing demuxer at 0x8285d48
DEMUXER: freeing demuxer at 0x8285d48
DEMUXER: freeing demuxer at 0x8285d48
system stream synced at 0x97 (0)!
==> Found video stream: 0
Detected MPEG-PS file format!
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO:  MPEG1  352x288  (aspect 8)  25.00 fps  1437.5 kbps (179.7 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:352x288  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/sadlowsk/.mplayer/sub/'
Detected audio codec: [mp3] afm:1 (mp3lib MPEG layer-2, layer-3)
Initializing audio codec...
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 II, 44100 Hz 224 kbit Stereo, BPF: 731
Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0
AUDIO: 44100 Hz, 2 ch, sfmt: 0x10 (2 bps), ratio: 28000->176400 (224.0
kbit)
X11 opening display: :0
vo: X11 color mask:  FFFF  (R:F800 G:7E0 B:1F)
vo: X11 running at 1280x1024 with depth 16 and 16 bpp (":0" => local
display)
[x11] Detected wm is of class NetWM.
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 352 x 288 (preferred csp: Mpeg PES)
vo_debug: query(Mpeg PES) returned 0x0 (i=0)
Couldn't find matching colorspace - retrying with -vop scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
vo_debug: query(Mpeg PES) returned 0x0 (i=0)
Sorry, selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder v2.0
libmpeg2: Using MMXEXT for IDCT transform
libmpeg2: Using MMXEXT for motion compensation
VDec: vo config request - 352 x 288 (preferred csp: Planar YV12)
vo_debug: query(Planar YV12) returned 0x437 (i=0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
video_out->init(352x288->384x288,flags=0,'MPlayer',0x32315659)
VO: [xv] 352x288 => 384x288 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 55 for hw scaling
[xv] dx: 0 dy: 0 dw: 384 dh: 308
Detected video codec: [mpeg12] vfm:1 (MPEG 1 or 2)
==========================================================================
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
ao2: 44100 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 44100 Hz samplerate (requested: 44100)
audio_setup: frags: 128/128  (1024 bytes/frag)  free: 131072
Start playing...
*** [vo] Allocating mp_image_t, 352x288x12bpp YUV planar, 152064 bytes
[x11] Detected wm is KDE.
[xv] dx: 0 dy: 0 dw: 384 dh: 288
*** [vo] Allocating mp_image_t, 352x288x12bpp YUV planar, 152064 bytes%
*** [vo] Allocating mp_image_t, 352x288x12bpp YUV planar, 152064 bytes%
A:1021.9 V:1021.9 A-V: -0.052 ct: -0.060   16/ 16   9%  5%  6.2% 0 0 0%
Program received signal SIGSEGV, Segmentation fault.
0x80baa83 in II_step_one (bit_alloc=0xbfffdf9c, scale=0xbfffdc9c,
fr=0x8248360)
    at layer2.c:103
103             *bita++ = (char) getbits(step=alloc1->bits);
(gdb) list
98                *scfsi++ = (char) getbits_fast(2);
99          }
100         else /* mono */
101         {
102           for (i=sblimit;i;i--,alloc1+=(1<<step))
103             *bita++ = (char) getbits(step=alloc1->bits);
104           bita = bit_alloc;
105           scfsi=scfsi_buf;
106           for (i=sblimit;i;i--)
107             if (*bita++)
(gdb) bt
#0  0x80baa83 in II_step_one (bit_alloc=0xbfffdf9c, scale=0xbfffdc9c,
    fr=0x8248360) at layer2.c:103
#1  0x80bb75e in do_layer2 (fr=0x8248360, outmode=-1) at layer2.c:279
#2  0x80c3275 in MP3_DecodeFrame (hova=0x82a7878 "ªýu", single=-1) at
sr1.c:540
#3  0x809d630 in decode_audio (sh_audio=0x8287280, buf=0x82a7878 "ªýu",
    minlen=2560, maxlen=65536) at ad_mp3.c:79
#4  0x809bcde in decode_audio (sh_audio=0x8287280, buf=0x82a7878 "ªýu",
    minlen=2560, maxlen=65536) at dec_audio.c:130
#5  0x806b23e in main (argc=3, argv=0xbffff7c4, envp=0xbffff7d4)
    at mplayer.c:1510
(gdb) disass $eip-32 $eip+32
Dump of assembler code from 0x80baa63 to 0x80baaa3:
0x80baa63 <II_step_one+647>:    movl   $0x9b75f04d,(%edi,%edi,8)
0x80baa6a <II_step_one+654>:    jmp    0x80bab95 <II_step_one+953>
0x80baa6f <II_step_one+659>:    nop
0x80baa70 <II_step_one+660>:    mov    0xfffffffc(%ebp),%ebx
0x80baa73 <II_step_one+663>:    mov    %ebx,0xfffffff0(%ebp)
0x80baa76 <II_step_one+666>:    test   %ebx,%ebx
0x80baa78 <II_step_one+668>:    je     0x80bab19 <II_step_one+829>
0x80baa7e <II_step_one+674>:    mov    %esi,%esi
0x80baa80 <II_step_one+676>:    mov    0xfffffff4(%ebp),%eax
0x80baa83 <II_step_one+679>:    movswl (%eax),%eax
0x80baa86 <II_step_one+682>:    mov    %eax,0xffffffe8(%ebp)
0x80baa89 <II_step_one+685>:    mov    %eax,%edi
0x80baa8b <II_step_one+687>:    mov    0x8248348,%eax
0x80baa90 <II_step_one+692>:    sub    %edi,%eax
0x80baa92 <II_step_one+694>:    mov    %eax,0x8248348
0x80baa97 <II_step_one+699>:    js     0x80baaa0 <II_step_one+708>
0x80baa99 <II_step_one+701>:    cmpw   $0x0,0xffffffe8(%ebp)
0x80baa9e <II_step_one+706>:    jne    0x80baaa4 <II_step_one+712>
0x80baaa0 <II_step_one+708>:    xor    %ebx,%ebx
0x80baaa2 <II_step_one+710>:    jmp    0x80baaf5 <II_step_one+793>
End of assembler dump.
(gdb) printf "eax=%08lX\n",$eax
eax=0000006E
(gdb) printf "ebx=%08lX\n",$ebx
ebx=00000120
(gdb) printf "ecx=%08lX\n",$ecx
ecx=00000000
(gdb) printf "edx=%08lX\n",$edx
edx=00000120
(gdb) printf "esp=%08lX\n",$esp
esp=BFFFDC14
(gdb) printf "ebp=%08lX\n",$ebp
ebp=BFFFDC4C
(gdb) printf "edi=%08lX\n",$edi
edi=00000000
(gdb) printf "esi=%08lX\n",$esi
esi=BFFFDC9C




More information about the MPlayer-users mailing list