Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#391 closed defect (fixed)

crash in av_resample

Reported by: sebek64@… Owned by: alex@…
Priority: normal Component: af
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

I can't play this file with "-srate 48000":
mplayer rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm
With 44100 it plays well.

$ gcc -v
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-libstdcxx-allocator=mt
--enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm
--enable-java-awt=gtk --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 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.2 (Debian 4.0.2-2)

$ ld -v
GNU ld version 2.16.1 Debian GNU/Linux

gdb report:

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1223944512 (LWP 14952)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/share/locale

MPlayer dev-CVS-051019-08:46-4.0.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon Thunderbird (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx

CommandLine?: '-v' 'rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay?
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/sebek/.mplayer/input.conf'
Can't open input config file /home/sebek/.mplayer/input.conf: No such file or
directory
Can't open input config file /etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
get_path('nannisvampa.rm.conf') -> '/home/sebek/.mplayer/nannisvampa.rm.conf'
Playing rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm.
STREAM_RTSP, URL: rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm
Filename for url is now
rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm
Filename for url is now
rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm
Resolving mm3.rai.it for AF_INET6...
Couldn't resolve name for AF_INET6: mm3.rai.it
Resolving mm3.rai.it for AF_INET...
Connecting to server mm3.rai.it[212.162.69.29]:554 ...
Cache size set to 640 KBytes
STREAM: [realrtsp] rtsp://mm3.rai.it/clip1/international/notturno/nannisvampa.rm
STREAM: Description: RealNetworks? rtsp streaming
STREAM: Author: Roberto Togni, xine team
STREAM: Comment: ported from xine
CACHE_PRE_INIT: 0 [0] 0 pre:0 eof:0

Cache fill: 0.00% (0 bytes)
Cache fill: 1.25% (8192 bytes)
Cache fill: 2.50% (16384 bytes)
Cache fill: 2.50% (16384 bytes)
Cache fill: 3.75% (24576 bytes)
Cache fill: 5.00% (32768 bytes)
Cache fill: 6.25% (40960 bytes)
Cache fill: 7.50% (49152 bytes)
Cache fill: 8.75% (57344 bytes)
Cache fill: 10.00% (65536 bytes)
Cache fill: 11.25% (73728 bytes)
Cache fill: 12.50% (81920 bytes)
Cache fill: 12.50% (81920 bytes)
Cache fill: 15.00% (98304 bytes)
Cache fill: 15.00% (98304 bytes)
Cache fill: 16.25% (106496 bytes)
Cache fill: 17.50% (114688 bytes)
Cache fill: 18.75% (122880 bytes) Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo?
Checking for REAL
REAL file format detected.
real: Header size: 18
real: Header object version: 0
real: File version: 0
Chunk: PROP (504f5250) (size: 0x32, offset: 0x12)
First index chunk offset: 0x0
First data chunk offset: 0x12f
Flags (9): [save allowed]
Chunk: CONT (544e4f43) (size: 0x1a, offset: 0x44)
Chunk: MDPR (5250444d) (size: 0xc7, offset: 0x5e)
Found new stream (id: 0)
Stream description: audio/x-pn-multirate-realaudio logical stream
Stream mimetype: audio/x-pn-realaudio
==> Found audio stream: 0
Found audio stream!
version: 5

00 00
2E 72 61 35
00 00 00 10
00 05

header size: 72

00 00 00 00
00 14 2F F8
00 00 00 00

frame_size: 1024
sub_packet_size: 512

00 00
00 00 AC 44 00 00
00 00

samplerate: 44100, channels: 2

67 65 6E 72
01 07 00
00

======= WAVE Format =======
Format Tag: 29793 (0x7461)
Channels: 2
Samplerate: 44100
avg byte/sec: 176400
Block align: 1024
bits/sample: 16
cbSize: 20
Unknown extra header dump: [0] [2] [1e] [0] [5] [0] [0] [4] [a] [0] [0] [0] [0]
[4] [8] [0] [8] [8e] [0] [2]
===========================
### skipping 0 bytes of codec info
Chunk: DATA (41544144) (size: 0x38bb800, offset: 0x125)
Packets in file: 58094
Auto-selected RM audio ID = 0
Clip info:

copyright: (C) 2002

==========================================================================
Opening audio decoder: [realaud] RealAudio? decoder
opening shared obj '/usr/lib/codecs/atrc.so.6.0'
Audio codec: [5] 176 Kbps Stereo Music - RA 8
Audio bitrate: 176.400 kbit/s (22050 bps)
dec_audio: Allocating 30720 bytes for input buffer.
dec_audio: Allocating 128000 + 65536 = 193536 bytes for output buffer.
AUDIO: 44100 Hz, 2 ch, s16le, 176.4 kbit/12.50% (ratio: 22050->176400)
Selected audio codec: [raatrc] afm: realaud (RealAudio? ATRAC3)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 48000Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[libaf] Adding filter lavcresample
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: compiled for ALSA-1.0.9
alsa-init: setup for 1/2 channel(s)
alsa-init: 1 soundcard found, using: default
alsa-init: pcm opend in block-mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=16
alsa-init: got buffersize=65536
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy@…>
AO: Comment: under developement
Building audio filter chain for 44100Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...
alsa-space: free space = 65536, prepared --
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 4

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1223944512 (LWP 14952)]
0x082a2e4f in av_resample (c=0x87bd320, dst=0xbf982cc0, src=0x0,

consumed=0xbf982d98, src_size=0, dst_size=1, update_ctx=0)
at resample2.c:216

216 val += src[ABS(sample_index + i) % src_size] * filter[i];
#0 0x082a2e4f in av_resample (c=0x87bd320, dst=0xbf982cc0, src=0x0,

consumed=0xbf982d98, src_size=0, dst_size=1, update_ctx=0)
at resample2.c:216

#1 0x0818b4a1 in play (af=0x87b4a00, data=0xbf982e04) at af_lavcresample.c:137
#2 0x0818455a in af_play (s=0x87b4980, data=0xbf982e04) at af.c:506
#3 0x081225a6 in decode_audio (sh_audio=0x879faf0, buf=0x87de2f0 "",

minlen=65536, maxlen=Variable "maxlen" is not available.

) at dec_audio.c:397
#4 0x080ac61d in main (argc=3, argv=0xbf9840f4) at mplayer.c:2350
Dump of assembler code from 0x82a2e2f to 0x82a2e6f:
0x082a2e2f <av_resample+783>: (bad) 0xc931947d(%ebx)
0x082a2e35 <av_resample+789>: movl $0x0,0xffffff54(%ebp)
0x082a2e3f <av_resample+799>: test %edi,%edi
0x082a2e41 <av_resample+801>: jle 0x82a2e04 <av_resample+740>
0x082a2e43 <av_resample+803>: lea (%esi,%ecx,1),%eax
0x082a2e46 <av_resample+806>: mov 0x10(%ebp),%edi
0x082a2e49 <av_resample+809>: cltd
0x082a2e4a <av_resample+810>: xor %edx,%eax
0x082a2e4c <av_resample+812>: sub %edx,%eax
0x082a2e4e <av_resample+814>: cltd
0x082a2e4f <av_resample+815>: idivl 0x18(%ebp)
0x082a2e52 <av_resample+818>: movswl (%edi,%edx,2),%eax
0x082a2e56 <av_resample+822>: mov %edx,0xffffff5c(%ebp)
0x082a2e5c <av_resample+828>: movswl (%ebx,%ecx,2),%edx
0x082a2e60 <av_resample+832>: inc %ecx
0x082a2e61 <av_resample+833>: imul %edx,%eax
0x082a2e64 <av_resample+836>: add %eax,0xffffff54(%ebp)
0x082a2e6a <av_resample+842>: cmp %ecx,0xffffff94(%ebp)
0x082a2e6d <av_resample+845>: jne 0x82a2e43 <av_resample+803>
End of assembler dump.
eax 0x7 7
ecx 0x0 0
edx 0x0 0
ebx 0x87b4af0 142297840
esp 0xbf982bd0 0xbf982bd0
ebp 0xbf982c98 0xbf982c98
esi 0xfffffff9 -7
edi 0x0 0
eip 0x82a2e4f 0x82a2e4f
eflags 0x10213 66067
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 0x80000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0.5 (raw 0x3ffe8000000000000000)
st7 0 (raw 0x00000000000000000000)
fctrl 0x37f 895
fstat 0x4020 16416
ftag 0xffff 65535
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 = 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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,

0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,

0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}

MPlayer interrupted by signal 8 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 lavcresample
[libaf] Removing filter dummy
uninit audio: realaud
alsa-uninit: pcm closed
vo: x11 uninit called but X11 not inited..

Attachments (1)

playlen_gt_0.diff (452 bytes) - added by reimar 14 years ago.
please try this

Download all attachments as: .zip

Change History (5)

Changed 14 years ago by reimar

please try this

comment:1 Changed 14 years ago by reimar

This patch stops MPlayer from pushing blocks of size 0 through the filters.
Please try if this fixes, since I can't reproduce the problem (btw is your
libavcodec up-to-date?).

comment:2 Changed 14 years ago by sebek64@…

  • Resolution set to fixed
  • Status changed from new to closed

Yes, I can confirm it fixes the crash. Thanks.

comment:3 Changed 14 years ago by sebek64@…

I forgot to answer :), my libav* are in the same version as mplayer (yesterday CVS).

comment:4 Changed 14 years ago by reimar

Applied the patch, though having a closer look might be a good idea if somebody
has too much time.

Note: See TracTickets for help on using tickets.