[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#788938: marked as done (jessie-pu: package lame/3.99.5+repack1-7+deb8u1)



Your message dated Sat, 05 Sep 2015 14:31:07 +0100
with message-id <1441459867.2151.32.camel@adam-barratt.org.uk>
and subject line Closing p-u bugs for 8.2
has caused the Debian Bug report #788938,
regarding jessie-pu: package lame/3.99.5+repack1-7+deb8u1
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 owner@bugs.debian.org
immediately.)


-- 
788938: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788938
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Hi there,

please allow lame/3.99.5+repack1-7+deb8u1 into jessie. It fixes an
obscure crash when lame is called from the OCaml bindings. The fix has
been in unstable for five days and has just hit testing without any
complaints.

PS: Is "jessie" alright as the target distribution in
debian/changelog?

Thanks,

Fabian

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'experimental'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru lame-3.99.5+repack1/debian/changelog lame-3.99.5+repack1/debian/changelog
--- lame-3.99.5+repack1/debian/changelog	2015-02-24 09:03:11.000000000 +0100
+++ lame-3.99.5+repack1/debian/changelog	2015-06-15 15:05:28.000000000 +0200
@@ -1,3 +1,13 @@
+lame (3.99.5+repack1-7+deb8u1) jessie; urgency=medium
+
+  * debian/patches/force_align_arg_pointer.patch: Enable functions with SSE
+    instructions to maintain their own properly aligned stack. Fixes crashes
+    with a general protection error when called from the ocaml bindings
+    (Closes: #786438). Thanks Detrick Merz for the bug report, Robert Hegemann
+    and especially Bernhard Übelacker for their help with analyzing the bug.
+
+ -- Fabian Greffrath <fabian@debian.org>  Mon, 15 Jun 2015 15:05:21 +0200
+
 lame (3.99.5+repack1-7) unstable; urgency=medium
 
   * Extend Maks Naumov's patch to also include a sanity check for
diff -Nru lame-3.99.5+repack1/debian/patches/force_align_arg_pointer.patch lame-3.99.5+repack1/debian/patches/force_align_arg_pointer.patch
--- lame-3.99.5+repack1/debian/patches/force_align_arg_pointer.patch	1970-01-01 01:00:00.000000000 +0100
+++ lame-3.99.5+repack1/debian/patches/force_align_arg_pointer.patch	2015-06-15 15:02:20.000000000 +0200
@@ -0,0 +1,52 @@
+Author: Fabian Greffrath <fabian@debian.org>
+Subject: Enable functions with SSE instructions to maintain their own properly aligned stack
+ Operands in SSE instructions must be aligned on 16-byte boundaries. In the
+ init_xrpow_core_sse() function these operands are variables on the stack.
+ However, when the code is called from the ocaml bindings, the stack is
+ allocated by ocaml which does not adhere to the 16-byte boundary rule and thus
+ causes the code to crash with a general protection error.
+ What is needed is a means enable functions calling SSE instructions to
+ maintain their own properly aligned stack. The "force_align_arg_pointer"
+ attribute does exactly this, see
+ <https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html>.
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786438
+Forwarded: https://sourceforge.net/p/lame/bugs/449/
+Last-Update: 2015-06-10
+
+--- a/libmp3lame/vector/xmm_quantize_sub.c
++++ b/libmp3lame/vector/xmm_quantize_sub.c
+@@ -51,8 +51,14 @@ static const FLOAT costab[TRI_SIZE * 2]
+ };
+ 
+ 
++/* make sure functions with SSE instructions maintain their own properly aligned stack */
++#if defined (__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)))
++#define SSE_FUNCTION __attribute__((force_align_arg_pointer))
++#else
++#define SSE_FUNCTION
++#endif
+ 
+-void
++SSE_FUNCTION void
+ init_xrpow_core_sse(gr_info * const cod_info, FLOAT xrpow[576], int upper, FLOAT * sum)
+ {
+     int     i;
+@@ -113,7 +119,8 @@ init_xrpow_core_sse(gr_info * const cod_
+ }
+ 
+ 
+-static void store4(__m128 v, float* f0, float* f1, float* f2, float* f3)
++SSE_FUNCTION static void
++store4(__m128 v, float* f0, float* f1, float* f2, float* f3)
+ {
+     vecfloat_union r;
+     r._m128 = v;
+@@ -124,7 +131,7 @@ static void store4(__m128 v, float* f0,
+ }
+ 
+ 
+-void
++SSE_FUNCTION void
+ fht_SSE2(FLOAT * fz, int n)
+ {
+     const FLOAT *tri = costab;
diff -Nru lame-3.99.5+repack1/debian/patches/series lame-3.99.5+repack1/debian/patches/series
--- lame-3.99.5+repack1/debian/patches/series	2015-02-18 11:35:11.000000000 +0100
+++ lame-3.99.5+repack1/debian/patches/series	2015-06-15 15:02:20.000000000 +0200
@@ -3,6 +3,7 @@
 ansi2knr2devnull.patch
 privacy-breach.patch
 msse.patch
+force_align_arg_pointer.patch
 0001-Add-check-for-invalid-input-sample-rate.patch
 bits_per_sample.patch
 int_resample_ratio.patch

--- End Message ---
--- Begin Message ---
Version: 8.2

Hi,

These bugs correspond to updates which were included in the 8.2 point
release.

Regards,

Adam

--- End Message ---

Reply to: