[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