[MPlayer-users] Segmentation Fault with Musepack 8 playback
andrew
andrew.david.45 at gmail.com
Fri May 29 12:42:03 CEST 2009
Hi,
I am experiencing a segmentation fault while playing a Musepack sv8 file
with the current svn MPlayer. I have followed the bugreport guidelines
as follows:
+-----------------------------
andrew at skamandros~/Desktop/mplayer$ gdb ./mplayer
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...
(gdb) run -v solaris.mpc
Starting program: /home/andrew/Desktop/mplayer/mplayer -v solaris.mpc
[Thread debugging using libthread_db enabled]
MPlayer SVN-r29328-4.2.4 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel max cpuid level: 10
CPU: Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz (Family: 6,
Model: 15, Stepping: 2)
extended cpuid-level: 8
extended cache-info: 134242368
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 SSSE3 CMOV
get_path('codecs.conf') -> '/home/andrew/.mplayer/codecs.conf'
Reading /home/andrew/.mplayer/codecs.conf: Can't open
'/home/andrew/.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.
Configuration: --enable-debug=3
CommandLine: '-v' 'solaris.mpc'
init_freetype
get_path('font/font.desc') -> '/home/andrew/.mplayer/font/font.desc'
font: can't open file: /home/andrew/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/andrew/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/andrew/.mplayer/input.conf'
Can't open input config file /home/andrew/.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('solaris.mpc.conf') ->
'/home/andrew/.mplayer/solaris.mpc.conf'
Playing solaris.mpc.
get_path('sub/') -> '/home/andrew/.mplayer/sub/'
[file] File size is 3821912 bytes
STREAM: [file] solaris.mpc
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: Musepack SV8
libavformat file format detected.
==> Found audio stream: 0
[lavf] Audio stream found, -aid 0
======= WAVE Format =======
Format Tag: 20557 (0x504D)
Channels: 2
Samplerate: 44100
avg byte/sec: 0
Block align: 1
bits/sample: 16
cbSize: 2
Unknown extra header dump: [1b] [1b]
==========================================================================
LAVF: 1 audio and 0 video streams found
LAVF: build 3416320
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
dec_audio: Allocating 1130496 + 65536 = 1196032 bytes for output
buffer.
FFmpeg's libavcodec audio codec
INFO: libavcodec init OK!
AUDIO: 44100 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->176400)
Selected audio codec: [ffmusepack8] afm: ffmpeg (Musepack sv8 audio
codec)
==========================================================================
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
Trying every known audio driver...
ao2: 44100 Hz 2 chans s16le
audio_setup: using '/dev/dsp' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer device
audio_setup: sample format: s16le (requested: s16le)
audio_setup: using 2 channels (requested: 2)
audio_setup: using 44100 Hz samplerate (requested: 44100)
audio_setup: frags: 16/16 (4096 bytes/frag) free: 65536
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
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...
Increasing filtered audio buffer size from 0 to 65536
[New Thread 0xb6b6f6d0 (LWP 20333)]1) ??,?%
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6b6f6d0 (LWP 20333)]
mpc8_get_mask (gb=0xbfba8884, size=1, t=34086465) at mpc8.c:47
47 int code = get_bits(gb, mpc8_cnk_len[k-1][n-1] - 1);
+--------------------------------------
and then:
+-------------------------------------
(gdb) bt
#0 mpc8_get_mask (gb=0xbfba8884, size=1, t=34086465) at mpc8.c:47
#1 0x084e2231 in mpc8_decode_frame (avctx=0x8dedaa0, data=0xb6a0b820,
data_size=0xbfba89b0, avpkt=0xbfba891c)
at mpc8.c:275
#2 0x083597f9 in avcodec_decode_audio3 (avctx=0x8dedaa0,
samples=0xb6a0b820, frame_size_ptr=0xbfba89b0,
avpkt=0xbfba891c) at utils.c:607
#3 0x0835a871 in avcodec_decode_audio2 (avctx=0x8dedaa0,
samples=0xb6a0b820, frame_size_ptr=0xbfba89b0,
buf=0x2f9a8 <Address 0x2f9a8 out of bounds>, buf_size=5) at
utils.c:585
#4 0x0823cde9 in decode_audio (sh_audio=0x8ded9a0, buf=0xb6a0b820 "",
minlen=2048, maxlen=1193984)
at libmpcodecs/ad_ffmpeg.c:170
#5 0x0813c254 in decode_audio (sh_audio=0x8ded9a0, minlen=4096) at
libmpcodecs/dec_audio.c:372
#6 0x080c4896 in main (argc=3, argv=0xbfba9ce4) at mplayer.c:2040
+-----------------------------------
and then:
+-----------------------------------
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x84e1ed9 to 0x84e1f19:
0x084e1ed9 <mpc8_get_mask+41>: inc %ebp
0x084e1eda <mpc8_get_mask+42>: loopne 0x84e1e67
<mpc8_decode_init+2375>
0x084e1edc <mpc8_get_mask+44>: dec %ebp
0x084e1edd <mpc8_get_mask+45>: in $0x39,%al
0x084e1edf <mpc8_get_mask+47>: rorb (%edi)
0x084e1ee1 <mpc8_get_mask+49>: dec %esi
0x084e1ee2 <mpc8_get_mask+50>: rorb 0x5e0c1d0(%ecx)
0x084e1ee8 <mpc8_get_mask+56>: lea -0x21(%eax,%edx,1),%eax
0x084e1eec <mpc8_get_mask+60>: lea -0x1(%ecx,%eax,1),%esi
0x084e1ef0 <mpc8_get_mask+64>: mov -0x18(%ebp),%eax
0x084e1ef3 <mpc8_get_mask+67>: mov -0x18(%ebp),%ecx
0x084e1ef6 <mpc8_get_mask+70>: mov %edx,-0x10(%ebp)
0x084e1ef9 <mpc8_get_mask+73>: movzbl 0x881a3c0(%esi),%edx
0x084e1f00 <mpc8_get_mask+80>: mov 0x8(%eax),%ebx
0x084e1f03 <mpc8_get_mask+83>: mov (%ecx),%ecx
0x084e1f05 <mpc8_get_mask+85>: sub $0x1,%edx
0x084e1f08 <mpc8_get_mask+88>: mov %ebx,%eax
0x084e1f0a <mpc8_get_mask+90>: sar $0x3,%eax
0x084e1f0d <mpc8_get_mask+93>: mov (%ecx,%eax,1),%edi
0x084e1f10 <mpc8_get_mask+96>: mov %edx,%eax
0x084e1f12 <mpc8_get_mask+98>: add %ebx,%edx
0x084e1f14 <mpc8_get_mask+100>: mov %ecx,-0x24(%ebp)
0x084e1f17 <mpc8_get_mask+103>: mov %ebx,%ecx
End of assembler dump.
+---------------------------------
and finally:
+--------------------------------
(gdb) info all-registers
eax 0xbfba8884 -1078294396
ecx 0xbfba8884 -1078294396
edx 0xfdf7e1c0 -34086464
ebx 0x0 0
esp 0xbfba8770 0xbfba8770
ebp 0xbfba8798 0xbfba8798
esi 0xbcf4199f -1124853345
edi 0x1 1
eip 0x84e1ef9 0x84e1ef9 <mpc8_get_mask+73>
eflags 0x10297 [ CF PF AF SF IF RF ]
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 0 (raw 0x00000000000000000000)
st5 2048 (raw 0x400a8000000000000000)
st6 -9223372036854775808 (raw 0xc03e8000000000000000)
st7 -9223372036854775808 (raw 0xc03e8000000000000000)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xffff 65535
fiseg 0x73 115
fioff 0x823cdc0 136564160
foseg 0x7b 123
fooff 0x0 0
fop 0x5d8 1496
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,
---Type <return> to continue, or q <return> to quit---
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 [ IM DM ZM OM UM PM ]
mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
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 = 0x8000000000000000, v2_int32 = {0x0,
0x80000000}, v4_int16 = {0x0, 0x0, 0x0,
---Type <return> to continue, or q <return> to quit---
0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
mm6 {uint64 = 0x8000000000000000, v2_int32 = {0x0,
0x80000000}, v4_int16 = {0x0, 0x0, 0x0,
0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
mm7 {uint64 = 0x8000000000000000, v2_int32 = {0x0,
0x80000000}, v4_int16 = {0x0, 0x0, 0x0,
0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}
+--------------------------------------
Unortunately I lack the skill to analyse this myself so I have
included the full output.
Thanks for your trouble,
Andrew
--
Do you think that's air you're breathing?
More information about the MPlayer-users
mailing list