[MPlayer-users] [BUG] AC3 decoding causes crash
Panagiotis Issaris
panagiotis at gmail.com
Sat Mar 25 20:46:55 CET 2006
Hi,
When trying to play any files containing an AC3 soundtrack or just a single
.ac3 file, mplayer always segfaults on my system. I'm using mplayers current
(of about 20h today) CVS tree.
I've included normal logs, debug info using gdb and --enable-debug=3, and
system info as requested in the documentation about bugreports.
Any tips?
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale
MPlayer dev-CVS-060325-20:11-4.0.3 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 X2 Manchester,Toledo (Family:
15, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
get_path('codecs.conf') -> '/home/takis/.mplayer/codecs.conf'
Reading /home/takis/.mplayer/codecs.conf: Can't open
'/home/takis/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open
'/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' 'sample.ac3'
init_freetype
get_path('font/font.desc') -> '/home/takis/.mplayer/font/font.desc'
font: can't open file: /home/takis/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Failed to open /dev/rtc: No such file or directory (it should be
readable by the user.)
Using nanosleep() timing
get_path('input.conf') -> '/home/takis/.mplayer/input.conf'
Can't open input config file /home/takis/.mplayer/input.conf: No such
file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No
such file or directory
Falling back on default (hardcoded) input config
get_path('sample.ac3.conf') -> '/home/takis/.mplayer/sample.ac3.conf'
Playing sample.ac3.
get_path('sub/') -> '/home/takis/.mplayer/sub/'
[file] File size is 784238 bytes
STREAM: [file] sample.ac3
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename sample.ac3 ext: .ac3
Trying demuxer 35 based on filename extension
LAVF_check: raw ac3
libavformat file format detected.
==> Found audio stream: 0
======= WAVE Format =======
Format Tag: 8192 (0x2000)
Channels: 2
Samplerate: 44100
avg byte/sec: 8000
Block align: 0
bits/sample: 0
cbSize: 0
===========================
LAVF: 1 audio and 0 video streams found
LAVF: build 3277824
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 6144 + 65536 = 71680 bytes for output buffer.
AC3: 2.0 (stereo) 44100 Hz 64.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0x2
Using MMX optimized resampler
AUDIO: 44100 Hz, 2 ch, s16le, 64.0 kbit/4.54% (ratio: 8000->176400)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[AO ESD] latency: [server: 0.28s, net: 0.00s] (adjust 0.28s)
AO: [esd] 44100Hz 2ch s16le (2 bytes per sample)
AO: Description: EsounD audio output
AO: Author: Juergen Keil <jk at tools.de>
Building audio filter chain for 44100Hz/2ch/s16le -> 44100Hz/2ch/s16le...
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...
MPlayer interrupted by signal 11 in module: decode_audio
- MPlayer crashed by bad usage of CPU/FPU/RAM.
Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- 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/HTML/en/bugreports.html and follow the instructions there. We can't and
won't help unless you provide this information when reporting a possible bug.
Uninit audio filters...
[libaf] Removing filter dummy
uninit audio: liba52
vo: x11 uninit called but X11 not inited..
(gdb) r -v sample.ac3
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/local/src/mplayer/mplayer -v sample.ac3
[Thread debugging using libthread_db enabled]
[New Thread 1980880608 (LWP 25628)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale
MPlayer dev-CVS-060325-20:11-4.0.3 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 X2 Manchester,Toledo (Family:
15, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
get_path('codecs.conf') -> '/home/takis/.mplayer/codecs.conf'
Reading /home/takis/.mplayer/codecs.conf: Can't open
'/home/takis/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open
'/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' 'sample.ac3'
init_freetype
get_path('font/font.desc') -> '/home/takis/.mplayer/font/font.desc'
font: can't open file: /home/takis/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Failed to open /dev/rtc: No such file or directory (it should be
readable by the user.)
Using nanosleep() timing
get_path('input.conf') -> '/home/takis/.mplayer/input.conf'
Can't open input config file /home/takis/.mplayer/input.conf: No such
file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No
such file or directory
Falling back on default (hardcoded) input config
get_path('sample.ac3.conf') -> '/home/takis/.mplayer/sample.ac3.conf'
Playing sample.ac3.
get_path('sub/') -> '/home/takis/.mplayer/sub/'
[file] File size is 784238 bytes
STREAM: [file] sample.ac3
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename sample.ac3 ext: .ac3
Trying demuxer 35 based on filename extension
LAVF_check: raw ac3
libavformat file format detected.
==> Found audio stream: 0
======= WAVE Format =======
Format Tag: 8192 (0x2000)
Channels: 2
Samplerate: 44100
avg byte/sec: 8000
Block align: 0
bits/sample: 0
cbSize: 0
===========================
LAVF: 1 audio and 0 video streams found
LAVF: build 3277824
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 6144 + 65536 = 71680 bytes for output buffer.
AC3: 2.0 (stereo) 44100 Hz 64.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0x2
Using MMX optimized resampler
AUDIO: 44100 Hz, 2 ch, s16le, 64.0 kbit/4.54% (ratio: 8000->176400)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[AO ESD] latency: [server: 0.28s, net: 0.00s] (adjust 0.28s)
AO: [esd] 44100Hz 2ch s16le (2 bytes per sample)
AO: Description: EsounD audio output
AO: Author: Juergen Keil <jk at tools.de>
Building audio filter chain for 44100Hz/2ch/s16le -> 44100Hz/2ch/s16le...
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1980880608 (LWP 25628)]
0x77d9cf29 in a52_frame () from /usr/local/lib/libavcodec.so.51
(gdb)
(gdb) bt
#0 0x77d9cf29 in a52_frame () from /usr/local/lib/libavcodec.so.51
#1 0x77d9edad in a52_block () from /usr/local/lib/libavcodec.so.51
#2 0x080be11c in decode_audio (sh_audio=0x8301d48, buf=0x8302d40 "",
minlen=65536, maxlen=71680) at ad_liba52.c:315
#3 0x080bceaf in decode_audio (sh_audio=0x8301d48, buf=0x83187e0 "",
minlen=65536, maxlen=<value optimized out>) at dec_audio.c:380
#4 0x0806ff5f in main (argc=3, argv=0x7fea6aa4) at mplayer.c:3475
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x77d9cf09 to 0x77d9cf49:
0x77d9cf09 <a52_frame+1822>: sub %esi,%ecx
0x77d9cf0b <a52_frame+1824>: shl %cl,%edx
0x77d9cf0d <a52_frame+1826>: mov 0xffffff74(%ebp),%ecx
0x77d9cf13 <a52_frame+1832>: movzbl 0xffffffff(%edi,%ecx,1),%eax
0x77d9cf18 <a52_frame+1837>: flds 0xffffff90(%ebp,%eax,4)
0x77d9cf1c <a52_frame+1841>: push %edx
0x77d9cf1d <a52_frame+1842>: fimull (%esp)
0x77d9cf20 <a52_frame+1845>: add $0x4,%esp
0x77d9cf23 <a52_frame+1848>: mov 0xffffff78(%ebp),%ebx
0x77d9cf29 <a52_frame+1854>: fstps 0xfffffffc(%ebx,%edi,4)
0x77d9cf2d <a52_frame+1858>: add $0x1,%edi
0x77d9cf30 <a52_frame+1861>: cmp 0xffffff70(%ebp),%edi
0x77d9cf36 <a52_frame+1867>: jne 0x77d9ce9c <a52_frame+1713>
0x77d9cf3c <a52_frame+1873>: add $0x9c,%esp
0x77d9cf42 <a52_frame+1879>: pop %ebx
0x77d9cf43 <a52_frame+1880>: pop %esi
0x77d9cf44 <a52_frame+1881>: pop %edi
0x77d9cf45 <a52_frame+1882>: pop %ebp
0x77d9cf46 <a52_frame+1883>: ret
0x77d9cf47 <a52_frame+1884>: mov %esi,0x4(%esp)
End of assembler dump.
(gdb) info all-registers
eax 0xf 15
ecx 0x82889a3 136874403
edx 0x0 0
ebx 0x0 0
esp 0x7fea5590 0x7fea5590
ebp 0x7fea5638 0x7fea5638
esi 0x6 6
edi 0x1 1
eip 0x77d9cf29 0x77d9cf29 <a52_frame+1854>
eflags 0x210216 2163222
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 2.2166081462914448457941773984458678 (raw
0x40008ddce86a179cb392)
st5 1.41421353816986083984375 (raw 0x3fffb504f30000000000)
st6 0 (raw 0x00000000000000000000)
st7 3.63797880709171295166015625e-12 (raw 0x3fd98000000000000000)
fctrl 0x37f 895
fstat 0x7820 30752
ftag 0x7fff 32767
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0,
0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
mxcsr 0x1f80 8064
mm0 {uint64 = 0x8000000000000000, v2_int32 = {0x0,
0x80000000}, v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5 {uint64 = 0x8ddce86a179cb392, v2_int32 = {0x179cb392,
0x8ddce86a}, v4_int16 = {0xb392, 0x179c, 0xe86a, 0x8ddc}, v8_int8 =
{0x92, 0xb3, 0x9c, 0x17, 0x6a, 0xe8, 0xdc, 0x8d}}
mm6 {uint64 = 0xb504f30000000000, v2_int32 = {0x0,
0xb504f300}, v4_int16 = {0x0, 0x0, 0xf300, 0xb504}, v8_int8 = {0x0,
0x0, 0x0, 0x0, 0x0, 0xf3, 0x4, 0xb5}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
Ubuntu (current Dapper Drake)
Linux poseidon 2.6.15-17-k7 #1 SMP PREEMPT Tue Mar 7 03:23:17 UTC 2006
i686 GNU/Linux
/lib/libc-2.3.6.so
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-awt=gtk-default
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre
--enable-mpfr --disable-werror --with-tune=pentium4
--enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu3)
GNU ld version 2.16.91 20060118 Debian GNU/Linux
GNU assembler 2.16.91 20060118 Debian GNU/Linux
Copyright 2005 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 `i486-linux-gnu'.
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 35
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
stepping : 2
cpu MHz : 2010.390
cache size : 512 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
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 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 2011.69
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 35
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
stepping : 2
cpu MHz : 2010.390
cache size : 512 KB
physical id : 127
siblings : 1
core id : 1
cpu cores : 1
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 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips : 2011.69
nVidia Corporation GeForce 7800 GT rev 161, using NVIDIA driver version 1.0.8178
Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio
Controller (rev a2), using ALSA drivers: snd_intel8x0, snd_ac97_codec,
snd_ac97_bus
With friendly regards,
Takis
More information about the MPlayer-users
mailing list