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