Your message dated Mon, 25 Jul 2011 09:21:21 +0200
with message-id <[email protected]>
and subject line Re: Bug#635324: libavcodec52: crash in ff_imdct_calc_sse
has caused the Debian Bug report #635324,
regarding libavcodec52: crash in ff_imdct_calc_sse
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
635324: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635324
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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
>From 770c410fbb8e1b87ce8ad7f3d7eddaa55e2b8295 Mon Sep 17 00:00:00 2001
From: Alex Converse <[email protected]>
Date: Sun, 30 Jan 2011 01:04:41 -0800
Subject: [PATCH] Fix ff_imdct_calc_sse() on gcc-4.6
Gcc 4.6 only preserves the first value when using an array with an "m"
constraint.
Signed-off-by: Mans Rullgard <[email protected]>
---
libavcodec/x86/fft_sse.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
--- a/libavcodec/x86/fft_sse.c
+++ b/libavcodec/x86/fft_sse.c
@@ -23,7 +23,7 @@
#include "libavcodec/dsputil.h"
#include "fft.h"
-DECLARE_ALIGNED(16, static const int, m1m1m1m1)[4] =
+DECLARE_ASM_CONST(16, int, ff_m1m1m1m1)[4] =
{ 1 << 31, 1 << 31, 1 << 31, 1 << 31 };
void ff_fft_dispatch_sse(FFTComplex *z, int nbits);
@@ -183,7 +183,7 @@
j = -n;
k = n-16;
__asm__ volatile(
- "movaps %4, %%xmm7 \n"
+ "movaps "MANGLE(ff_m1m1m1m1)", %%xmm7 \n"
"1: \n"
"movaps (%2,%1), %%xmm0 \n"
"movaps (%3,%0), %%xmm1 \n"
@@ -196,8 +196,7 @@
"add $16, %0 \n"
"jl 1b \n"
:"+r"(j), "+r"(k)
- :"r"(output+n4), "r"(output+n4*3),
- "m"(*m1m1m1m1)
+ :"r"(output+n4), "r"(output+n4*3)
);
}
--- End Message ---
--- Begin Message ---
Package: libav
Version: 4:0.7~b1-1
On 2011-07-25 09:06 +0200, Sven Joachim wrote:
> The bug has been fixed upstream in commit 770c410fb,
Marking the bug as fixed in the corresponding experimental version. If
the libav 0.7 transition is not going to be started soon, the patch
needs to be applied in unstable.
--- End Message ---