[MPlayer-users] [BUG] mp3lib crashes

Diego Biurrun diego at biurrun.de
Wed Sep 18 05:01:02 CEST 2002


Hi!

Latest CVS crashes on every MP3 audio I care to throw at it.  System
info, gdb backtrace and -v output below.

Diego


Debian woody
Linux 2.4.19 + patches
libc 2.2.5
X 4.1.0
gcc 2.95.4
binutils 2.12.90.0.1

K6-III 500 512MB RAM
G550 with Matrox drivers 2.0beta
SB Live! 5.1



Program received signal SIGILL, Illegal instruction.
[Switching to Thread 1024 (LWP 7392)]
0x080bdedc in dct64_MMX_3dnowex (a=0x8247302, b=0x82470e0, c=0x8249820)
    at dct64_k7.c:20
20	    __asm __volatile(
(gdb) bt
#0  0x080bdedc in dct64_MMX_3dnowex (a=0x8247302, b=0x82470e0, c=0x8249820)
    at dct64_k7.c:20
#1  0x080bb66f in synth_1to1_MMX_s (bandPtr=0x8249820, channel=0, 
    samples=0x83a5620, buffs=0x8246ca0, bo=0x8205fb8) at decode_MMX.c:54
#2  0x080b9b09 in synth_1to1_MMX (bandPtr=0x8249820, channel=0, 
    samples=0x83a5620) at decod386.c:157
#3  0x080b9b3f in synth_1to1 (bandPtr=0x8249820, channel=0, out=0x83a5620 "", 
    pnt=0xbfffe468) at decod386.c:176
#4  0x080ba493 in do_layer3 (fr=0x824b840, single=-1) at layer3.c:1700
#5  0x080bb225 in MP3_DecodeFrame (hova=0x83a5620 "", single=-1) at sr1.c:541
#6  0x080917c7 in init (sh=0x8341148) at ad_mp3lib.c:47
#7  0x0808f898 in init_audio (sh_audio=0x8341148) at dec_audio.c:112
#8  0x08065125 in main (argc=3, argv=0xbffffaa4) at mplayer.c:1252
(gdb) disass $eip-32 $eip+32
Dump of assembler code from 0x80bdebc to 0x80bdefc:
0x80bdebc <dct64_MMX_3dnowex+16>:	push   %ebp
0x80bdebd <dct64_MMX_3dnowex+17>:	orb    $0xc,0x7d8b0875(%ebx)
0x80bdec4 <dct64_MMX_3dnowex+24>:	mov    $0x8208418,%ebx
0x80bdec9 <dct64_MMX_3dnowex+29>:	lea    0xffffff00(%ebp),%ecx
0x80bdecf <dct64_MMX_3dnowex+35>:	movq   (%eax),%mm0
0x80bded2 <dct64_MMX_3dnowex+38>:	movq   0x8(%eax),%mm4
0x80bded6 <dct64_MMX_3dnowex+42>:	movq   %mm0,%mm3
0x80bded9 <dct64_MMX_3dnowex+45>:	movq   %mm4,%mm7
0x80bdedc <dct64_MMX_3dnowex+48>:	pshufw $0x4e,0x78(%eax),%mm1
0x80bdee1 <dct64_MMX_3dnowex+53>:	pshufw $0x4e,0x70(%eax),%mm5
0x80bdee6 <dct64_MMX_3dnowex+58>:	pfadd  %mm1,%mm0
0x80bdeea <dct64_MMX_3dnowex+62>:	pfadd  %mm5,%mm4
0x80bdeee <dct64_MMX_3dnowex+66>:	movq   %mm0,(%edx)
0x80bdef1 <dct64_MMX_3dnowex+69>:	movq   %mm4,0x8(%edx)
0x80bdef5 <dct64_MMX_3dnowex+73>:	pfsub  %mm1,%mm3
0x80bdef9 <dct64_MMX_3dnowex+77>:	pfsub  %mm5,%mm7
End of assembler dump.






MPlayer CVS-020918-03:51-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS)

CPU: Advanced Micro Devices K6-2+/K6-III+ Sharptooth (Family: 5, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 0 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX 3DNow 3DNowEx

/home/diego/.mplayer/config(3): option: osdlevel
/home/diego/.mplayer/config(3): parameter: 1
/home/diego/.mplayer/config(4): option: stop_xscreensaver
/home/diego/.mplayer/config(4): parameter: 1
Reading /home/diego/.mplayer/codecs.conf: 38 audio & 106 video codecs
CommandLine: '-v' '/var/tmp/FinalFantasy.avi'
get_path('font/font.desc') -> '/home/diego/.mplayer/font/font.desc'
Font /home/diego/.mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit 3DNow) Optimized OnScreenDisplay
Linux RTC init error: Device or resource busy
Using usleep() timing
get_path('input.conf') -> '/home/diego/.mplayer/input.conf'
Parsing input config file /home/diego/.mplayer/input.conf
Input config file /home/diego/.mplayer/input.conf parsed : 50 binds

Playing /var/tmp/FinalFantasy.avi
Not an URL!
File size is 734099456 bytes
Detected AVI file format!
list_end=0x2292
======= AVI Header =======
us/frame: 41708  (fps=23.976)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 146071   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  576 x 320
list_end=0x10F4
==> Found video stream: 0
======= STREAM Header =======
Type: vids   FCC: div3 (33766964)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 23976/1000 = 23.976
Start: 0   Len: 146071
Suggested BufferSize: 49844
Quality 10000
Sample size: 0
found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 576
  biHeight 320
  biPlanes 1
  biBitCount 24
  biCompression 861292868='DIV3'
  biSizeImage 552960
===========================
Regenerating keyframe table for DIVX 3 video
list_end=0x2186
==> Found audio stream: 1
======= STREAM Header =======
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 44100/1152 = 38.281
Start: 0   Len: 233221
Suggested BufferSize: 417
Quality -1
Sample size: 0
found 'wf', 30 bytes of 18
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 44100
avg byte/sec: 15963
Block align: 1152
bits/sample: 0
cbSize: 12
mp3.wID=1
mp3.fdwFlags=0x2
mp3.nBlockSize=417
mp3.nFramesPerBlock=1
mp3.nCodecDelay=0
list_end=0x2292
list_end=0x22B6
hdr=Software  size=15
Software  : Nandub v1.0rc2
Broken chunk?  chunksize=1346  (id=JUNK)
list_end=0x2B64D6F4
Found movie at 0x280C - 0x2B64D6F4
Reading INDEX block, 379292 chunks for 146071 frames
Broken chunk?  chunksize=0  (id=idx1)
Reading INDEX block, 379292 chunks for 146071 frames
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x1AE)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video length=724751115
VIDEO:  [DIV3]  576x320  24bpp  23.98 fps  951.7 kbps (116.2 kbyte/s)
[V] filefmt:3  fourcc:0x33564944  size:576x320  fps:23.98  ftime:=0.0417
Clip info: 
 Software: Nandub v1.0rc2
get_path('sub/') -> '/home/diego/.mplayer/sub/'
==========================================================================
Detected audio codec: [mp3] afm:mp3lib (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!


MPlayer interrupted by signal 4 in module: init_audio_codec 
- MPlayer crashed by 'Illegal Instruction'. It usually happens when you run it on different CPU than it was compiled/optimized for. Verify this!
- MPlayer crashed by bad usage of CPU/FPU/RAM. Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and disassembly. For details, see DOCS/bugreports.html section 5.b.
- MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/bugreports.html and follow instructions there. We can't and won't help unless you provide these informations when reporting a possible bug.
DEMUXER: freeing demuxer at 0x83a4198  
vo: x11 uninit called but X11 not inited..




More information about the MPlayer-users mailing list