[MPlayer-users] Assertion failed / double free

Giorgio Vazzana mywing81 at gmail.com
Sat Apr 5 18:50:50 CEST 2014


2014-04-05 16:01 GMT+02:00 Reimar Döffinger <Reimar.Doeffinger at gmx.de>:
> On Sat, Apr 05, 2014 at 03:54:31PM +0200, Reimar Döffinger wrote:
>> On Sat, Apr 05, 2014 at 01:28:50PM +0200, Giorgio Vazzana wrote:
>> > Hello,
>> >
>> > could someone please give a look at this? Thanks.
>>
>> It is hard to say something for certain without a gdb backtrace
>> or better a valgrind log of a MPlayer binary with debug info,
>> But it looks a lot like a bug in ALSA libraries.
>>
>> > alsa-init: using ALSA 1.0.22
>>
>> That is from 2009-12-16, i.e. over 4 years old, so bugs in
>> it are somewhat likely.
>
> One thing: as a workaround, avoiding dmix might avoid many issues.
> I.e. use something like
> -ao alsa:device=hw:0.0

It seems to happen only with a particular decoder (mpg123), otherwise
alsa works fine:

holden at thinky:~$ mplayer -v -ao alsa:device=hw=0.0 -ac mpg123 music.mp3
MPlayer SVN-r37124-4.4.3 (C) 2000-2014 MPlayer Team
CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel(R) Pentium(R) III Mobile CPU      1133MHz (Family: 6,
Model: 11, Stepping: 1)
extended cpuid-level: 4
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 0 SSE3: 0
SSSE3: 0 SSE4: 0 SSE4.2: 0 AVX: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE CMOV
get_path('codecs.conf') -> '/home/holden/.mplayer/codecs.conf'
Reading optional codecs config file /home/holden/.mplayer/codecs.conf:
No such file or directory
Reading optional codecs config file
/usr/local/etc/mplayer/codecs.conf: No such file or directory
Using built-in default codecs.conf.
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/holden/.mplayer/fonts'
Configuration: --enable-gui --disable-vidix --disable-mencoder
CommandLine: '-v' '-ao' 'alsa:device=hw=0.0' '-ac' 'mpg123' 'music.mp3'
Using nanosleep() timing
get_path('input.conf') -> '/home/holden/.mplayer/input.conf'
Parsing input config file /home/holden/.mplayer/input.conf
Input config file /home/holden/.mplayer/input.conf parsed: 92 binds
get_path('music.mp3.conf') -> '/home/holden/.mplayer/music.mp3.conf'

Playing music.mp3.
get_path('sub/') -> '/home/holden/.mplayer/sub/'
[file] File size is 4337002 bytes
STREAM: [file] music.mp3
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
libavformat version 55.36.101 (internal)
Configuration: --enable-gpl --enable-postproc
LAVF_check: MP2/3 (MPEG audio layer 2/3)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename music.mp3 ext: .mp3
Trying demuxer 17 based on filename extension
==> Found audio stream: 0
demux_audio: seeking from 0x422CE4 to start pos 0x87E
demux_audio: audio data 0x87E - 0x422CEA
Audio only file format detected.
Clip info:
 Title: Indriel
 Artist: david hicken
 Album: angels
 Year: 2008
 Comment:
 Track: 8
 Genre: Other
Load subtitles in ./
get_path('sub/') -> '/home/holden/.mplayer/sub/'
==========================================================================
Forced audio codec: mpg123
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
dec_audio: Allocating 8192 + 131072 = 139264 bytes for output buffer.
MPEG 1.0 layer III, VBR, 44100 Hz joint-stereo
AUDIO: 44100 Hz, 2 ch, s16le, 32.0 kbit/2.27% (ratio: 4000->176400)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
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 preferred audio driver 'alsa', options 'device=hw=0.0'
alsa-init: requested format: 44100 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.22
alsa-init: setup for 1/2 channel(s)
alsa-init: using device hw:0,0
alsa-init: opening device in blocking mode
mplayer: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr)
(((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct
malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size)
>= (unsigned long)((((__builtin_offsetof (struct malloc_chunk,
fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t)))
- 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end &
pagemask) == 0)' failed.


MPlayer interrupted by signal 6 in module: ao2_init
- 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.
^C

MPlayer interrupted by signal 2 in module: ao2_init



holden at thinky:~$ mplayer -v -ao alsa:device=hw=0.0 -ac mad music.mp3
MPlayer SVN-r37124-4.4.3 (C) 2000-2014 MPlayer Team
CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel(R) Pentium(R) III Mobile CPU      1133MHz (Family: 6,
Model: 11, Stepping: 1)
extended cpuid-level: 4
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 0 SSE3: 0
SSSE3: 0 SSE4: 0 SSE4.2: 0 AVX: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE CMOV
get_path('codecs.conf') -> '/home/holden/.mplayer/codecs.conf'
Reading optional codecs config file /home/holden/.mplayer/codecs.conf:
No such file or directory
Reading optional codecs config file
/usr/local/etc/mplayer/codecs.conf: No such file or directory
Using built-in default codecs.conf.
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/holden/.mplayer/fonts'
Configuration: --enable-gui --disable-vidix --disable-mencoder
CommandLine: '-v' '-ao' 'alsa:device=hw=0.0' '-ac' 'mad' 'music.mp3'
Using nanosleep() timing
get_path('input.conf') -> '/home/holden/.mplayer/input.conf'
Parsing input config file /home/holden/.mplayer/input.conf
Input config file /home/holden/.mplayer/input.conf parsed: 92 binds
get_path('music.mp3.conf') -> '/home/holden/.mplayer/music.mp3.conf'

Playing music.mp3.
get_path('sub/') -> '/home/holden/.mplayer/sub/'
[file] File size is 4337002 bytes
STREAM: [file] music.mp3
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
libavformat version 55.36.101 (internal)
Configuration: --enable-gpl --enable-postproc
LAVF_check: MP2/3 (MPEG audio layer 2/3)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename music.mp3 ext: .mp3
Trying demuxer 17 based on filename extension
==> Found audio stream: 0
demux_audio: seeking from 0x422CE4 to start pos 0x87E
demux_audio: audio data 0x87E - 0x422CEA
Audio only file format detected.
Clip info:
 Title: Indriel
 Artist: david hicken
 Album: angels
 Year: 2008
 Comment:
 Track: 8
 Genre: Other
Load subtitles in ./
get_path('sub/') -> '/home/holden/.mplayer/sub/'
==========================================================================
Forced audio codec: mad
Opening audio decoder: [libmad] libmad mpeg audio decoder
dec_audio: Allocating 4096 bytes for input buffer.
dec_audio: Allocating 9216 + 131072 = 140288 bytes for output buffer.
AUDIO: 44100 Hz, 2 ch, s16le, 129.2 kbit/9.16% (ratio: 16151->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
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 preferred audio driver 'alsa', options 'device=hw=0.0'
alsa-init: requested format: 44100 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.22
alsa-init: setup for 1/2 channel(s)
alsa-init: using device hw:0,0
alsa-init: opening device in blocking mode
alsa-init: device reopened in blocking mode
alsa-init: got buffersize=65536
alsa-init: got period size 1024
alsa: 44100 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
AO: Comment: under development
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 67584
Uninit audio filters...
[libaf] Removing filter dummy
Uninit audio: libmad
alsa-uninit: pcm closed
vo: x11 uninit called but X11 not initialized..

Exiting... (Quit)


Other than that, I can't reproduce the crash under gdb with both a
non-debug and a debug (--enable-debug=3) build.


More information about the MPlayer-users mailing list