[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