[MPlayer-users] Bugreport - mp3lib segfaults

Glyn glyn.kennington at hertford.oxford.ac.uk
Tue May 14 15:29:01 CEST 2002


This problem appeared in the CVS tree at some time between Sunday
morning and yesterday night.  Whenever I try to read a file using the
mp3lib codec, it segfaults.  This happens with both mplayer and
mencoder.  Everything works normally if I use -afm 11, or -nosound.


------------------------mplayer log------------------------------
glyn at corrosive:~$ mplayer paper_clip.mpg


MPlayer CVS-020513-23:08-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 1
CPU: Intel Pentium P54C (Type: 5, Stepping: 12)
CPUflags: Type: 5 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with features:
/home/glyn/.mplayer/config(3): option: vo
/home/glyn/.mplayer/config(3): parameter: x11
/home/glyn/.mplayer/config(5): option: ao
/home/glyn/.mplayer/config(5): parameter: sdl:esd
/home/glyn/.mplayer/config(6): option: osdlevel
/home/glyn/.mplayer/config(6): parameter: 0
/home/glyn/.mplayer/config(7): option: bpp
/home/glyn/.mplayer/config(7): parameter: 16
/home/glyn/.mplayer/config(8): option: mc
/home/glyn/.mplayer/config(8): parameter: 10
/home/glyn/.mplayer/config(12): option: dr
/home/glyn/.mplayer/config(12): parameter: yes
/home/glyn/.mplayer/config(14): option: fs
/home/glyn/.mplayer/config(14): parameter: no
Reading /home/glyn/.mplayer/codecs.conf: 34 audio & 91 video codecs
CommandLine:get_path('font/font.desc') -> '/home/glyn/.mplayer/font/font.desc'
 '-v' '/home/glyn/paper_clip.mpg'
Using X86 Optimized OnScreenDisplay
Font /home/glyn/.mplayer/font/font.desc loaded successfully! (206 chars)
Linux RTC init error: Permission denied
Using usleep() timing
get_path('input.conf') -> '/home/glyn/.mplayer/input.conf'
Parsing input config file /home/glyn/.mplayer/input.conf
Input config file /home/glyn/.mplayer/input.conf parsed : 50 binds
Playing /home/glyn/paper_clip.mpg
Not an URL!
File size is 507296 bytes
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x823e9c8  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for MOV
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for VIVO
DEMUXER: freeing demuxer at 0x823e9c8  
header block 1 size: 0
Checking for REAL
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
system stream synced at 0xB (0)!
==> Found video stream: 0
Detected MPEG-PS file format!
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO:  MPEG1  176x96  (aspect 1)  25.00 fps  187.0 kbps (23.4 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:176x96  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/glyn/.mplayer/sub/'
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
Selecting Audio Decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer


MPlayer interrupted by signal 11 in module: init_audio_codec 
- 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.
vo: x11 uninit called but X11 not inited..
init layer2&3 finished, tables done
mp3lib: using Pentium optimized decore!

*** free_stream() called ***

-------------------------GDB results-------------------------------

(gdb) run -v ~/paper_clip.mpg 
Starting program: /usr/src/main/mplayer -v ~/paper_clip.mpg
[New Thread 1024 (LWP 19099)]


MPlayer CVS-020513-23:08-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 1
CPU: Intel Pentium P54C (Type: 5, Stepping: 12)
CPUflags: Type: 5 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with features:
/home/glyn/.mplayer/config(3): option: vo
/home/glyn/.mplayer/config(3): parameter: x11
/home/glyn/.mplayer/config(5): option: ao
/home/glyn/.mplayer/config(5): parameter: sdl:esd
/home/glyn/.mplayer/config(6): option: osdlevel
/home/glyn/.mplayer/config(6): parameter: 0
/home/glyn/.mplayer/config(7): option: bpp
/home/glyn/.mplayer/config(7): parameter: 16
/home/glyn/.mplayer/config(8): option: mc
/home/glyn/.mplayer/config(8): parameter: 10
/home/glyn/.mplayer/config(12): option: dr
/home/glyn/.mplayer/config(12): parameter: yes
/home/glyn/.mplayer/config(14): option: fs
/home/glyn/.mplayer/config(14): parameter: no
Reading /home/glyn/.mplayer/codecs.conf: 34 audio & 91 video codecs
CommandLine: '-v' '/home/glyn/paper_clip.mpg'
get_path('font/font.desc') -> '/home/glyn/.mplayer/font/font.desc'
Font /home/glyn/.mplayer/font/font.desc loaded successfully! (206 chars)
Using X86 Optimized OnScreenDisplay
Linux RTC init error: Permission denied
Using usleep() timing
get_path('input.conf') -> '/home/glyn/.mplayer/input.conf'
Parsing input config file /home/glyn/.mplayer/input.conf
Input config file /home/glyn/.mplayer/input.conf parsed : 50 binds
Playing /home/glyn/paper_clip.mpg
Not an URL!
File size is 507296 bytes
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x823e9c8  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for MOV
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x823e9c8  
Checking for REAL
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
DEMUXER: freeing demuxer at 0x823e9c8  
system stream synced at 0xB (0)!
==> Found video stream: 0
Detected MPEG-PS file format!
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO:  MPEG1  176x96  (aspect 1)  25.00 fps  187.0 kbps (23.4 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:176x96  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/glyn/.mplayer/sub/'
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
Selecting Audio Decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
init layer2&3 finished, tables done
mp3lib: using Pentium optimized decore!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 19099)]
0x08090cc7 in synth_1to1_pent (bandPtr=Cannot access memory at address 0x9
) at decode_i586.c:36
36          __asm __volatile(
(gdb) bt
#0  0x08090cc7 in synth_1to1_pent (bandPtr=Cannot access memory at address 0x9
) at decode_i586.c:36
Cannot access memory at address 0x1
(gdb)        disass $eip-32 $eip+32
Dump of assembler code from 0x8090ca7 to 0x8090ce7:
0x8090ca7 <MP3_PrintHeader+223>:        sti    
0x8090ca8 <MP3_PrintHeader+224>:        decl   0xec89e85d(%ebx)
0x8090cae <MP3_PrintHeader+230>:        pop    %ebp
0x8090caf <MP3_PrintHeader+231>:        ret    
0x8090cb0 <synth_1to1_pent>:    push   %ebp
0x8090cb1 <synth_1to1_pent+1>:  mov    %esp,%ebp
0x8090cb3 <synth_1to1_pent+3>:  sub    $0x1c,%esp
0x8090cb6 <synth_1to1_pent+6>:  push   %edi
0x8090cb7 <synth_1to1_pent+7>:  push   %esi
0x8090cb8 <synth_1to1_pent+8>:  push   %ebx
0x8090cb9 <synth_1to1_pent+9>:  mov    0x8(%ebp),%eax
0x8090cbc <synth_1to1_pent+12>: mov    0x10(%ebp),%esi
0x8090cbf <synth_1to1_pent+15>: xor    %edi,%edi
0x8090cc1 <synth_1to1_pent+17>: mov    0x818cb60,%ebp
0x8090cc7 <synth_1to1_pent+23>: cmp    %edi,0xc(%ebp)
0x8090cca <synth_1to1_pent+26>: jne    0x8090cdd <synth_1to1_pent+45>
0x8090ccc <synth_1to1_pent+28>: dec    %ebp
0x8090ccd <synth_1to1_pent+29>: and    $0xf,%ebp
0x8090cd0 <synth_1to1_pent+32>: mov    %ebp,0x818cb60
0x8090cd6 <synth_1to1_pent+38>: mov    $0x81d5f80,%ecx
0x8090cdb <synth_1to1_pent+43>: jmp    0x8090ce5 <synth_1to1_pent+53>
0x8090cdd <synth_1to1_pent+45>: add    $0x2,%esi
0x8090ce0 <synth_1to1_pent+48>: mov    $0x81d6800,%ecx
0x8090ce5 <synth_1to1_pent+53>: test   $0x1,%ebp
End of assembler dump.
(gdb) 

-----------------------mencoder log--------------------------
glyn at corrosive:~$ mencoder -v paper_clip.mpg -o paperclip.avi -ovc divx4 


MEncoder CVS-020513-23:08-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 1
CPU: Intel Pentium P54C (Type: 5, Stepping: 12)
CPUflags: Type: 5 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Reading /home/glyn/.mplayer/codecs.conf: 34 audio & 91 video codecs
Font /home/glyn/.mplayer/font/font.desc loaded successfully! (206 chars)
File not found: 'frameno.avi'
Not an URL!
File size is 507296 bytes
success: format: 0  data: 0x0 - 0x7BDA0
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x825a748  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x825a748  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x825a748  
Checking for MOV
DEMUXER: freeing demuxer at 0x825a748  
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x825a748  
Checking for REAL
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
system stream synced at 0xB (0)!
==> Found video stream: 0
Detected MPEG-PS file format!
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO:  MPEG1  176x96  (aspect 1)  25.00 fps  187.0 kbps (23.4 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:176x96  fps:25.00  ftime:=0.0400
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
Selecting Audio Decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
init layer2&3 finished, tables done
mp3lib: using Pentium optimized decore!
Segmentation fault (core dumped)

-------------------mencoder core examination--------------

Core was generated by `mencoder -v paper_clip.mpg -o paperclip.avi -ovc divx4'.
Program terminated with signal 11, Segmentation fault.
#0  0x08083797 in synth_1to1_pent (bandPtr=Cannot access memory at address 0x9
) at decode_i586.c:36
36	    __asm __volatile(
Dump of assembler code from 0x8083777 to 0x80837b7:
0x8083777 <MP3_PrintHeader+223>:	cld    
0x8083778 <MP3_PrintHeader+224>:	decl   0xec89e85d(%ebx)
0x808377e <MP3_PrintHeader+230>:	pop    %ebp
0x808377f <MP3_PrintHeader+231>:	ret    
0x8083780 <synth_1to1_pent>:	push   %ebp
0x8083781 <synth_1to1_pent+1>:	mov    %esp,%ebp
0x8083783 <synth_1to1_pent+3>:	sub    $0x1c,%esp
0x8083786 <synth_1to1_pent+6>:	push   %edi
0x8083787 <synth_1to1_pent+7>:	push   %esi
0x8083788 <synth_1to1_pent+8>:	push   %ebx
0x8083789 <synth_1to1_pent+9>:	mov    0x8(%ebp),%eax
0x808378c <synth_1to1_pent+12>:	mov    0x10(%ebp),%esi
0x808378f <synth_1to1_pent+15>:	xor    %edi,%edi
0x8083791 <synth_1to1_pent+17>:	mov    0x81715c0,%ebp
0x8083797 <synth_1to1_pent+23>:	cmp    %edi,0xc(%ebp)
0x808379a <synth_1to1_pent+26>:	jne    0x80837ad <synth_1to1_pent+45>
0x808379c <synth_1to1_pent+28>:	dec    %ebp
0x808379d <synth_1to1_pent+29>:	and    $0xf,%ebp
0x80837a0 <synth_1to1_pent+32>:	mov    %ebp,0x81715c0
0x80837a6 <synth_1to1_pent+38>:	mov    $0x81b6840,%ecx
0x80837ab <synth_1to1_pent+43>:	jmp    0x80837b5 <synth_1to1_pent+53>
0x80837ad <synth_1to1_pent+45>:	add    $0x2,%esi
0x80837b0 <synth_1to1_pent+48>:	mov    $0x81b70c0,%ecx
0x80837b5 <synth_1to1_pent+53>:	test   $0x1,%ebp
End of assembler dump.
eax=BFFFE13C
ebx=BFFFDF3C
ecx=00000020
edx=BFFFE13C
esp=BFFFDC64
ebp=00000001
edi=00000000
esi=0825CFF8

---------------------gdb session for mencoder------------------
(gdb) run -ovc divx4 ~/paper_clip.mpg  -o ~/paper_clip.avi -v
Starting program: /usr/src/main/mencoder -ovc divx4 ~/paper_clip.mpg  -o ~/paper_clip.avi -v
[New Thread 1024 (LWP 19137)]


MEncoder CVS-020513-23:08-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 1
CPU: Intel Pentium P54C (Type: 5, Stepping: 12)
CPUflags: Type: 5 MMX: 0 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Reading /home/glyn/.mplayer/codecs.conf: 34 audio & 91 video codecs
Font /home/glyn/.mplayer/font/font.desc loaded successfully! (206 chars)
File not found: 'frameno.avi'
Not an URL!
File size is 507296 bytes
success: format: 0  data: 0x0 - 0x7BDA0
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x825a748  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x825a748  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x825a748  
Checking for MOV
DEMUXER: freeing demuxer at 0x825a748  
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x825a748  
Checking for REAL
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
DEMUXER: freeing demuxer at 0x825a748  
system stream synced at 0xB (0)!
==> Found video stream: 0
Detected MPEG-PS file format!
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO:  MPEG1  176x96  (aspect 1)  25.00 fps  187.0 kbps (23.4 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:176x96  fps:25.00  ftime:=0.0400
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
Selecting Audio Decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
init layer2&3 finished, tables done
mp3lib: using Pentium optimized decore!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 19137)]
0x08083797 in synth_1to1_pent (bandPtr=Cannot access memory at address 0x9
) at decode_i586.c:36
36          __asm __volatile(
(gdb) bt
#0  0x08083797 in synth_1to1_pent (bandPtr=Cannot access memory at address 0x9
) at decode_i586.c:36
Cannot access memory at address 0x1
(gdb) disass $eip-32 $eip+32
Dump of assembler code from 0x8083777 to 0x80837b7:
0x8083777 <MP3_PrintHeader+223>:        cld    
0x8083778 <MP3_PrintHeader+224>:        decl   0xec89e85d(%ebx)
0x808377e <MP3_PrintHeader+230>:        pop    %ebp
0x808377f <MP3_PrintHeader+231>:        ret    
0x8083780 <synth_1to1_pent>:    push   %ebp
0x8083781 <synth_1to1_pent+1>:  mov    %esp,%ebp
0x8083783 <synth_1to1_pent+3>:  sub    $0x1c,%esp
0x8083786 <synth_1to1_pent+6>:  push   %edi
0x8083787 <synth_1to1_pent+7>:  push   %esi
0x8083788 <synth_1to1_pent+8>:  push   %ebx
0x8083789 <synth_1to1_pent+9>:  mov    0x8(%ebp),%eax
0x808378c <synth_1to1_pent+12>: mov    0x10(%ebp),%esi
0x808378f <synth_1to1_pent+15>: xor    %edi,%edi
0x8083791 <synth_1to1_pent+17>: mov    0x81715c0,%ebp
0x8083797 <synth_1to1_pent+23>: cmp    %edi,0xc(%ebp)
0x808379a <synth_1to1_pent+26>: jne    0x80837ad <synth_1to1_pent+45>
0x808379c <synth_1to1_pent+28>: dec    %ebp
0x808379d <synth_1to1_pent+29>: and    $0xf,%ebp
0x80837a0 <synth_1to1_pent+32>: mov    %ebp,0x81715c0
0x80837a6 <synth_1to1_pent+38>: mov    $0x81b6840,%ecx
0x80837ab <synth_1to1_pent+43>: jmp    0x80837b5 <synth_1to1_pent+53>
0x80837ad <synth_1to1_pent+45>: add    $0x2,%esi
0x80837b0 <synth_1to1_pent+48>: mov    $0x81b70c0,%ecx
0x80837b5 <synth_1to1_pent+53>: test   $0x1,%ebp
End of assembler dump.


-----------------System Information--------------------------
Debian 3.0 Woody/Testing


glyn at corrosive:~$ uname -a
Linux corrosive 2.4.18 #1 Wed Mar 6 21:49:14 GMT 2002 i586 unknown

glyn at corrosive:~$ ls -l /lib/libc[.-]*
-rwxr-xr-x    1 root     root      1153784 Apr 28 10:57 /lib/libc-2.2.5.so
lrwxrwxrwx    1 root     root           13 May 12 17:07 /lib/libc.so.6 -> libc-2.2.5.so

glyn at corrosive:~$ X -version

This is a pre-release version of XFree86, and is not supported in any
way.  Bugs may be reported to XFree86 at XFree86.Org and patches submitted
to fixes at XFree86.Org.  Before reporting bugs in pre-release versions,
please check the latest version in the XFree86 CVS repository
(http://www.XFree86.Org/cvs)

XFree86 Version 4.1.0.1 / X Window System
(protocol Version 11, revision 0, vendor release 6510)
Release Date: 21 December 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.17 i686 [ELF] 
Module Loader present

glyn at corrosive:~$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)

glyn at corrosive:~$ ld -v
GNU ld version 2.12.90.0.1 20020307 Debian/GNU Linux

glyn at corrosive:~$ as --version
GNU assembler 2.12.90.0.1 20020307 Debian/GNU Linux
Copyright 2002 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 `i386-linux'.

glyn at corrosive:~$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 5
model           : 2
model name      : Pentium 75 - 200
stepping        : 12
cpu MHz         : 132.633
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : yes
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8
bogomips        : 264.60


Glyn

-- 
glyn.kennington at hertford.oxford.ac.uk

There are pavements on New Inn Hall Street.  Down both sides, in fact.




More information about the MPlayer-users mailing list