Bug#635324: libavcodec52: crash in ff_imdct_calc_sse

Sven Joachim svenjoac at gmx.de
Mon Jul 25 07:06:56 UTC 2011


Package: libavcodec52
Version: 4:0.6.2-4
Severity: important
Tags: patch

Yesterday mplayer crashed trying to play a WMV file:

,----
| Program received signal SIGSEGV, Segmentation fault.
| ff_imdct_calc_sse (s=0xf535d4b0, output=0xf53594b0, input=0xf53554b0) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/x86/fft_sse.c:185
| 185	/build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/x86/fft_sse.c: Datei oder Verzeichnis nicht gefunden.
| 	in /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/x86/fft_sse.c
| (gdb) bt full
| #0  ff_imdct_calc_sse (s=0xf535d4b0, output=0xf53594b0, input=0xf53554b0) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/x86/fft_sse.c:185
|         j = -4096
|         k = 4080
|         n = 4096
|         n4 = 1024
| #1  0xf6e2b270 in ff_imdct_calc (s=0xf534d020, samples=0xf5375020) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/fft.h:140
| No locals.
| #2  wma_decode_block (s=0xf534d020, samples=0xf5375020) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/wmadec.c:750
|         n4 = 1024
|         index = <value optimized out>
|         a = <value optimized out>
|         bsize = 0
|         total_gain = <value optimized out>
|         mdct_norm = <value optimized out>
|         n = <value optimized out>
|         v = <value optimized out>
|         ch = <value optimized out>
|         coef_nb_bits = <value optimized out>
|         nb_coefs = {1864, 1864}
| #3  wma_decode_frame (s=0xf534d020, samples=0xf5375020) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/wmadec.c:783
|         i = <value optimized out>
|         n = <value optimized out>
|         ch = <value optimized out>
|         incr = <value optimized out>
|         ptr = <value optimized out>
|         iptr = <value optimized out>
| #4  0xf6e2bf19 in wma_decode_superframe (avctx=0x8541520, data=0xf5375020, data_size=0xffffb888, avpkt=0xffffb83c) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/wmadec.c:897
|         buf = 0x84e3430 "\a"
|         buf_size = 2230
|         s = 0xf534d020
|         nb_frames = 6
|         bit_offset = 8
|         i = <value optimized out>
|         pos = <value optimized out>
|         len = <value optimized out>
|         q = <value optimized out>
|         samples = 0xf5375020
| #5  0xf6de8e2d in avcodec_decode_audio3 (avctx=0x8541520, samples=0xf5375020, frame_size_ptr=0xffffb888, avpkt=0xffffb83c) at /build/buildd-libav_0.6.2-4-i386-T5vqZ8/libav-0.6.2/libavcodec/utils.c:656
|         ret = <value optimized out>
| #6  0x08202ff5 in decode_audio (sh_audio=0x84e1528, buf=0xf5375020 "", minlen=1, maxlen=257536) at libmpcodecs/ad_ffmpeg.c:214
|         pkt = {pts = -9223372036854775808, dts = -9223372036854775808, data = 0x84e3430 "\a", size = 2230, stream_index = 0, flags = 0, duration = 0, destruct = 0, priv = 0x0, pos = -1, convergence_duration = 0}
|         len2 = 257536
|         pts = 3.0640000000000001
|         x = 2230
|         start = 0x84e3430 "\a"
|         y = <value optimized out>
|         len = <value optimized out>
| #7  0x08203371 in init (sh_audio=0x84e1528) at libmpcodecs/ad_ffmpeg.c:131
|         tries = 0
|         x = <value optimized out>
|         lavc_context = 0x8541520
|         lavc_codec = <value optimized out>
| #8  0x0812bb8c in init_audio_codec (sh_audio=0x84e1528, codecname=<value optimized out>, afm=<value optimized out>, status=2, selected=0xffffb97c) at libmpcodecs/dec_audio.c:107
| No locals.
| #9  init_audio (sh_audio=0x84e1528, codecname=<value optimized out>, afm=<value optimized out>, status=2, selected=0xffffb97c) at libmpcodecs/dec_audio.c:229
|         mpadec = 0x83d2ebc
|         i = 3
|         orig_fourcc = 353
|         force = 0
| #10 0x0812bed7 in init_best_audio_codec (sh_audio=0x84e1528, audio_codec_list=0xffffb974, audio_fm_list=0x0) at libmpcodecs/dec_audio.c:282
|         status = 2
|         selected = 0x85093e8
|         ac_l_default = {0x82c0f0a "", 0x0}
| #11 0x0809d9f9 in reinit_audio_chain () at mplayer.c:1664
| No locals.
| #12 0x0809f82a in main (argc=2, argv=0xffffdb14) at mplayer.c:3679
|         frame_time_remaining = <value optimized out>
|         blit_frame = 0
|         mem_ptr = <value optimized out>
|         opt_exit = <value optimized out>
|         i = <value optimized out>
| (gdb) 
`----

This has been triggered by the recent recompilation of libav with
gcc-4.6.  The bug has been fixed upstream in commit 770c410fb, a
backport of the patch that works for me is attached.


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 3.0.0-nouveau (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libavcodec52 depends on:
ii  libavutil50             4:0.6.2-4        Libav utility library
ii  libc6                   2.13-10          Embedded GNU C Library: Shared lib
ii  libdirac-encoder0       1.0.2-4          open and royalty free high quality
ii  libfaad2                2.7-6            freeware Advanced Audio Decoder - 
ii  libgsm1                 1.0.13-3         Shared libraries for GSM speech co
ii  libopenjpeg2            1.3+dfsg-4       JPEG 2000 image compression/decomp
ii  libschroedinger-1.0-0   1.0.10-2.1       library for encoding/decoding of D
ii  libspeex1               1.2~rc1-1        The Speex codec runtime library
ii  libtheora0              1.1.1+dfsg.1-3   The Theora Video Compression Codec
ii  libva1                  1.0.12-2         Video Acceleration (VA) API for Li
ii  libvorbis0a             1.3.2-1          The Vorbis General Audio Compressi
ii  libvorbisenc2           1.3.2-1          The Vorbis General Audio Compressi
ii  libvpx0                 0.9.6-1          VP8 video codec (shared library)
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

libavcodec52 recommends no packages.

libavcodec52 suggests no packages.

-- no debconf information

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fix-ff_imdct_calc_sse-segfault.patch
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20110725/903456b5/attachment.ksh>


More information about the pkg-multimedia-maintainers mailing list