How to report a bunch of mplayer bugs
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Sun Dec 27 21:29:02 UTC 2015
On 23.12.2015 12:25, Gustavo Grieco wrote:
>> On 22.12.2015 16:15, Gustavo Grieco wrote:
>> This list is not very useful. Please provide at least backtraces (with the
>> necessary -dbg
>> packages installed).
>
> I have the valgrind and gdb backtraces just here (attached).
Thanks.
>> Please test your samples with mplayer/ffmpeg from Debian unstable/testing or
>> Ubuntu xenial.
>
> Compiling the last snapshot version from the mplayer repository is not the same? (i'm using mplayer-export-2015-12-18)
> I verified that there is no linked libraries matching "libav*" in the resulting mplayer binary.
I think these mplayer-export tarballs don't contain a copy of ffmpeg anymore, so
it will probably be disabled, unless you enable it manually.
Anyway, can you reproduce your crashes with this snapshot version of mplayer?
On 23.12.2015 12:25, Gustavo Grieco wrote:
> file SIGBUS.PC.5704be.STACK.5c9a551.CODE.128.ADDR.(nil).INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGBUS, Bus error.
> 0x00000000005704be in play (af=0xa65e20, data=0x7fffffffd3f0) at libaf/af_lavcresample.c:130
This looks like something corrupted the buffer, so that RESIZE_LOCAL_BUFFER crashes.
It happens in code using libavcodec, so please test this with a current version of that library.
> file SIGFPE.PC.432d0e.STACK.18b3c0fcd4.CODE.1.ADDR.0x432d0e.INSTR.idivl__0x560ca8(%rip)________#_0x0000000000560cae.fuzz
> Program received signal SIGFPE, Arithmetic exception.
> 0x0000000000432d0e in fill_audio_out_buffers () at mplayer.c:2160
> file SIGFPE.PC.4bf2c3.STACK.1bca543b66.CODE.1.ADDR.0x4bf2c3.INSTR.divl___0x80(%rsi).fuzz
> Program received signal SIGFPE, Arithmetic exception.
> 0x00000000004bf2c3 in init (sh_audio=0xa65ba0) at libmpcodecs/ad_msadpcm.c:93
These two are division by zero problems and the code looks unchanged in current mplayer trunk,
so they have to be fixed in upstream mplayer.
> file SIGFPE.PC.7ffff3ceed83.STACK.d7d8808dd.CODE.1.ADDR.0x7ffff3ceed83.INSTR.idiv___%r8d.fuzz
> Program received signal SIGFPE, Arithmetic exception.
> 0x00007ffff3ceed83 in av_resample () from /usr/lib/x86_64-linux-gnu/libavcodec.so.54
This crash happens in libavcodec, but the backtrace is not very useful, because you don't
have the debugging symbols installed. Please retest this with a current libavcodec.
Also the crashing function is now deprecated and will be removed in the future...
> file SIGSEGV.PC.4bd833.STACK.18b2dd10ac.CODE.1.ADDR.0xa.INSTR.movzwl_0xa(%rax),%ecx.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> decode_audio (sh_audio=0xa65ba0, buf=0xa6c900 "", minlen=<optimized out>, maxlen=131072) at libmpcodecs/ad_dk3adpcm.c:259
> file SIGSEGV.PC.4be46b.STACK.1aba63653d.CODE.1.ADDR.(nil).INSTR.movzbl_(%rcx,%rdx,1),%ecx.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004be46b in ac3dts_fillbuff (sh_audio=0xa65bc0) at libmpcodecs/ad_hwac3.c:110
I'm not sure why these crash, but they might be related.
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7ffffaaf0e08.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7ffffefcecd8.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff48eff8.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> 130 libaf/af_lavcresample.c: No such file or directory.
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff54e258.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> 130 libaf/af_lavcresample.c: No such file or directory.
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff60c128.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> 130 libaf/af_lavcresample.c: No such file or directory.
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff60d498.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> 130 libaf/af_lavcresample.c: No such file or directory.
> Playing SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff60d4a8.INSTR.callq__0xfffffffffff3c6e2.fuzz.
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> 130 libaf/af_lavcresample.c: No such file or directory.
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff60daa8.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff60db58.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
> file SIGSEGV.PC.5704be.STACK.5c9a551.CODE.1.ADDR.0x7fffff6429a8.INSTR.callq__0xfffffffffff3c6e2.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005704be in play (af=0xaccb80, data=0x7fffffffd3e0) at libaf/af_lavcresample.c:130
These are all identical and look similar to the SIGBUS problem.
> file SIGSEGV.PC.5947b5.STACK.1b0df30f87.CODE.1.ADDR.(nil).INSTR.movzbl_(%rcx,%rdx,1),%ecx.fuzz
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000005947b5 in dts_sync (sh=sh at entry=0xa65bc0, flags=flags at entry=0x7fffffffd2ec) at libmpcodecs/ad_libdca.c:212
This looks similar to the other two SIGSEGV in libmpcodecs/ad_*.
> file SIGSEGV.PC.7fffefe7314e.STACK.18f3cc3594.CODE.1.ADDR.(nil).INSTR.movdqu_%xmm8,(%rdi,%rcx,1).fuzz
> Program received signal SIGSEGV, Segmentation fault.
> __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:118
> 118 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file or directory.
> #0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:118
> #1 0x00000000004c0468 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string3.h:51
> #2 filter_n_bytes (len=-721710240, sh=0xa65bc0) at libmpcodecs/dec_audio.c:417
I think len should not be negative here. This seems to affect current mplayer, as well.
Best regards,
Andreas
More information about the pkg-multimedia-maintainers
mailing list