assimp / assimp

The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
https://www.assimp.org
Other
10.72k stars 2.89k forks source link

Android build SIGBUS crash #351

Closed arris69 closed 10 years ago

arris69 commented 10 years ago

maybe it's a WONTFIX / just a note.

compile for android arm with gcc 4.6/4.8 on linux 32bit and on win 64bit produce a library that crash on some models (100% on https://github.com/assimp/assimp/blob/master/test/models-nonbsd/LWO/LWO2/rifle.lwo)

compile with clang build more stable version what not crash on the same model file.

kimkulling commented 10 years ago

Could you get a callstack when runnig it with an attached debugger?

arris69 commented 10 years ago

strange, if i build a debug version its working without crash. so i got the backtrace with logcat and not from debugger (release build of libassimp):

crash is in LoadLWO2File function.
-------------------------------------------------------------

--------- beginning of /dev/log/system
  8100  8100 D libEGL  : loaded /system/lib/egl/libEGL_mali.so
  8100  8102 D dalvikvm: GC_CONCURRENT freed 91K, 14% free 9726K/11207K, paused 3ms+4ms, total 35ms
  8100  8113 D dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 29ms
  8100  8100 D libEGL  : loaded /system/lib/egl/libGLESv1_CM_mali.so
  8100  8100 D libEGL  : loaded /system/lib/egl/libGLESv2_mali.so
  8100  8100 D         : Device driver API match
  8100  8100 D         : Device driver API version: 10
  8100  8100 D         : User space API version: 10 
  8100  8100 D         : mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Thu Oct 25 08:43:05 KST 2012 
  8100  8113 D dalvikvm: GC_FOR_ALLOC freed 20K, 14% free 10056K/11591K, paused 18ms, total 18ms
  8100  8100 D OpenGLRenderer: Enabling debug mode 0

  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so 0x41c12088
  8119  8119 D dalvikvm: No JNI_OnLoad found in /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so 0x41c12088, skipping init
  8119  8119 D dalvikvm: Trying to load lib /data/data/com.zsolttech.librarydependency.test/lib/libjpeg.so 0x41c12088
  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/libjpeg.so 0x41c12088
  8119  8119 D dalvikvm: No JNI_OnLoad found in /data/data/com.zsolttech.librarydependency.test/lib/libjpeg.so 0x41c12088, skipping init
  8119  8119 D dalvikvm: Trying to load lib /data/data/com.zsolttech.librarydependency.test/lib/libpng.so 0x41c12088
  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/libpng.so 0x41c12088
  8119  8119 D dalvikvm: No JNI_OnLoad found in /data/data/com.zsolttech.librarydependency.test/lib/libpng.so 0x41c12088, skipping init
  8119  8119 D dalvikvm: Trying to load lib /data/data/com.zsolttech.librarydependency.test/lib/libtiff.so 0x41c12088
  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/libtiff.so 0x41c12088
  8119  8119 D dalvikvm: No JNI_OnLoad found in /data/data/com.zsolttech.librarydependency.test/lib/libtiff.so 0x41c12088, skipping init
  8119  8119 D dalvikvm: Trying to load lib /data/data/com.zsolttech.librarydependency.test/lib/liblcms.so 0x41c12088
  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/liblcms.so 0x41c12088
  8119  8119 D dalvikvm: No JNI_OnLoad found in /data/data/com.zsolttech.librarydependency.test/lib/liblcms.so 0x41c12088, skipping init
  8119  8119 D dalvikvm: Trying to load lib /data/data/com.zsolttech.librarydependency.test/lib/libIL.so 0x41c12088
  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/libIL.so 0x41c12088
  8119  8119 D dalvikvm: No JNI_OnLoad found in /data/data/com.zsolttech.librarydependency.test/lib/libIL.so 0x41c12088, skipping init
  8119  8119 D dalvikvm: Trying to load lib /data/data/com.zsolttech.librarydependency.test/lib/libgame.so 0x41c12088
  8119  8119 D dalvikvm: Added shared lib /data/data/com.zsolttech.librarydependency.test/lib/libgame.so 0x41c12088

  8119  8119 D Local3D Impl c++: Supported Extensions: *.3d;*.3ds;*.ac;*.ac3d;*.acc;*.ase;*.ask;*.assbin;*.b3d;*.blend;*.bvh;*.cob;*.csm;*.dae;*.dxf;*.enff;*.fbx;*.hmp;*.ifc;*.ifczip;*.irr;*.irrmesh;*.lwo;*.lws;*.lxo;*.md2;*.md3;*.md5anim;*.md5camera;*.md5mesh;*.mdc;*.mdl;*.mesh;*.mesh.xml;*.mot;*.ms3d;*.ndo;*.nff;*.obj;*.off;*.pk3;*.ply;*.prj;*.q3o;*.q3s;*.raw;*.scn;*.smd;*.stl;*.ter;*.uc;*.vta;*.x;*.xgl;*.xml;*.zgl
  8119  8119 I Assimp LogStream: Info,  T0: Assimp ZsoltTech.Com Edition loaded...
  8119  8119 I Assimp LogStream: Info,  T0: Load ///storage/sdcard0/BlenderObj/models-nonbsd/LWO/LWO2/rifle.lwo
  8119  8119 I Assimp LogStream: Debug, T0: Assimp 3.1.9999999 arm gcc noboost singlethreaded
  8119  8119 I Assimp LogStream: Debug, T0: START `total`
  8119  8119 I Assimp LogStream: Info,  T0: Found a matching importer for this file format
  8119  8119 D Local3D Impl c++: status: 0% memory: 0 Bytes
  8119  8119 I Assimp LogStream: Debug, T0: START `import`
  8119  8119 I Assimp LogStream: Info,  T0: Import root directory is '///storage/sdcard0/BlenderObj/models-nonbsd/LWO/LWO2/'
  8119  8134 D Native Wrapper [RendererWrapper]: onSurfaceCreated: com.zsolttech.renderer.RendererWrapper@41c2cfd0
  8119  8134 I Game C++ Impl: called: on_surface_created succeeded.
  8119  8134 I Local3D Impl c++: No scene in: init, returning.
  8119  8134 I Local3D Impl c++: No scene in: CreateSurface, returning.
  8119  8134 D Native Wrapper [RendererWrapper]: onSurfaceChanged: com.zsolttech.renderer.RendererWrapper@41c2cfd0
  8119  8134 I Game C++ Impl: called: on_surface_changed (480x800).
  8119  8134 I Local3D Impl c++: No scene in: changeSize, returning.
  8119  8119 I Assimp LogStream: Info,  T0: LWO file format: LWO2 (>= LightWave 6)
  8119  8119 I Assimp LogStream: Info,  T0: LWO call LoadLWO2File
  8119  8119 I Assimp LogStream: Info,  T0: LWO enter LoadLWO2File
  8119  8119 I Assimp LogStream: Info,  T0: LWO out switch LoadLWO2File (4c)
  8119  8119 I Assimp LogStream: Info,  T0: LWO out switch LoadLWO2File (50)
  8119  8119 I Assimp LogStream: Info,  T0: LWO out switch LoadLWO2File (42)
  8119  8119 I Assimp LogStream: Info,  T0: LWO out switch LoadLWO2File (56)
  8119  8119 I Assimp LogStream: Skipping one or more lines with the same contents
  8119  8119 E Game C++ Impl: Signal.... 7
  8119  8119 E Game C++ Impl:   <empty, possibly corrupt>
  8119  8119 F libc    : Fatal signal 7 (SIGBUS) at 0x00000007 (code=654916613), thread 8119 (dependency.test)
  6852  6852 I DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
  6852  6852 I DEBUG   : Build fingerprint: 'samsung/GT-I9100/GT-I9100:4.1.2/JZO54K/I9100XWMS3:user/release-keys'
  6852  6852 I DEBUG   : pid: 8119, tid: 8119, name: dependency.test  >>> com.zsolttech.librarydependency.test <<<
  6852  6852 I DEBUG   : signal 7 (SIGBUS), code 128 (?), fault addr 00000000
  2129  2169 I power   : *** release_dvfs_lock : lockType : 1 
  2129  2169 D PowerManagerService: releaseDVFSLockLocked : all DVFS_MIN_LIMIT are released 
  2129  2169 W ActivityManager: mDVFSLock.release()
  6852  6852 I DEBUG   :     r0 41130ac8  r1 00000002  r2 4c4ad06e  r3 4c4ad06e
  6852  6852 I DEBUG   :     r4 00000000  r5 bea807fc  r6 41130a78  r7 4c4b1f20
  6852  6852 I DEBUG   :     r8 bea81620  r9 4c39ae08  sl 4104ada8  fp bea81634
  6852  6852 I DEBUG   :     ip 00000000  sp bea80778  lr 5278a90f  pc 52786e38  cpsr 80000030
  6852  6852 I DEBUG   :     d0  c853598015b0a481  d1  3ff000004c7e502b
  6852  6852 I DEBUG   :     d2  0000000100000001  d3  3f1155e54e7e8408
  6852  6852 I DEBUG   :     d4  0000000040dd4000  d5  3ff0000000000000
  6852  6852 I DEBUG   :     d6  00ab0ff000000963  d7  c858e6fa3f800000
  6852  6852 I DEBUG   :     d8  0000000000000000  d9  0000000000000000
  6852  6852 I DEBUG   :     d10 0000000000000000  d11 0000000000000000
  6852  6852 I DEBUG   :     d12 0000000000000000  d13 0000000000000000
  6852  6852 I DEBUG   :     d14 0000000000000000  d15 0000000000000000
  6852  6852 I DEBUG   :     d16 c1cbd38c8301eb85  d17 3f50624dd2f1a9fc
  6852  6852 I DEBUG   :     d18 41b5b0a481000000  d19 0000000000000000
  6852  6852 I DEBUG   :     d20 4008000000000000  d21 3fbc71c71c71c71c
  6852  6852 I DEBUG   :     d22 3fcc7288e957b53b  d23 3fd24998d6307188
  6852  6852 I DEBUG   :     d24 3fd99a27ad32ddf5  d25 3fe555b0aaeac752
  6852  6852 I DEBUG   :     d26 0000000000000000  d27 0000000000000000
  6852  6852 I DEBUG   :     d28 0000000000000005  d29 0000000000000000
  6852  6852 I DEBUG   :     d30 0000000000000000  d31 0000000000000000
  6852  6852 I DEBUG   :     scr 60000010
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : backtrace:
  6852  6852 I DEBUG   :     #00  pc 001b5e38  /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so
  6852  6852 I DEBUG   :     #01  pc 001b990b  /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : stack:
  6852  6852 I DEBUG   :          bea80738  000002a2  
  6852  6852 I DEBUG   :          bea8073c  bea8076c  [stack]
  6852  6852 I DEBUG   :          bea80740  40edc020  
  6852  6852 I DEBUG   :          bea80744  52787ceb  /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so
  6852  6852 I DEBUG   :          bea80748  00000000  
  6852  6852 I DEBUG   :          bea8074c  00000000  
  6852  6852 I DEBUG   :          bea80750  bea8076c  [stack]
  6852  6852 I DEBUG   :          bea80754  40edc000  
  6852  6852 I DEBUG   :          bea80758  000002a2  
  6852  6852 I DEBUG   :          bea8075c  00000151  
  6852  6852 I DEBUG   :          bea80760  40edc020  
  6852  6852 I DEBUG   :          bea80764  52787d39  /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so
  6852  6852 I DEBUG   :          bea80768  40edc000  
  6852  6852 I DEBUG   :          bea8076c  00000000  
  6852  6852 I DEBUG   :          bea80770  df002777  
  6852  6852 I DEBUG   :          bea80774  e3a070ad  
  6852  6852 I DEBUG   :     #00  bea80778  41130ac8  
  6852  6852 I DEBUG   :          ........  ........
  6852  6852 I DEBUG   :     #01  bea80778  41130ac8  
  6852  6852 I DEBUG   :          bea8077c  00000002  
  6852  6852 I DEBUG   :          bea80780  4c4ad06e  
  6852  6852 I DEBUG   :          bea80784  5278a90f  /data/data/com.zsolttech.librarydependency.test/lib/libassimp.so
  6852  6852 I DEBUG   :          bea80788  0000000f  
  6852  6852 I DEBUG   :          bea8078c  27093c05  
  6852  6852 I DEBUG   :          bea80790  bea80e9c  [stack]
  6852  6852 I DEBUG   :          bea80794  00000000  
  6852  6852 I DEBUG   :          bea80798  00000000  
  6852  6852 I DEBUG   :          bea8079c  00000000  
  6852  6852 I DEBUG   :          bea807a0  00000000  
  6852  6852 I DEBUG   :          bea807a4  00000208  
  6852  6852 I DEBUG   :          bea807a8  4db4588b  /data/data/com.zsolttech.librarydependency.test/lib/libgame.so
  6852  6852 I DEBUG   :          bea807ac  bea8080c  [stack]
  6852  6852 I DEBUG   :          bea807b0  bea80c84  [stack]
  6852  6852 I DEBUG   :          bea807b4  40edc000  
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r0:
  6852  6852 I DEBUG   :     41130aa8 bea80bb0 bea80b98 00000000 00000000  ................
  6852  6852 I DEBUG   :     41130ab8 00000000 00000000 00000000 00000000  ................
  6852  6852 I DEBUG   :     41130ac8 4c4ad06e 00005418 410410f0 00000000  n.JL.T.....A....
  6852  6852 I DEBUG   :     41130ad8 ffffffff 00000000 00000000 00000000  ................
  6852  6852 I DEBUG   :     41130ae8 00000000 41130adc 41130adc 00000001  .......A...A....
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r2:
  6852  6852 I DEBUG   :     4c4ad04c 564d4150 00000d42 56555854 65740200  PAMVB...TXUV..te
  6852  6852 I DEBUG   :     4c4ad05c 5f767578 5f306361 656a626f 00007463  xuv_ac0_object..
  6852  6852 I DEBUG   :     4c4ad06c 573d0000 4c3f13ea 0100e7f7 f8845d3e  ..=W..?L....>]..
  6852  6852 I DEBUG   :     4c4ad07c 52254c3f 653e0200 3d3f3485 0300ca51  ?L%R..>e.4?=Q...
  6852  6852 I DEBUG   :     4c4ad08c f8845d3e 52254c3f 763e0400 473f42fd  >]..?L%R..>v.B?G
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r3:
  6852  6852 I DEBUG   :     4c4ad04c 564d4150 00000d42 56555854 65740200  PAMVB...TXUV..te
  6852  6852 I DEBUG   :     4c4ad05c 5f767578 5f306361 656a626f 00007463  xuv_ac0_object..
  6852  6852 I DEBUG   :     4c4ad06c 573d0000 4c3f13ea 0100e7f7 f8845d3e  ..=W..?L....>]..
  6852  6852 I DEBUG   :     4c4ad07c 52254c3f 653e0200 3d3f3485 0300ca51  ?L%R..>e.4?=Q...
  6852  6852 I DEBUG   :     4c4ad08c f8845d3e 52254c3f 763e0400 473f42fd  >]..?L%R..>v.B?G
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r5:
  6852  6852 I DEBUG   :     bea807dc 00000000 4c4b1f2c 00000151 00000000  ....,.KLQ.......
  6852  6852 I DEBUG   :     bea807ec 4013ba6c 40072391 4db4588b bea8083c  l..@.#.@.X.M<...
  6852  6852 I DEBUG   :     bea807fc 00000000 bea80c84 400724af 00000001  .........$.@....
  6852  6852 I DEBUG   :     bea8080c 4c422a98 bea8080c 00000001 4db4588b  .*BL.........X.M
  6852  6852 I DEBUG   :     bea8081c 4c422a90 4c422a80 00000034 4013ba6c  .*BL.*BL4...l..@
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r6:
  6852  6852 I DEBUG   :     41130a58 00720065 00630069 002f0061 00000000  e.r.i.c.a./.....
  6852  6852 I DEBUG   :     41130a68 00000000 00000000 00000000 0000008b  ................
  6852  6852 I DEBUG   :     41130a78 5290e8f0 4fbfac00 00000038 00000072  ...R...O8...r...
  6852  6852 I DEBUG   :     41130a88 406f1bf0 41130a7c 41130a7c 4c1bc5b0  ..o@|..A|..A...L
  6852  6852 I DEBUG   :     41130a98 799d0001 bea80b84 4c4b1f20 bea80ba4  ...y.... .KL....
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r7:
  6852  6852 I DEBUG   :     4c4b1f00 00000000 00000000 00000000 00000000  ................
  6852  6852 I DEBUG   :     4c4b1f10 00000000 000000db bea80b84 4c4b1e40  ............@.KL
  6852  6852 I DEBUG   :     4c4b1f20 4d5285b0 4d52957c 4d52996c 40e9db38  ..RM|.RMl.RM8..@
  6852  6852 I DEBUG   :     4c4b1f30 40e9e07c 40e9e1cc 00000000 00000000  |..@...@........
  6852  6852 I DEBUG   :     4c4b1f40 00000000 00000000 00000000 00000000  ................
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r8:
  6852  6852 I DEBUG   :     bea81600 40eb809e 53700021 9990001d 4c81aa18  ...@!.pS.......L
  6852  6852 I DEBUG   :     bea81610 4104ad98 00000004 4c39ae10 40834f34  ...A......9L4O.@
  6852  6852 I DEBUG   :     bea81620 4c39ae08 00000001 41c41848 4da80498  ..9L....H..A...M
  6852  6852 I DEBUG   :     bea81630 41c0d88c 40864187 4c39ae08 4da80495  ...A.A.@..9L...M
  6852  6852 I DEBUG   :     bea81640 4db17c45 4104ada8 71a00019 00000000  E|.M...A...q....
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near r9:
  6852  6852 I DEBUG   :     4c39ade8 00000000 00000000 4e4e37ac 4c39ae24  .........7NN$.9L
  6852  6852 I DEBUG   :     4c39adf8 4da67254 4c81aa18 00000006 00000000  Tr.M...L........
  6852  6852 I DEBUG   :     4c39ae08 9990001d 53700021 4c39ae48 4e2570a4  ....!.pSH.9L.p%N
  6852  6852 I DEBUG   :     4c39ae18 4c81abc8 4da67254 00000000 41c2cfd0  ...LTr.M.......A
  6852  6852 I DEBUG   :     4c39ae28 41c40ad0 41c109d0 41c44e20 4c39ae64  ...A...A N.Ad.9L
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near sl:
  6852  6852 I DEBUG   :     4104ad88 6d617300 00000800 4c330008 00000453  .sam......3LS...
  6852  6852 I DEBUG   :     4104ad98 4d6ca160 4c39ae08 4c81abc8 49221000  `.lM..9L...L.."I
  6852  6852 I DEBUG   :     4104ada8 41c0ee18 00000000 bea81770 00000000  ...A....p.......
  6852  6852 I DEBUG   :     4104adb8 bea817a4 00000001 00000000 408350c0  .............P.@
  6852  6852 I DEBUG   :     4104adc8 00000000 00000000 4b9aae70 4c395300  ........p..K.S9L
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near fp:
  6852  6852 I DEBUG   :     bea81614 00000004 4c39ae10 40834f34 4c39ae08  ......9L4O.@..9L
  6852  6852 I DEBUG   :     bea81624 00000001 41c41848 4da80498 41c0d88c  ....H..A...M...A
  6852  6852 I DEBUG   :     bea81634 40864187 4c39ae08 4da80495 4db17c45  .A.@..9L...ME|.M
  6852  6852 I DEBUG   :     bea81644 4104ada8 71a00019 00000000 40eb8060  ...A...q....`..@
  6852  6852 I DEBUG   :     bea81654 4013ba6c 00000000 401007c1 40100789  l..@.......@...@
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : memory near sp:
  6852  6852 I DEBUG   :     bea80758 000002a2 00000151 40edc020 52787d39  ....Q... ..@9}xR
  6852  6852 I DEBUG   :     bea80768 40edc000 00000000 df002777 e3a070ad  ...@....w'...p..
  6852  6852 I DEBUG   :     bea80778 41130ac8 00000002 4c4ad06e 5278a90f  ...A....n.JL..xR
  6852  6852 I DEBUG   :     bea80788 0000000f 27093c05 bea80e9c 00000000  .....<.'........
  6852  6852 I DEBUG   :     bea80798 00000000 00000000 00000000 00000208  ................
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : code around pc:
  6852  6852 I DEBUG   :     52786e18 70837882 47707042 6803b507 6003cb04  .x.pBppG...h...`
  6852  6852 I DEBUG   :     52786e28 9201a801 ffeff7ff bd0e9801 6803b507  ...............h
  6852  6852 I DEBUG   :     52786e38 6003cb04 9201a801 ffe5f7ff bd0e9801  ...`............
  6852  6852 I DEBUG   :     52786e48 6804b538 79231c05 1c207962 71227163  8..h..#yby .cq"q
  6852  6852 I DEBUG   :     52786e58 ffd9f7ff 1c20682b 602b3306 0000bd38  ....+h ..3+`8...
  6852  6852 I DEBUG   : 
  6852  6852 I DEBUG   : code around lr:
  6852  6852 I DEBUG   :     5278a8ec f7fc1c21 a875fa7e fd2cf6ef f6efa86f  !...~.u...,.o...
  6852  6852 I DEBUG   :     5278a8fc 2400fd29 ad1d9911 d006428c f7fc9810  )..$.....B......
  6852  6852 I DEBUG   :     5278a90c 00a3fa93 340150e8 9a11e7f4 95009b0c  .....P.4........
  6852  6852 I DEBUG   :     5278a91c 990b1c30 fbbaf7fc 9c156d32 65331913  0.......2m....3e
  6852  6852 I DEBUG   :     5278a92c a821e5ec fd0ef6ef 9a7b9c19 429a6823  ..!.......{.#h.B
  6852  6852 I DEBUG   : !@dumpstate -k -t -z -d -o /data/log/dumpstate_app_native -m 8119
arris69 commented 10 years ago

ups...

acgessler commented 10 years ago

Another instance of massively unsafe use of reinterpret_cast in assimp's legacy code parts.

I've reworked the LWO code to use memcpy instead - I did not test this on Android itself though, so I would appreciate if you could verify and re-open as needed.

arris69 commented 10 years ago

verified on galaxy SII, compiled with gcc-4.6 and gcc-4.8 from android-ndk NO SIGBUS anymore thnx

acgessler commented 10 years ago

Great!