[MPlayer-users] [BUG] mp3lib crashes

Diego Biurrun diego at biurrun.de
Thu Sep 19 04:02:01 CEST 2002


I narrowed this down a bit, it crashes with 20020908, but does not
crash with 20020907, so some commit on september 7 or 8 (I don't know
when the CVS tarballs are made) must have broken it.

Diego


Diego Biurrun writes:
 > Latest CVS crashes on every MP3 audio I care to throw at it.  System
 > info, gdb backtrace and -v output below.
 > 
 > 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