[MPlayer-dev-eng] Segmentation fault in libaf/af_format.c

Ingo Brückl ib at wupperonline.de
Mon Mar 24 16:52:46 CET 2014


With current GUI (r37059) I'll get a segmentation fault in
libaf/af_format.c:558 for ac3 audio.

The reason is the call to mixer_setbalance() triggered by
uiEvent(ivSetBalance, guiInfo.Balance) in gui/interface.c, line 720, and
- as a sequel - af_add(mixer->afilter, "pan") in mixer.c, line 163 which
finally adds the "format" filter. (Without adding "pan" everything seems
fine.)

Ingo
-------------- next part --------------
MPlayer UNKNOWN-4.3.4 (C) 2000-2014 MPlayer Team
Keine UTF-8-Locale gefunden, Tasten mit Zeichen
jenseits von Latin-1 werden nicht erkannt werden.

Spiele /media/cdrom/AC3/prologe.AC3.
libavformat version 55.19.104 (external)
libavformat-Dateiformat erkannt!
[ac3 @ 0xb78f5220]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: audio (ac3), -aid 0
Load subtitles in /media/cdrom/AC3/
==========================================================================
Erzwungener Audiocodec: hwac3
Öffne Audiodecoder: [hwac3] AC3/DTS pass-through S/PDIF
hwac3: switched to AC3, 448000 bps, 48000 Hz

AUDIO: 48000 Hz, 2 ch, ac3be, 448.0 kbit/29.17% (ratio: 56000->192000)
Ausgewählter Audiocodec: [hwac3] afm: hwac3 (AC3 through S/PDIF)
==========================================================================
[AO_ALSA] Format ac3be wird von der Hardware nicht unterstützt, versuche Standard.
AO: [alsa] 48000Hz 2ch ac3le (2 bytes per sample)
Video: kein Video
[format] Sample format big-endian AC3 not yet supported 
[Mixer] Keine Regelung für Balance verfügbar.
Starte Wiedergabe...

Program received signal SIGSEGV, Segmentation fault.
0xb7d0fbc9 in int2float (in=0xb82141c0, out=0xb82381f0, len=33792, bps=2)
    at libaf/af_format.c:558
558           out[i]=(1.0f/32768.0f)*((int16_t*)in)[i];
(gdb) bt
#0  0xb7d0fbc9 in int2float (in=0xb82141c0, out=0xb82381f0, len=33792, bps=2)
    at libaf/af_format.c:558
#1  0xb7d103ac in play (af=0xb81c2730, data=0xbfffd360)
    at libaf/af_format.c:302
#2  0xb7d0c4b1 in af_play (s=0xb820f660, data=0x8400) at libaf/af.c:572
#3  0xb7d211d1 in filter_n_bytes (len=<optimized out>, sh=<optimized out>)
    at libmpcodecs/dec_audio.c:412
#4  mp_decode_audio (sh_audio=0xb812fbe8, minlen=65536)
    at libmpcodecs/dec_audio.c:482
#5  0xb7c96708 in fill_audio_out_buffers () at mplayer.c:2178
#6  main (argc=-1116618752, argv=0x3f1c3e00) at mplayer.c:3775
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0xb7d0fba9 to 0xb7d0fbe9:
   0xb7d0fba9 <int2float+121>:  sbb    $0x9f,%al
   0xb7d0fbab <int2float+123>:  inc    %ebx
   0xb7d0fbac <int2float+124>:  cmp    %ebx,%esi
   0xb7d0fbae <int2float+126>:  jg     0xb7d0fb80 <int2float+80>
   0xb7d0fbb0 <int2float+128>:  jmp    0xb7d0fb73 <int2float+67>
   0xb7d0fbb2 <int2float+130>:  lea    0x0(%esi),%esi
   0xb7d0fbb8 <int2float+136>:  xor    %eax,%eax
   0xb7d0fbba <int2float+138>:  test   %ecx,%ecx
   0xb7d0fbbc <int2float+140>:  jle    0xb7d0fb73 <int2float+67>
   0xb7d0fbbe <int2float+142>:  xchg   %ax,%ax
   0xb7d0fbc0 <int2float+144>:  fild   (%ebx,%eax,2)
   0xb7d0fbc3 <int2float+147>:  fmuls  0xb7f077c0
=> 0xb7d0fbc9 <int2float+153>:  fstps  (%edi,%eax,4)
   0xb7d0fbcc <int2float+156>:  inc    %eax
   0xb7d0fbcd <int2float+157>:  cmp    %eax,%esi
   0xb7d0fbcf <int2float+159>:  jg     0xb7d0fbc0 <int2float+144>
   0xb7d0fbd1 <int2float+161>:  jmp    0xb7d0fb73 <int2float+67>
   0xb7d0fbd3 <int2float+163>:  nop
   0xb7d0fbd4 <int2float+164>:  lea    0x0(%esi,%eiz,1),%esi
   0xb7d0fbd8 <int2float+168>:  test   %ecx,%ecx
   0xb7d0fbda <int2float+170>:  jle    0xb7d0fb73 <int2float+67>
   0xb7d0fbdc <int2float+172>:  xor    %edx,%edx
   0xb7d0fbde <int2float+174>:  xchg   %ax,%ax
---Type <return> to continue, or q <return> to quit---
   0xb7d0fbe0 <int2float+176>:  movsbw (%ebx,%edx,1),%ax
   0xb7d0fbe5 <int2float+181>:  push   %eax
   0xb7d0fbe6 <int2float+182>:  fild   (%esp)
End of assembler dump.
(gdb) info all-registers
eax            0x8384   33668
ecx            0x8400   33792
edx            0xb82381f0       -1205632528
ebx            0xb82141c0       -1205780032
esp            0xbfffd28c       0xbfffd28c
ebp            0xbfffd298       0xbfffd298
esi            0x8400   33792
edi            0xb82381f0       -1205632528
eip            0xb7d0fbc9       0xb7d0fbc9 <int2float+153>
eflags         0x210212 [ AF IF RF ID ]
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x0      0
gs             0x33     51
st0            0        (raw 0x00000000000000000000)
st1            -nan(0xd65a6badb5d65a6b) (raw 0xffffd65a6badb5d65a6b)
st2            -nan(0x6ddb36000000a0b5) (raw 0xffff6ddb36000000a0b5)
st3            -nan(0xbb3b1e8fb76ddbb6) (raw 0xffffbb3b1e8fb76ddbb6)
st4            -nan(0xbbbbbbbbbbbbbbbb) (raw 0xffffbbbbbbbbbbbbbbbb)
st5            -nan(0x6d1b8fc7bbbbbbbb) (raw 0xffff6d1b8fc7bbbbbbbb)
st6            -nan(0x5a6badb5d69acfb7) (raw 0xffff5a6badb5d69acfb7)
st7            4        (raw 0x40018000000000000000)
---Type <return> to continue, or q <return> to quit---
fctrl          0x37f    895
fstat          0x3820   14368
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}
---Type <return> to continue, or q <return> to quit---
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          0x9f80   [ IM DM ZM OM UM PM FZ ]
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 = 0xd65a6badb5d65a6b, v2_int32 = {0xb5d65a6b, 
    0xd65a6bad}, v4_int16 = {0x5a6b, 0xb5d6, 0x6bad, 0xd65a}, v8_int8 = {0x6b, 
---Type <return> to continue, or q <return> to quit---
    0x5a, 0xd6, 0xb5, 0xad, 0x6b, 0x5a, 0xd6}}
mm3            {uint64 = 0x6ddb36000000a0b5, v2_int32 = {0xa0b5, 0x6ddb3600}, 
  v4_int16 = {0xa0b5, 0x0, 0x3600, 0x6ddb}, v8_int8 = {0xb5, 0xa0, 0x0, 0x0, 
    0x0, 0x36, 0xdb, 0x6d}}
mm4            {uint64 = 0xbb3b1e8fb76ddbb6, v2_int32 = {0xb76ddbb6, 
    0xbb3b1e8f}, v4_int16 = {0xdbb6, 0xb76d, 0x1e8f, 0xbb3b}, v8_int8 = {0xb6, 
    0xdb, 0x6d, 0xb7, 0x8f, 0x1e, 0x3b, 0xbb}}
mm5            {uint64 = 0xbbbbbbbbbbbbbbbb, v2_int32 = {0xbbbbbbbb, 
    0xbbbbbbbb}, v4_int16 = {0xbbbb, 0xbbbb, 0xbbbb, 0xbbbb}, v8_int8 = {0xbb, 
    0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb}}
mm6            {uint64 = 0x6d1b8fc7bbbbbbbb, v2_int32 = {0xbbbbbbbb, 
    0x6d1b8fc7}, v4_int16 = {0xbbbb, 0xbbbb, 0x8fc7, 0x6d1b}, v8_int8 = {0xbb, 
    0xbb, 0xbb, 0xbb, 0xc7, 0x8f, 0x1b, 0x6d}}
mm7            {uint64 = 0x5a6badb5d69acfb7, v2_int32 = {0xd69acfb7, 
    0x5a6badb5}, v4_int16 = {0xcfb7, 0xd69a, 0xadb5, 0x5a6b}, v8_int8 = {0xb7, 
    0xcf, 0x9a, 0xd6, 0xb5, 0xad, 0x6b, 0x5a}}
(gdb)


More information about the MPlayer-dev-eng mailing list