Your message dated Wed, 14 Nov 2012 00:02:47 +0000
with message-id <[email protected]>
and subject line Bug#692397: fixed in ogre 1.7.4+dfsg1-7
has caused the Debian Bug report #692397,
regarding libogre-1.7.4: Segmentation fault when using a skeleton
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.)


-- 
692397: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692397
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libogre-1.7.4
Version: 1.7.4+dfsg1-6
Severity: important
Tags: upstream patch

Any program using a skeleton along a mesh will segfault (at least on amd64).
This is the same bug as #687013 which affected ogre-1.8. It is easily fixed
by applying the same patch (updated for 1.7.4).

Although it is not an RC bug, please consider requesting a freeze exception
for this fix: it affects anyone who use skeleton with a mesh (at least on
amd64) which is a use case extremely well spread.

cheers,

Nicolas Bourdaud


-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libogre-1.7.4 depends on:
ii  dpkg                      1.16.9
ii  libboost-thread1.49.0     1.49.0-3.1
ii  libc6                     2.13-35
ii  libfreeimage3             3.15.1-1+b1
ii  libfreetype6              2.4.9-1
ii  libgcc1                   1:4.7.1-7
ii  libgl1-mesa-glx [libgl1]  8.0.4-2
ii  libglu1-mesa [libglu1]    8.0.4-2
ii  libstdc++6                4.7.1-7
ii  libx11-6                  2:1.5.0-1
ii  libxaw7                   2:1.0.10-2
ii  libxrandr2                2:1.3.2-2
ii  libxt6                    1:1.1.3-1
ii  libzzip-0-13              0.13.56-1.1
ii  multiarch-support         2.13-35

libogre-1.7.4 recommends no packages.

libogre-1.7.4 suggests no packages.

-- no debconf information
Description: drop stack alignment hack that breaks with gcc-4.7
Bug: http://www.ogre3d.org/mantis/view.php?id=553
Bug-Debian: http://bugs.debian.org/687013
Origin: upstream, http://hg.libsdl.org/SDL/rev/62ff1c0a103f
Applied-Upstream: 1.8.1

# HG changeset patch
# User Holger Frydrych <[email protected]>
# Date 1343895642 -7200
# Branch v1-8
# Node ID 9db0902fcff8772b5f9f6c3459430bb8a75bbe09
# Parent  5bcdaa1cf83322d5a281d1fd6752228a94d51620
Replace an ugly hack for GCC that was trying to force 16-byte stack alignment in OgreOptimisedUtilSSE, but causes trouble with recent GCC versions

--- a/OgreMain/src/OgreOptimisedUtilSSE.cpp
+++ b/OgreMain/src/OgreOptimisedUtilSSE.cpp
@@ -84,7 +84,7 @@
         OptimisedUtilSSE(void);
 
         /// @copydoc OptimisedUtil::softwareVertexSkinning
-        virtual void softwareVertexSkinning(
+        virtual void __OGRE_SIMD_ALIGN_ATTRIBUTE softwareVertexSkinning(
             const float *srcPosPtr, float *destPosPtr,
             const float *srcNormPtr, float *destNormPtr,
             const float *blendWeightPtr, const unsigned char* blendIndexPtr,
@@ -96,35 +96,35 @@
             size_t numVertices);
 
         /// @copydoc OptimisedUtil::softwareVertexMorph
-        virtual void softwareVertexMorph(
+        virtual void __OGRE_SIMD_ALIGN_ATTRIBUTE softwareVertexMorph(
             Real t,
             const float *srcPos1, const float *srcPos2,
             float *dstPos,
             size_t numVertices);
 
         /// @copydoc OptimisedUtil::concatenateAffineMatrices
-        virtual void concatenateAffineMatrices(
+        virtual void __OGRE_SIMD_ALIGN_ATTRIBUTE concatenateAffineMatrices(
             const Matrix4& baseMatrix,
             const Matrix4* srcMatrices,
             Matrix4* dstMatrices,
             size_t numMatrices);
 
         /// @copydoc OptimisedUtil::calculateFaceNormals
-        virtual void calculateFaceNormals(
+        virtual void __OGRE_SIMD_ALIGN_ATTRIBUTE calculateFaceNormals(
             const float *positions,
             const EdgeData::Triangle *triangles,
             Vector4 *faceNormals,
             size_t numTriangles);
 
         /// @copydoc OptimisedUtil::calculateLightFacing
-        virtual void calculateLightFacing(
+        virtual void __OGRE_SIMD_ALIGN_ATTRIBUTE calculateLightFacing(
             const Vector4& lightPos,
             const Vector4* faceNormals,
             char* lightFacings,
             size_t numFaces);
 
         /// @copydoc OptimisedUtil::extrudeVertices
-        virtual void extrudeVertices(
+        virtual void __OGRE_SIMD_ALIGN_ATTRIBUTE extrudeVertices(
             const Vector4& lightPos,
             Real extrudeDist,
             const float* srcPositions,
--- a/OgreMain/src/OgreSIMDHelper.h
+++ b/OgreMain/src/OgreSIMDHelper.h
@@ -47,48 +47,18 @@
 // For intel's compiler, simply calling alloca seems to do the right
 // thing. The size of the allocated block seems to be irrelevant.
 #define __OGRE_SIMD_ALIGN_STACK()   _alloca(16)
+#define __OGRE_SIMD_ALIGN_ATTRIBUTE
 
-#elif OGRE_CPU == OGRE_CPU_X86 && OGRE_COMPILER == OGRE_COMPILER_GNUC
-//
-// Horrible hack to align the stack to a 16-bytes boundary for gcc.
-//
-// We assume a gcc version >= 2.95 so that
-// -mpreferred-stack-boundary works.  Otherwise, all bets are
-// off.  However, -mpreferred-stack-boundary does not create a
-// stack alignment, but it only preserves it.  Unfortunately,
-// since Ogre are designed as a flexibility library, user might
-// compile their application with wrong stack alignment, even
-// if user taken care with stack alignment, but many versions
-// of libc on linux call main() with the wrong initial stack
-// alignment the result that the code is now pessimally aligned
-// instead of having a 50% chance of being correct.
-//
-#if OGRE_ARCH_TYPE != OGRE_ARCHITECTURE_64
-
-#define __OGRE_SIMD_ALIGN_STACK()                                   \
-    {                                                               \
-        /* Use alloca to allocate some memory on the stack.  */     \
-        /* This alerts gcc that something funny is going on, */     \
-        /* so that it does not omit the frame pointer etc.   */     \
-        (void)__builtin_alloca(16);                                 \
-        /* Now align the stack pointer */                           \
-        __asm__ __volatile__ ("andl $-16, %esp");                   \
-    }
-
-#else // 64
-#define __OGRE_SIMD_ALIGN_STACK()                                   \
-    {                                                               \
-        /* Use alloca to allocate some memory on the stack.  */     \
-        /* This alerts gcc that something funny is going on, */     \
-        /* so that it does not omit the frame pointer etc.   */     \
-        (void)__builtin_alloca(16);                                 \
-        /* Now align the stack pointer */                           \
-        __asm__ __volatile__ ("andq $-16, %rsp");                   \
-    }
-#endif //64
+#elif OGRE_CPU == OGRE_CPU_X86 && (OGRE_COMPILER == OGRE_COMPILER_GNUC || OGRE_COMPILER == OGRE_COMPILER_CLANG) && (OGRE_ARCH_TYPE != OGRE_ARCHITECTURE_64)
+// mark functions with GCC attribute to force stack alignment to 16 bytes
+#define __OGRE_SIMD_ALIGN_ATTRIBUTE __attribute__((force_align_arg_pointer))
 
 #elif defined(_MSC_VER)
 // Fortunately, MSVC will align the stack automatically
+#define __OGRE_SIMD_ALIGN_ATTRIBUTE
+
+#else
+#define __OGRE_SIMD_ALIGN_ATTRIBUTE
 
 #endif
 

--- End Message ---
--- Begin Message ---
Source: ogre
Source-Version: 1.7.4+dfsg1-7

We believe that the bug you reported is fixed in the latest version of
ogre, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Manuel A. Fernandez Montecelo <[email protected]> (supplier of updated 
ogre package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 13 Nov 2012 22:05:00 +0000
Source: ogre
Binary: libogre-dev libogre-1.7.4 libogre-1.7.4-dbg ogre-doc ogre-tools 
blender-ogrexml
Architecture: source amd64 all
Version: 1.7.4+dfsg1-7
Distribution: unstable
Urgency: low
Maintainer: Debian Games Team <[email protected]>
Changed-By: Manuel A. Fernandez Montecelo <[email protected]>
Description: 
 blender-ogrexml - Blender Exporter for OGRE
 libogre-1.7.4 - 3D Object-Oriented Graphics Rendering Engine (libraries)
 libogre-1.7.4-dbg - 3D Object-Oriented Graphics Rendering Engine (debugging 
libs)
 libogre-dev - 3D Object-Oriented Graphics Rendering Engine (development files)
 ogre-doc   - 3D Object-Oriented Graphics Rendering Engine (documentation)
 ogre-tools - 3D Object-Oriented Graphics Rendering Engine (tools)
Closes: 690200 692397
Changes: 
 ogre (1.7.4+dfsg1-7) unstable; urgency=low
 .
   * Document some files oversought in debian/copyright (Closes: #690200).
     Thanks Bart Martens and Anton Gladky for reporting and collaborating in
     fixing the problem.
   * Patches:
     - Add remove-alignment.patch to drop obsolete stack alignment hack that
       breaks with gcc-4.7 (removed in upstream 1.8.1), and causes crashes on
       some architectures when using skeletons (possibly affecting a broad range
       of OGRE applications).  The patch is a modified version by me from the
       patch applied to 1.8.1, upstream does not support 1.7 series anymore.
       Thanks to Julian Taylor and Kai Mast for the report and point to upstream
       patch to 1.8 (#687013), and Nicolas Bourdaud for pointing to the problem
       in 1.7 series as well (Closes: #692397).
Checksums-Sha1: 
 f86daa6a92df3483822c93d1f243200078e1282d 2527 ogre_1.7.4+dfsg1-7.dsc
 eb0cb4186d1a68db10c5d77815da094aa83b3bc9 26221 ogre_1.7.4+dfsg1-7.debian.tar.gz
 d679a6527a285c24bfbbc61a2fcdef94d22fc1ac 1205676 
libogre-dev_1.7.4+dfsg1-7_amd64.deb
 e701f77cb81f591cc7a8e4df44d166bf0a0ce0da 3386442 
libogre-1.7.4_1.7.4+dfsg1-7_amd64.deb
 822ba18ac2037a38aeda7e2303b567c35d027b87 51508088 
libogre-1.7.4-dbg_1.7.4+dfsg1-7_amd64.deb
 4fd447245321f5e14663906ba8d120b9ab9ef09f 16151204 
ogre-doc_1.7.4+dfsg1-7_all.deb
 02ad6e3efd145b7b91debf429eee59319f9b41e1 241624 
ogre-tools_1.7.4+dfsg1-7_amd64.deb
 3d4fb6066d25684f041fad0eb6d9e64f98a65d00 219166 
blender-ogrexml_1.7.4+dfsg1-7_all.deb
Checksums-Sha256: 
 4abe7197ebc5011ee157643be4ab6ad3e07745ce7250b51b09cc74268f64128c 2527 
ogre_1.7.4+dfsg1-7.dsc
 9dd5e9763d88805723fc1bb440c5023c274c097075a79c43376acafabd1e4bf4 26221 
ogre_1.7.4+dfsg1-7.debian.tar.gz
 bc1a055900355d2a800daa720cf92452f7e226d81a7f431c65bee08e11a13e90 1205676 
libogre-dev_1.7.4+dfsg1-7_amd64.deb
 bd337be87cf315a92b1d0a06e4de6d26f69bb4e5664aca5ac8efef19f41a1d5e 3386442 
libogre-1.7.4_1.7.4+dfsg1-7_amd64.deb
 f07c90159724970d3f38309172e7236efd1fa816c8a332af2a34165beb2796a4 51508088 
libogre-1.7.4-dbg_1.7.4+dfsg1-7_amd64.deb
 4909a6ce4e99406549d8fba9f35c77f93bcd62e9e396e1d3f4dca46cb0038b79 16151204 
ogre-doc_1.7.4+dfsg1-7_all.deb
 3e0f66a9f39e775d7ebb53a33dfd8c854c376a8f02483787b861c758749d0ba6 241624 
ogre-tools_1.7.4+dfsg1-7_amd64.deb
 9c842ed094797e5c88505d979caf1911f759ffbd7961c0c1c213190c2c021c1e 219166 
blender-ogrexml_1.7.4+dfsg1-7_all.deb
Files: 
 c785d8172755050d82f0430f4bec399a 2527 libs optional ogre_1.7.4+dfsg1-7.dsc
 0078f383e50ccbca7042cced0156774e 26221 libs optional 
ogre_1.7.4+dfsg1-7.debian.tar.gz
 61dc7226d480ad3e858110d503fd293d 1205676 libdevel optional 
libogre-dev_1.7.4+dfsg1-7_amd64.deb
 2aeb5f5f7be62607f3baacead5b78b0d 3386442 libs optional 
libogre-1.7.4_1.7.4+dfsg1-7_amd64.deb
 0c4a43cc769e3b327a250a737ec8bac9 51508088 debug extra 
libogre-1.7.4-dbg_1.7.4+dfsg1-7_amd64.deb
 7cd96a5c4ee8f3ace193ab7fa708eb0d 16151204 doc optional 
ogre-doc_1.7.4+dfsg1-7_all.deb
 2a56b73983debfe7fe176226588c9935 241624 devel optional 
ogre-tools_1.7.4+dfsg1-7_amd64.deb
 d8724608900fca3a0f9bebc0435fe1f7 219166 graphics optional 
blender-ogrexml_1.7.4+dfsg1-7_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJQotMvAAoJEH92BqRF3KgOr2QP/3O4szvX0XC+/NWtRziBW12J
gCRr++OOmrtokjekU7rjXqgV1hw/Jua2clebOUhmPDtmsxkAmFSER3Ui6qqmvKjz
cJTwfM5ly9P8IzTQTc5fgRor0jW1o4+ToSz9f2cniLMpTFXfOz6MuAlHJHYF2CZT
Qz1s2WQ+WarnCiNjoD8vYC2k/rxhsjLCdxJgSX5vTPxSANCzG7pOW2zjkZ9yPZgj
uBnaxibxUKiAgjR6/2sz9VP0IzB7qteNDQX9xqUwqiPL81ReMhFA08Ye36kwcbhI
MVe8/405h3CzGievR9pMUb7at2g8W0SByJ91bq20HFhTkh729FtAfrB6c1q5d3Yc
QhXERwSxVGFWaSmffaOuSkHWzlCp4g4Z0y2jOl9X6c1cp40TQOetm8CtNo+16NHC
dBhemYwmtR3T/6qcQXwR7pNx1Jfk95y+WGrg7EZK3P/t5lMG4gz1//vh8gfTyw3x
4BX7gmwwFnCcTbu35b39x9oEWJuHM3dRYTjFTck4WIdNXINnhq7c2OViNcJz3zN8
pC1Z7p/lya2I1FksXhP8ZulHcIav3PCFMuFH5SX+W10mIq5pLnI+QjbsD5sedS/P
6nopXZHupkNicMTkZKHXBvcQc43903FGXDVwGmk6Y4xvuNo1WCeTGjRw58lHDk/d
N/21jxEmThM0cu45LUPi
=o5Ao
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to