OpenSim – libBulletSim.so and Raspberry Pi – SOLVED!

Unable to compile libBulletSim.so under an ARM environment.

I figured I’ll leave this post out here in the hopes of seeing if the net has any ideas as to why libBulletSim.so does not work for OpenSim. I have tried compiling the newest BulletPhysics3 engine as well as OpenSims preferred 2.82 build as well. It has been tried with compiling with and without -DCMAKE_C_FLAGS=”-fPIC” -DCMAKE_CXX_FLAGS=”-fPIC. both have failed. Here is the screenshot of what the physics engine does when you enable OpenSim.exe with bullet unmanaged.

Yeah, libBulletSim.so crashing in native mode is not pretty!

Checked out the docs for Bullet themselves. Also checked the BUILD.TXT file in the opensim-libs trunk file. Also no good. Here’s the full debug of my mono OpenSim in case anyone cares. The bottom line right now is simple. Even though you can run bullet within Mono using BulletXNA in the opensim configuration file. Running physics inside of mono is also painfully slow and highly inaccurate. Bottom line is although OpenSim 8.x.x has moved away from ODE and onwards to bullet. The Raspberry Pi just is not ready for it! Perhaps if they revisit the libBulletSim.so file there may be hope down the road. Or better still if they allowed OpenSim to access the shared Bullet libraries nativly. But for now us Pi users are kind of stuck with ODE Physics.

The actual log-file of libBulletSim.so

03:33:23 - [LLUDPSERVER]: Average Environment.TickCount resolution: 1ms
03:33:23 - [SCENE]: Region necropolis, WORLD MAP refresh time set to 0 seconds
03:33:23 - [SCENE]: Using the BestAvatarResponsiveness prioritization scheme
03:33:24 - [HEIGHTMAP TERRAIN DATA]: HeightmapTerrainData create from legacy serialization. Size=<256,256>
03:33:24 - [PHYSICS]: Added meshing engine: ZeroMesher
03:33:24 - [PHYSICS]: Added physics engine: basicphysics
03:33:24 - [PHYSICS]: Added physics engine: BulletSim
03:33:24 - [PHYSICS]: Added meshing engine: Meshmerizer
03:33:24 - [PHYSICS]: Added physics engine: OpenDynamicsEngine
03:33:24 - [PHYSICS]: Added physics engine: POS
03:33:24 - [PHYSICS]: creating meshing engine Meshmerizer
03:33:24 - [PHYSICS]: creating BulletSim
03:33:24 - [BULLETS SCENE]: Selected bullet engine bulletunmanaged -> BulletUnmanaged/
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) OpenSim.Region.Physics.BulletSPlugin.BSAPIUnman/BSAPICPP.Initialize2 (OpenMetaverse.Vector3,intptr,int,intptr,int,intptr,OpenSim.Region.Physics.BulletSPlugin.BSAPIUnman/BSAPICPP/DebugLogCallback) <0xffffffff>
at OpenSim.Region.Physics.BulletSPlugin.BSAPIUnman.Initialize (OpenMetaverse.Vector3,OpenSim.Region.Physics.BulletSPlugin.ConfigurationParameters,int,OpenSim.Region.Physics.BulletSPlugin.CollisionDesc[]&,int,OpenSim.Region.Physics.BulletSPlugin.EntityProperties[]&) <0x00353>
at OpenSim.Region.Physics.BulletSPlugin.BSScene.Initialise (OpenSim.Region.Physics.Manager.IMesher,Nini.Config.IConfigSource,OpenMetaverse.Vector3) <0x005cb>
at OpenSim.Region.Physics.Manager.PhysicsPluginManager.GetPhysicsScene (string,string,Nini.Config.IConfigSource,string,OpenMetaverse.Vector3) <0x00283>
at OpenSim.Region.ClientStack.RegionApplicationBase.GetPhysicsScene (string,string,Nini.Config.IConfigSource,string,OpenMetaverse.Vector3) <0x000af>
at OpenSim.OpenSimBase.GetPhysicsScene (string,OpenMetaverse.Vector3) <0x0006f>
at OpenSim.OpenSimBase.SetupScene (OpenSim.Framework.RegionInfo,int,Nini.Config.IConfigSource,System.Collections.Generic.List`1<OpenSim.Region.ClientStack.IClientNetworkServer>&) <0x00303>
at OpenSim.OpenSimBase.CreateRegion (OpenSim.Framework.RegionInfo,bool,bool,OpenSim.Framework.IScene&) <0x0034f>
at OpenSim.OpenSimBase.CreateRegion (OpenSim.Framework.RegionInfo,bool,OpenSim.Framework.IScene&) <0x00037>
at OpenSim.ApplicationPlugins.LoadRegions.LoadRegionsPlugin.PostInitialise () <0x0041f>
at OpenSim.OpenSimBase.StartupSpecific () <0x003db>
at OpenSim.OpenSim.StartupSpecific () <0x00273>
at OpenSim.Framework.Servers.BaseOpenSimServer.Startup () <0x0002f>
at OpenSim.Application.Main (string[]) <0x009eb>
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
Debug info from gdb:
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xb35e3430 (LWP 19475)]
[New Thread 0xb36e3430 (LWP 19474)]
[New Thread 0xb37e3430 (LWP 19473)]
[New Thread 0xb38e3430 (LWP 19472)]
[New Thread 0xb3b77430 (LWP 19471)]
[New Thread 0xb3c7d430 (LWP 19470)]
[New Thread 0xb3d2a430 (LWP 19468)]
[New Thread 0xb3d4a430 (LWP 19467)]
[New Thread 0xb3fff430 (LWP 19466)]
[New Thread 0xb51bd430 (LWP 19465)]
[New Thread 0xb40ff430 (LWP 19464)]
[New Thread 0xb41ff430 (LWP 19463)]
[New Thread 0xb42ff430 (LWP 19462)]
[New Thread 0xb43ff430 (LWP 19461)]
[New Thread 0xb44ff430 (LWP 19460)]
[New Thread 0xb45ff430 (LWP 19459)]
[New Thread 0xb46ff430 (LWP 19458)]
[New Thread 0xb47ff430 (LWP 19457)]
[New Thread 0xb48ff430 (LWP 19456)]
[New Thread 0xb49ff430 (LWP 19455)]
[New Thread 0xb4aff430 (LWP 19454)]
[New Thread 0xb4cff430 (LWP 19453)]
[New Thread 0xb4dff430 (LWP 19452)]
[New Thread 0xb4eff430 (LWP 19451)]
[New Thread 0xb4fff430 (LWP 19450)]
[New Thread 0xb52ce430 (LWP 19449)]
[New Thread 0xb5b73430 (LWP 19448)]
0xb6eaeaac in waitpid () from /lib/arm-linux-gnueabihf/libpthread.so.0
Id Target Id Frame
28 Thread 0xb5b73430 (LWP 19448) "mono" 0xb6eac770 in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
27 Thread 0xb52ce430 (LWP 19449) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
26 Thread 0xb4fff430 (LWP 19450) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
25 Thread 0xb4eff430 (LWP 19451) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
24 Thread 0xb4dff430 (LWP 19452) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
23 Thread 0xb4cff430 (LWP 19453) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
22 Thread 0xb4aff430 (LWP 19454) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
21 Thread 0xb49ff430 (LWP 19455) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
20 Thread 0xb48ff430 (LWP 19456) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
19 Thread 0xb47ff430 (LWP 19457) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
18 Thread 0xb46ff430 (LWP 19458) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
17 Thread 0xb45ff430 (LWP 19459) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
16 Thread 0xb44ff430 (LWP 19460) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
15 Thread 0xb43ff430 (LWP 19461) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
14 Thread 0xb42ff430 (LWP 19462) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
13 Thread 0xb41ff430 (LWP 19463) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
12 Thread 0xb40ff430 (LWP 19464) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
11 Thread 0xb51bd430 (LWP 19465) "mono" 0xb6eae2c4 in nanosleep () from /lib/arm-linux-gnueabihf/libpthread.so.0
10 Thread 0xb3fff430 (LWP 19466) "mono" 0xb6eac9c8 in sem_timedwait () from /lib/arm-linux-gnueabihf/libpthread.so.0
9 Thread 0xb3d4a430 (LWP 19467) "mono" 0xb6e12e54 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
8 Thread 0xb3d2a430 (LWP 19468) "mono" 0xb6eac9c8 in sem_timedwait () from /lib/arm-linux-gnueabihf/libpthread.so.0
7 Thread 0xb3c7d430 (LWP 19470) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
6 Thread 0xb3b77430 (LWP 19471) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
5 Thread 0xb38e3430 (LWP 19472) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
4 Thread 0xb37e3430 (LWP 19473) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
3 Thread 0xb36e3430 (LWP 19474) "mono" 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
2 Thread 0xb35e3430 (LWP 19475) "mono" 0xb6eae2c4 in nanosleep () from /lib/arm-linux-gnueabihf/libpthread.so.0
* 1 Thread 0xb6f84000 (LWP 19447) "mono" 0xb6eaeaac in waitpid () from /lib/arm-linux-gnueabihf/libpthread.so.0
Thread 28 (Thread 0xb5b73430 (LWP 19448)):
#0 0xb6eac770 in sem_wait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001fff10 in mono_sem_wait (sem=0x2f523c, alertable=1) at mono-semaphore.c:119
#2 0x0017db28 in finalizer_thread (unused=<optimized out>) at gc.c:1073
#3 0x001625b4 in start_wrapper_internal (data=0x413b18) at threads.c:643
#4 start_wrapper (data=0x413b18) at threads.c:688
#5 0x001f5c30 in thread_start_routine (args=0x3ce728) at wthreads.c:294
#6 0x00204268 in inner_start_thread (arg=0x3ce71c) at mono-threads-posix.c:49
#7 0xb6ea5c00 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#9 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 27 (Thread 0xb52ce430 (LWP 19449)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb52cd690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3039614620, handles=0x2, waitall=3076096, timeout=3039614728, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec170, multiple=-1234346920, numhandles=2, handles=0xb52cd708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6597758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 26 (Thread 0xb4fff430 (LWP 19450)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb4ffe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3036669596, handles=0x2, waitall=3076096, timeout=3036669704, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec220, multiple=-1234346920, numhandles=2, handles=0xb4ffe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6596758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 25 (Thread 0xb4eff430 (LWP 19451)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb4efe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3035621020, handles=0x2, waitall=3076096, timeout=3035621128, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec2d0, multiple=-1234346920, numhandles=2, handles=0xb4efe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6591758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 24 (Thread 0xb4dff430 (LWP 19452)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb4dfe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3034572444, handles=0x2, waitall=3076096, timeout=3034572552, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec380, multiple=-1234346920, numhandles=2, handles=0xb4dfe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb659b868, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 23 (Thread 0xb4cff430 (LWP 19453)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb4cfe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3033523868, handles=0x2, waitall=3076096, timeout=3033523976, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec430, multiple=-1234346920, numhandles=2, handles=0xb4cfe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6599758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 22 (Thread 0xb4aff430 (LWP 19454)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb4afe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3031426716, handles=0x2, waitall=3076096, timeout=3031426824, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec4e0, multiple=-1234346920, numhandles=2, handles=0xb4afe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb659c868, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 21 (Thread 0xb49ff430 (LWP 19455)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb49fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3030378140, handles=0x2, waitall=3076096, timeout=3030378248, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec590, multiple=-1234346920, numhandles=2, handles=0xb49fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6594758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 20 (Thread 0xb48ff430 (LWP 19456)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb48fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3029329564, handles=0x2, waitall=3076096, timeout=3029329672, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec640, multiple=-1234346920, numhandles=2, handles=0xb48fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6595758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 19 (Thread 0xb47ff430 (LWP 19457)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb47fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3028280988, handles=0x2, waitall=3076096, timeout=3028281096, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec6f0, multiple=-1234346920, numhandles=2, handles=0xb47fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6593758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 18 (Thread 0xb46ff430 (LWP 19458)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb46fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3027232412, handles=0x2, waitall=3076096, timeout=3027232520, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec7a0, multiple=-1234346920, numhandles=2, handles=0xb46fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6598758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 17 (Thread 0xb45ff430 (LWP 19459)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb45fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3026183836, handles=0x2, waitall=3076096, timeout=3026183944, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec850, multiple=-1234346920, numhandles=2, handles=0xb45fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6592758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 16 (Thread 0xb44ff430 (LWP 19460)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb44fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3025135260, handles=0x2, waitall=3076096, timeout=3025135368, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec900, multiple=-1234346920, numhandles=2, handles=0xb44fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb6590758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 15 (Thread 0xb43ff430 (LWP 19461)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb43fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3024086684, handles=0x2, waitall=3076096, timeout=3024086792, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5bec9b0, multiple=-1234346920, numhandles=2, handles=0xb43fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb658f758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 14 (Thread 0xb42ff430 (LWP 19462)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb42fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3023038108, handles=0x2, waitall=3076096, timeout=3023038216, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5beca60, multiple=-1234346920, numhandles=2, handles=0xb42fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb659d868, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 13 (Thread 0xb41ff430 (LWP 19463)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb41fe690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3021989532, handles=0x2, waitall=3076096, timeout=3021989640, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5becb10, multiple=-1234346920, numhandles=2, handles=0xb41fe708, waitall=0, ms=2000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb659a758, ms=2000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 12 (Thread 0xb40ff430 (LWP 19464)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x47c, timeout=0xb40fe7b8, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f2a70 in WaitForSingleObjectEx (handle=0x1f2a70, timeout=3076096, alertable=1148) at wait.c:198
#3 0x00160344 in mono_wait_uninterrupted (thread=0xb5becbc0, multiple=-1233679480, numhandles=1, handles=0xb40fe81c, waitall=0, ms=234, alertable=1) at threads.c:1455
#4 0x00161ed4 in ves_icall_System_Threading_WaitHandle_WaitOne_internal (this=<optimized out>, handle=0xe0b556ac, ms=234, exitContext=<optimized out>) at threads.c:1587
#5 0xb51c3158 in ?? ()
#6 0xb51c3158 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 11 (Thread 0xb51bd430 (LWP 19465)):
#0 0xb6eae2c4 in nanosleep () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001f4e10 in SleepEx (ms=<optimized out>, alertable=1) at wthreads.c:842
#2 0x0016425c in monitor_thread (unused=<optimized out>) at threadpool.c:779
#3 0x001625b4 in start_wrapper_internal (data=0x642378) at threads.c:643
#4 start_wrapper (data=0x642378) at threads.c:688
#5 0x001f5c30 in thread_start_routine (args=0x3d3318) at wthreads.c:294
#6 0x00204268 in inner_start_thread (arg=0x3d330c) at mono-threads-posix.c:49
#7 0xb6ea5c00 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#9 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 10 (Thread 0xb3fff430 (LWP 19466)):
#0 0xb6eac9c8 in sem_timedwait () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001ffff0 in mono_sem_timedwait (sem=0x2f4f7c, timeout_ms=<optimized out>, alertable=1) at mono-semaphore.c:82
#2 0x00166c20 in async_invoke_thread (data=0x0) at threadpool.c:1565
#3 0x001625b4 in start_wrapper_internal (data=0x67ad98) at threads.c:643
#4 start_wrapper (data=0x67ad98) at threads.c:688
#5 0x001f5c30 in thread_start_routine (args=0x3d3438) at wthreads.c:294
#6 0x00204268 in inner_start_thread (arg=0x3d342c) at mono-threads-posix.c:49
#7 0xb6ea5c00 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#9 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 9 (Thread 0xb3d4a430 (LWP 19467)):
#0 0xb6e12e54 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0x00164be0 in tp_epoll_wait (p=0x2f5084) at ../../mono/metadata/tpool-epoll.c:118
#2 0x001625b4 in start_wrapper_internal (data=0x6a7ec0) at threads.c:643
#3 start_wrapper (data=0x6a7ec0) at threads.c:688
#4 0x001f5c30 in thread_start_routine (args=0x3d35e8) at wthreads.c:294
#5 0x00204268 in inner_start_thread (arg=0x3d35dc) at mono-threads-posix.c:49
#6 0xb6ea5c00 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#7 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#8 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 8 (Thread 0xb3d2a430 (LWP 19468)):
#0 0xb6eac9c8 in sem_timedwait () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001ffff0 in mono_sem_timedwait (sem=0x2f5004, timeout_ms=<optimized out>, alertable=1) at mono-semaphore.c:82
#2 0x00166c20 in async_invoke_thread (data=0xb6db9e5c) at threadpool.c:1565
#3 0x001625b4 in start_wrapper_internal (data=0x6b36d8) at threads.c:643
#4 start_wrapper (data=0x6b36d8) at threads.c:688
#5 0x001f5c30 in thread_start_routine (args=0x3d3708) at wthreads.c:294
#6 0x00204268 in inner_start_thread (arg=0x3d36fc) at mono-threads-posix.c:49
#7 0xb6ea5c00 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
#9 0xb6e12728 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 7 (Thread 0xb3c7d430 (LWP 19470)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb3c7c690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3016214172, handles=0x2, waitall=3076096, timeout=3016214280, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5becf30, multiple=-1233133536, numhandles=2, handles=0xb3c7c708, waitall=0, ms=20000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb67fe6c0, ms=20000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 6 (Thread 0xb3b77430 (LWP 19471)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x400, timeout=0xb3b76690, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f33a4 in WaitForMultipleObjectsEx (numobjects=3015141020, handles=0x2, waitall=3076096, timeout=3015141128, alertable=1) at wait.c:670
#3 0x001602e4 in mono_wait_uninterrupted (thread=0xb5becfe0, multiple=-1233133536, numhandles=2, handles=0xb3b76708, waitall=0, ms=20000, alertable=1) at threads.c:1453
#4 0x00161fa8 in ves_icall_System_Threading_WaitHandle_WaitAny_internal (mono_handles=0xb67ff6c0, ms=20000, exitContext=<optimized out>) at threads.c:1551
#5 0xb52de99c in ?? ()
#6 0xb52de99c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 5 (Thread 0xb38e3430 (LWP 19472)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x4cc, timeout=0xb38e28d8, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f2a70 in WaitForSingleObjectEx (handle=0x1f2a70, timeout=3076096, alertable=1228) at wait.c:198
#3 0x001808e4 in ves_icall_System_Threading_Monitor_Monitor_wait (obj=0xb67fdcf0, ms=5000) at monitor.c:1485
#4 0xb3c89674 in ?? ()
#5 0xb3c89674 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 4 (Thread 0xb37e3430 (LWP 19473)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x4cd, timeout=0xb37e28d8, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f2a70 in WaitForSingleObjectEx (handle=0x1f2a70, timeout=3076096, alertable=1229) at wait.c:198
#3 0x001808e4 in ves_icall_System_Threading_Monitor_Monitor_wait (obj=0xb67fdcf0, ms=5000) at monitor.c:1485
#4 0xb3c89674 in ?? ()
#5 0xb3c89674 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 3 (Thread 0xb36e3430 (LWP 19474)):
#0 0xb6eaa8bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001df938 in _wapi_handle_timedwait_signal_handle (handle=0x4ce, timeout=0xb36e28d8, alertable=1, poll=<optimized out>) at handles.c:1586
#2 0x001f2a70 in WaitForSingleObjectEx (handle=0x1f2a70, timeout=3076096, alertable=1230) at wait.c:198
#3 0x001808e4 in ves_icall_System_Threading_Monitor_Monitor_wait (obj=0xb67fdcf0, ms=5000) at monitor.c:1485
#4 0xb3c89674 in ?? ()
#5 0xb3c89674 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 2 (Thread 0xb35e3430 (LWP 19475)):
#0 0xb6eae2c4 in nanosleep () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x001f4e10 in SleepEx (ms=<optimized out>, alertable=1) at wthreads.c:842
#2 0x001622d8 in ves_icall_System_Threading_Thread_Sleep_internal (ms=500) at threads.c:1224
#3 0xb3c89dfc in ?? ()
#4 0xb3c89dfc in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 1 (Thread 0xb6f84000 (LWP 19447)):
#0 0xb6eaeaac in waitpid () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0x000b2148 in mono_handle_native_sigsegv (signal=<optimized out>, ctx=<optimized out>) at mini-exceptions.c:2299
#2 0x00027af8 in mono_sigsegv_signal_handler (_dummy=11, info=0xbea87758, context=0xbea877d8) at mini.c:6777
#3 <signal handler called>
#4 0xb20d2a64 in BulletSim::initPhysics2 (this=0xcb1020, parms=0x43800000, maxCollisions=1132462080, collisionArray=0x45800000, maxUpdates=-1235505168, updateArray=0x800) at BulletSim.cpp:144
#5 0xb20bc694 in Initialize2 (maxPosition=..., parms=0x43800000, maxCollisions=1132462080, collisionArray=0x45800000, maxUpdates=-1235505168, updateArray=0x800, debugLog=0xb55e3020) at API2.cpp:125
#6 0xb2190c88 in ?? ()
Cannot access memory at address 0x7f8
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted

Update 1/8/2016: Bullet unmanaged now compiles without issue.

After a lot of fighting it came right down to debian wheezy not having the right compiler to make bullet 2.82 work properly. Upgrading to Debian Jessie has since resolved this problem. Click here to follow a link to this article and how to compile libBulletSim.so unmanaged.

Leave a Comment