Native Bullet causes crash

Hey everyone,

after problems with jbullet, @Momoko_Fan suggested switching to native bullet.
I did that through removing jBullet.jar and jME3-jBullet.jar and adding jME3-bullet.jar and jME3-bullet-natives.jar.

Now my game crashes. I narrowed it down to one failing test case:
[java]
package mygame;

import com.jme3.app.SimpleApplication;
import com.jme3.renderer.RenderManager;

public class Main extends SimpleApplication {

public static void main(String[] args) {
    Main app = new Main();
    app.start();
}

@Override
public void simpleInitApp() {
    assetManager.loadModel("Models/rock1.j3o");
}

@Override
public void simpleUpdate(float tpf) {}

@Override
public void simpleRender(RenderManager rm) {}

}
[/java]
The problem occurs when loading a model that has a RigidBodyControl applied to it (via the SceneExplorer).

I get this error message in the output:

Bullet-Native: Initializing java classes
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000001171531a, pid=2448, tid=1436
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [bulletjme64.dll+0xb531a]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# Q:\Daniel\Entwicklung\Software\JMonkey\misc\NativeBulletTest\hs_err_pid2448.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

and this is the content of hs_err_pid2448.log:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000001171531a, pid=2448, tid=1436
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [bulletjme64.dll+0xb531a]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x0000000010da1800):  JavaThread "LWJGL Renderer Thread" [_thread_in_native, id=1436, stack(0x0000000010090000,0x0000000010190000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x000000001cdf2ed8

Registers:
RAX=0x0000000010fbd660, RBX=0x000000001018e270, RCX=0x0000000018000000, RDX=0x0000000010df2ed0
RSP=0x000000001018e090, RBP=0x0000000000000001, RSI=0x0000000016484280, RDI=0x0000000000000000
R8 =0x000000001cdf2ed0, R9 =0x0000000000000000, R10=0x000007f8f0e45cf0, R11=0x0000000000d30000
R12=0x000000001018e150, R13=0x000000001018e140, R14=0x000000001018e130, R15=0x000000001018e128
RIP=0x000000001171531a, EFLAGS=0x0000000000010202

Top of Stack: (sp=0x000000001018e090)
0x000000001018e090:   000000013cf87010 0000000100000000
0x000000001018e0a0:   0000000700000001 0000000000000001
0x000000001018e0b0:   000000001018e158 000000001018e128
0x000000001018e0c0:   000000001018e130 000000001018e150
0x000000001018e0d0:   000000001018e140 0000000000000000
0x000000001018e0e0:   00000007c0d15d68 0000000100000001
0x000000001018e0f0:   1084393f301d6cbf 00000000ec8257bf
0x000000001018e100:   000000073ce1c190 000000001018e190
0x000000001018e110:   000000073cea64d8 0000000000000000
0x000000001018e120:   0000000010df2ed0 0000000010fbd660
0x000000001018e130:   000000000000000c 00000000000000c8
0x000000001018e140:   0000000000000002 0000000016484340
0x000000001018e150:   000000000000004c 0000002d0000000c
0x000000001018e160:   0000000000000000 0000000000000000
0x000000001018e170:   0000000000000000 0000000000000000
0x000000001018e180:   0000000000000000 0000000000000000 

Instructions: (pc=0x000000001171531a)
0x00000000117152fa:   44 24 6c 00 00 00 00 f3 0f 11 44 24 68 f3 0f 11
0x000000001171530a:   4c 24 64 0f af 48 08 f3 0f 11 54 24 60 49 01 d0
0x000000001171531a:   f3 41 0f 10 40 08 f3 41 0f 10 48 04 f3 0f 59 c7
0x000000001171532a:   f3 41 0f 10 10 f3 41 0f 59 c8 c7 44 24 7c 00 00 


Register to memory mapping:

RAX=0x0000000010fbd660 is an unknown value
RBX=0x000000001018e270 is pointing into the stack for thread: 0x0000000010da1800
RCX=0x0000000018000000 is an unknown value
RDX=0x0000000010df2ed0 is an unknown value
RSP=0x000000001018e090 is pointing into the stack for thread: 0x0000000010da1800
RBP=0x0000000000000001 is an unknown value
RSI=0x0000000016484280 is an unknown value
RDI=0x0000000000000000 is an unknown value
R8 =0x000000001cdf2ed0 is an unknown value
R9 =0x0000000000000000 is an unknown value
R10=0x000007f8f0e45cf0 is an unknown value
R11=0x0000000000d30000 is an unknown value
R12=0x000000001018e150 is pointing into the stack for thread: 0x0000000010da1800
R13=0x000000001018e140 is pointing into the stack for thread: 0x0000000010da1800
R14=0x000000001018e130 is pointing into the stack for thread: 0x0000000010da1800
R15=0x000000001018e128 is pointing into the stack for thread: 0x0000000010da1800


Stack: [0x0000000010090000,0x0000000010190000],  sp=0x000000001018e090,  free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [bulletjme64.dll+0xb531a]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.jme3.bullet.collision.shapes.MeshCollisionShape.createShape(ZZJ)J+0
j  com.jme3.bullet.collision.shapes.MeshCollisionShape.createShape(Z)V+67
j  com.jme3.bullet.collision.shapes.MeshCollisionShape.read(Lcom/jme3/export/JmeImporter;)V+118
j  com.jme3.export.binary.BinaryImporter.readObject(I)Lcom/jme3/export/Savable;+233
j  com.jme3.export.binary.BinaryInputCapsule.readSavable(Ljava/lang/String;Lcom/jme3/export/Savable;)Lcom/jme3/export/Savable;+81
j  com.jme3.bullet.collision.shapes.infos.ChildCollisionShape.read(Lcom/jme3/export/JmeImporter;)V+73
j  com.jme3.export.binary.BinaryImporter.readObject(I)Lcom/jme3/export/Savable;+233
j  com.jme3.export.binary.BinaryInputCapsule.resolveIDs([Ljava/lang/Object;)[Lcom/jme3/export/Savable;+42
j  com.jme3.export.binary.BinaryInputCapsule.readSavableArray(Ljava/lang/String;[Lcom/jme3/export/Savable;)[Lcom/jme3/export/Savable;+71
j  com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)Ljava/util/ArrayList;+65
j  com.jme3.bullet.collision.shapes.CompoundCollisionShape.read(Lcom/jme3/export/JmeImporter;)V+24
j  com.jme3.export.binary.BinaryImporter.readObject(I)Lcom/jme3/export/Savable;+233
j  com.jme3.export.binary.BinaryInputCapsule.readSavable(Ljava/lang/String;Lcom/jme3/export/Savable;)Lcom/jme3/export/Savable;+81
j  com.jme3.bullet.collision.PhysicsCollisionObject.read(Lcom/jme3/export/JmeImporter;)V+38
j  com.jme3.bullet.objects.PhysicsRigidBody.read(Lcom/jme3/export/JmeImporter;)V+2
j  com.jme3.bullet.control.RigidBodyControl.read(Lcom/jme3/export/JmeImporter;)V+2
j  com.jme3.export.binary.BinaryImporter.readObject(I)Lcom/jme3/export/Savable;+233
j  com.jme3.export.binary.BinaryInputCapsule.resolveIDs([Ljava/lang/Object;)[Lcom/jme3/export/Savable;+42
j  com.jme3.export.binary.BinaryInputCapsule.readSavableArray(Ljava/lang/String;[Lcom/jme3/export/Savable;)[Lcom/jme3/export/Savable;+71
j  com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)Ljava/util/ArrayList;+65
j  com.jme3.scene.Spatial.read(Lcom/jme3/export/JmeImporter;)V+172
j  com.jme3.scene.Node.read(Lcom/jme3/export/JmeImporter;)V+79
j  com.jme3.export.binary.BinaryImporter.readObject(I)Lcom/jme3/export/Savable;+233
j  com.jme3.export.binary.BinaryImporter.load(Ljava/io/InputStream;Lcom/jme3/export/ReadListener;Ljava/io/ByteArrayOutputStream;)Lcom/jme3/export/Savable;+631
j  com.jme3.export.binary.BinaryImporter.load(Ljava/io/InputStream;)Lcom/jme3/export/Savable;+4
j  com.jme3.export.binary.BinaryImporter.load(Lcom/jme3/asset/AssetInfo;)Ljava/lang/Object;+17
j  com.jme3.asset.DesktopAssetManager.loadAsset(Lcom/jme3/asset/AssetKey;)Ljava/lang/Object;+205
j  com.jme3.asset.DesktopAssetManager.loadModel(Lcom/jme3/asset/ModelKey;)Lcom/jme3/scene/Spatial;+2
j  com.jme3.asset.DesktopAssetManager.loadModel(Ljava/lang/String;)Lcom/jme3/scene/Spatial;+9
j  mygame.Main.simpleInitApp()V+6
j  com.jme3.app.SimpleApplication.initialize()V+288
j  com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread()Z+90
j  com.jme3.system.lwjgl.LwjglAbstractDisplay.run()V+32
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x0000000010edd800 JavaThread "jME3 Audio Thread" daemon [_thread_blocked, id=3448, stack(0x0000000015fd0000,0x00000000160d0000)]
  0x0000000002ab2800 JavaThread "DestroyJavaVM" [_thread_blocked, id=5844, stack(0x0000000002970000,0x0000000002a70000)]
=>0x0000000010da1800 JavaThread "LWJGL Renderer Thread" [_thread_in_native, id=1436, stack(0x0000000010090000,0x0000000010190000)]
  0x0000000010d9e000 JavaThread "TimerQueue" daemon [_thread_blocked, id=2084, stack(0x0000000011560000,0x0000000011660000)]
  0x000000000f223800 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=6496, stack(0x0000000010b60000,0x0000000010c60000)]
  0x000000000f135800 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=3484, stack(0x000000000ff90000,0x0000000010090000)]
  0x000000000f132800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=1900, stack(0x000000000eed0000,0x000000000efd0000)]
  0x000000000f132000 JavaThread "AWT-Shutdown" [_thread_blocked, id=5964, stack(0x000000000edd0000,0x000000000eed0000)]
  0x000000000f0d7800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=4172, stack(0x000000000ecd0000,0x000000000edd0000)]
  0x000000000d358000 JavaThread "Service Thread" daemon [_thread_blocked, id=3292, stack(0x000000000ead0000,0x000000000ebd0000)]
  0x000000000d348800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=4580, stack(0x000000000e9d0000,0x000000000ead0000)]
  0x000000000d343800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=4100, stack(0x000000000e8d0000,0x000000000e9d0000)]
  0x000000000d342800 JavaThread "Attach Listener" daemon [_thread_blocked, id=3716, stack(0x000000000e7d0000,0x000000000e8d0000)]
  0x000000000d33f000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4204, stack(0x000000000e6d0000,0x000000000e7d0000)]
  0x000000000d30e000 JavaThread "Finalizer" daemon [_thread_blocked, id=5272, stack(0x000000000e5d0000,0x000000000e6d0000)]
  0x000000000d303000 JavaThread "Reference Handler" daemon [_thread_blocked, id=5368, stack(0x000000000e4d0000,0x000000000e5d0000)]

Other Threads:
  0x000000000d301000 VMThread [stack: 0x000000000e3d0000,0x000000000e4d0000] [id=5460]
  0x000000000d372800 WatcherThread [stack: 0x000000000ebd0000,0x000000000ecd0000] [id=6192]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 57344K, used 40666K [0x00000007c0a80000, 0x00000007c4a00000, 0x0000000800000000)
  eden space 49664K, 81% used [0x00000007c0a80000,0x00000007c32368b8,0x00000007c3b00000)
  from space 7680K, 0% used [0x00000007c4280000,0x00000007c4280000,0x00000007c4a00000)
  to   space 7680K, 0% used [0x00000007c3b00000,0x00000007c3b00000,0x00000007c4280000)
 ParOldGen       total 129536K, used 0K [0x0000000742000000, 0x0000000749e80000, 0x00000007c0a80000)
  object space 129536K, 0% used [0x0000000742000000,0x0000000742000000,0x0000000749e80000)
 PSPermGen       total 21504K, used 16312K [0x000000073ce00000, 0x000000073e300000, 0x0000000742000000)
  object space 21504K, 75% used [0x000000073ce00000,0x000000073ddee170,0x000000073e300000)

Card table byte_map: [0x0000000005bb0000,0x00000000061d0000] byte_map_base: 0x00000000021c9000

Polling page: 0x0000000000d10000

Code Cache  [0x0000000002bb0000, 0x0000000002e20000, 0x0000000005bb0000)
 total_blobs=649 nmethods=93 adapters=508 free_code_cache=48376Kb largest_free_block=49507328

Compilation events (10 events):
Event: 2.876 Thread 0x000000000d348800 nmethod 89 0x0000000002c5f690 code [0x0000000002c5f7e0, 0x0000000002c5fb78]
Event: 2.876 Thread 0x000000000d348800   90   !         javax.imageio.stream.MemoryCache::loadFromStream (189 bytes)
Event: 2.876 Thread 0x000000000d343800 nmethod 84 0x0000000002c74ed0 code [0x0000000002c750a0, 0x0000000002c76630]
Event: 2.876 Thread 0x000000000d343800   91             javax.imageio.stream.MemoryCache::getCacheBlock (41 bytes)
Event: 2.877 Thread 0x000000000d343800 nmethod 91 0x0000000002c6e010 code [0x0000000002c6e160, 0x0000000002c6e278]
Event: 2.882 Thread 0x000000000d343800   92   !         java.util.zip.InflaterInputStream::read (138 bytes)
Event: 2.885 Thread 0x000000000d348800 nmethod 90 0x0000000002c71e10 code [0x0000000002c71fa0, 0x0000000002c727b8]
Event: 2.885 Thread 0x000000000d348800   93             java.lang.StringBuilder::append (8 bytes)
Event: 2.886 Thread 0x000000000d348800 nmethod 93 0x0000000002c5cb90 code [0x0000000002c5cce0, 0x0000000002c5cd68]
Event: 2.894 Thread 0x000000000d343800 nmethod 92 0x0000000002c773d0 code [0x0000000002c775c0, 0x0000000002c78790]

GC Heap History (0 events):
No events

Deoptimization events (8 events):
Event: 0.631 Thread 0x000000000f135800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c26c34 method=java.lang.String.equals(Ljava/lang/Object;)Z @ 8
Event: 0.632 Thread 0x000000000f135800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c26c34 method=java.lang.String.equals(Ljava/lang/Object;)Z @ 8
Event: 0.632 Thread 0x000000000f135800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c26c34 method=java.lang.String.equals(Ljava/lang/Object;)Z @ 8
Event: 0.633 Thread 0x000000000f135800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c26c34 method=java.lang.String.equals(Ljava/lang/Object;)Z @ 8
Event: 2.880 Thread 0x0000000010da1800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c6accc method=java.util.zip.InflaterInputStream.read([BII)I @ 100
Event: 2.881 Thread 0x0000000010da1800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c6accc method=java.util.zip.InflaterInputStream.read([BII)I @ 100
Event: 2.881 Thread 0x0000000010da1800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c6accc method=java.util.zip.InflaterInputStream.read([BII)I @ 100
Event: 2.882 Thread 0x0000000010da1800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002c6accc method=java.util.zip.InflaterInputStream.read([BII)I @ 100

Internal exceptions (10 events):
Event: 2.886 Thread 0x0000000010da1800 Threw 0x00000007c31226e8 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.887 Thread 0x0000000010da1800 Threw 0x00000007c31298e0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.889 Thread 0x0000000010da1800 Threw 0x00000007c313ead0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.890 Thread 0x0000000010da1800 Threw 0x00000007c314a4d0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.891 Thread 0x0000000010da1800 Threw 0x00000007c314ee10 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.891 Thread 0x0000000010da1800 Threw 0x00000007c3156ee8 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.892 Thread 0x0000000010da1800 Threw 0x00000007c315b630 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.893 Thread 0x0000000010da1800 Threw 0x00000007c3161bc0 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.893 Thread 0x0000000010da1800 Threw 0x00000007c316ba48 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244
Event: 2.894 Thread 0x0000000010da1800 Threw 0x00000007c3173e10 at C:\re\jdk7u51\527\hotspot\src\share\vm\prims\jvm.cpp:1244

Events (10 events):
Event: 2.891 loading class 0x0000000010faf4c0
Event: 2.891 loading class 0x0000000010faf4c0 done
Event: 2.892 loading class 0x0000000010fcfad0
Event: 2.892 loading class 0x0000000010fcfad0 done
Event: 2.893 loading class 0x0000000010fcf8a0
Event: 2.893 loading class 0x0000000010fcf8a0 done
Event: 2.893 loading class 0x0000000010fcfcb0
Event: 2.893 loading class 0x0000000010fcfcb0 done
Event: 2.894 loading class 0x0000000010fcecc0
Event: 2.894 loading class 0x0000000010fcecc0 done


Dynamic libraries:
0x000007f75a690000 - 0x000007f75a6c3000 	C:\Program Files\jmonkeyplatform\jdk\bin\java.exe
0x000007f8f0e40000 - 0x000007f8f0ffe000 	C:\Windows\SYSTEM32\ntdll.dll
0x000007f8eda00000 - 0x000007f8edb37000 	C:\Windows\system32\KERNEL32.DLL
0x000007f8ed130000 - 0x000007f8ed224000 	C:\Windows\system32\KERNELBASE.dll
0x000007f8ed4a0000 - 0x000007f8ed57e000 	C:\Windows\system32\ADVAPI32.dll
0x000007f8ef9f0000 - 0x000007f8efb3c000 	C:\Windows\system32\USER32.dll
0x000007f8eaff0000 - 0x000007f8eb25a000 	C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9200.16579_none_418ab7ef718b27ef\COMCTL32.dll
0x000007f8eddd0000 - 0x000007f8ede75000 	C:\Windows\system32\msvcrt.dll
0x000007f8ed380000 - 0x000007f8ed3c8000 	C:\Windows\SYSTEM32\sechost.dll
0x000007f8ef880000 - 0x000007f8ef9c5000 	C:\Windows\system32\RPCRT4.dll
0x000007f8ed6c0000 - 0x000007f8ed801000 	C:\Windows\system32\GDI32.dll
0x000007f8ef690000 - 0x000007f8ef6c9000 	C:\Windows\system32\IMM32.DLL
0x000007f8ef3f0000 - 0x000007f8ef506000 	C:\Windows\system32\MSCTF.dll
0x000007f8eccb0000 - 0x000007f8ecce2000 	C:\Windows\system32\nvinitx.dll
0x000000000f000000 - 0x000000000f006000 	C:\Program Files\NVIDIA Corporation\CoProcManager\detoured.dll
0x000007f8ea730000 - 0x000007f8ea791000 	C:\Program Files\NVIDIA Corporation\CoProcManager\nvd3d9wrapx.dll
0x000007f8efb40000 - 0x000007f8efd10000 	C:\Windows\system32\SETUPAPI.dll
0x000007f8ed0c0000 - 0x000007f8ed10f000 	C:\Windows\system32\CFGMGR32.dll
0x000007f8ed230000 - 0x000007f8ed252000 	C:\Windows\system32\DEVOBJ.dll
0x000007f8ea6e0000 - 0x000007f8ea72e000 	C:\Program Files\NVIDIA Corporation\CoProcManager\nvdxgiwrapx.dll
0x0000000061ac0000 - 0x0000000061b92000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\msvcr100.dll
0x0000000063be0000 - 0x00000000643a9000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\server\jvm.dll
0x000007f8d0cc0000 - 0x000007f8d0cc9000 	C:\Windows\SYSTEM32\WSOCK32.dll
0x000007f8e6f90000 - 0x000007f8e6fb0000 	C:\Windows\SYSTEM32\WINMM.dll
0x000007f8ef9e0000 - 0x000007f8ef9e7000 	C:\Windows\system32\PSAPI.DLL
0x000007f8edd70000 - 0x000007f8eddc8000 	C:\Windows\system32\WS2_32.dll
0x000007f8e6f40000 - 0x000007f8e6f73000 	C:\Windows\SYSTEM32\WINMMBASE.dll
0x000007f8ed5a0000 - 0x000007f8ed5a9000 	C:\Windows\system32\NSI.dll
0x0000000063af0000 - 0x0000000063aff000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\verify.dll
0x0000000063ac0000 - 0x0000000063ae8000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\java.dll
0x0000000063aa0000 - 0x0000000063ab5000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\zip.dll
0x00000000638c0000 - 0x0000000063a55000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\awt.dll
0x000007f8ed3d0000 - 0x000007f8ed493000 	C:\Windows\system32\OLEAUT32.dll
0x000007f8ef6d0000 - 0x000007f8ef880000 	C:\Windows\system32\combase.dll
0x000007f8e5ee0000 - 0x000007f8e5f7f000 	C:\Windows\system32\apphelp.dll
0x000007f8ebac0000 - 0x000007f8ebba6000 	C:\Windows\system32\uxtheme.dll
0x000007f8eb2b0000 - 0x000007f8eb2d1000 	C:\Windows\SYSTEM32\dwmapi.dll
0x000007f8ef510000 - 0x000007f8ef68e000 	C:\Windows\system32\ole32.dll
0x000007f8ecb00000 - 0x000007f8ecb0a000 	C:\Windows\SYSTEM32\CRYPTBASE.dll
0x000007f8ecaa0000 - 0x000007f8ecafc000 	C:\Windows\SYSTEM32\bcryptPrimitives.dll
0x000007f8ee110000 - 0x000007f8ef3f0000 	C:\Windows\system32\SHELL32.dll
0x000007f8ed810000 - 0x000007f8ed860000 	C:\Windows\system32\SHLWAPI.dll
0x000007f8ebea0000 - 0x000007f8ebf35000 	C:\Windows\SYSTEM32\shcore.dll
0x0000000063a80000 - 0x0000000063a99000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\net.dll
0x000007f8ec510000 - 0x000007f8ec56c000 	C:\Windows\system32\mswsock.dll
0x0000000063a60000 - 0x0000000063a71000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\nio.dll
0x0000000063830000 - 0x0000000063877000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\fontmanager.dll
0x00000000637e0000 - 0x0000000063821000 	C:\Program Files\jmonkeyplatform\jdk\jre\bin\t2k.dll
0x0000000180000000 - 0x0000000180064000 	Q:\Daniel\Entwicklung\Software\JMonkey\misc\NativeBulletTest\OpenAL64.dll
0x0000000011660000 - 0x0000000012705000 	Q:\Daniel\Entwicklung\Software\JMonkey\misc\NativeBulletTest\bulletjme64.dll
0x000000000f490000 - 0x000000000f4e0000 	Q:\Daniel\Entwicklung\Software\JMonkey\misc\NativeBulletTest\lwjgl64.dll
0x000007f8d9db0000 - 0x000007f8d9ecf000 	C:\Windows\SYSTEM32\OPENGL32.dll
0x000007f8e79c0000 - 0x000007f8e79c9000 	C:\Windows\SYSTEM32\VERSION.dll
0x000007f8d9d80000 - 0x000007f8d9dac000 	C:\Windows\SYSTEM32\GLU32.dll
0x000007f8ea160000 - 0x000007f8ea24a000 	C:\Windows\SYSTEM32\DDRAW.dll
0x000007f8ea150000 - 0x000007f8ea158000 	C:\Windows\SYSTEM32\DCIMAN32.dll
0x000007f8ecdd0000 - 0x000007f8ece25000 	C:\Windows\system32\WINTRUST.dll
0x000007f8ece30000 - 0x000007f8ed001000 	C:\Windows\system32\CRYPT32.dll
0x000007f8ecd90000 - 0x000007f8ecda6000 	C:\Windows\system32\MSASN1.dll
0x0000000061bb0000 - 0x00000000637e0000 	C:\Windows\SYSTEM32\nvoglv64.DLL
0x000007f8e6630000 - 0x000007f8e665e000 	C:\Windows\SYSTEM32\ntmarta.dll
0x000007f8ecc60000 - 0x000007f8ecca3000 	C:\Windows\SYSTEM32\powrprof.dll
0x000007f8e6fb0000 - 0x000007f8e7041000 	C:\Windows\SYSTEM32\mscms.dll
0x00000000102d0000 - 0x00000000102ef000 	C:\Windows\system32\USERENV.dll
0x000007f8ecdb0000 - 0x000007f8ecdc5000 	C:\Windows\system32\profapi.dll
0x000007f8e4840000 - 0x000007f8e4880000 	C:\Windows\SYSTEM32\icm32.dll
0x000007f8e8050000 - 0x000007f8e947e000 	C:\Windows\system32\igd10iumd64.dll
0x000007f8ec820000 - 0x000007f8ec845000 	C:\Windows\SYSTEM32\bcrypt.dll
0x000007f8ec7f0000 - 0x000007f8ec817000 	C:\Windows\SYSTEM32\ncrypt.dll
0x000007f8ec7b0000 - 0x000007f8ec7e5000 	C:\Windows\SYSTEM32\NTASN1.dll
0x000007f8e7b20000 - 0x000007f8e7f6b000 	C:\Windows\SYSTEM32\igdusc64.dll
0x000007f8ed2d0000 - 0x000007f8ed366000 	C:\Windows\SYSTEM32\clbcatq.dll
0x000007f8ea670000 - 0x000007f8ea6d2000 	C:\Windows\System32\MMDevApi.dll
0x000007f8d9ce0000 - 0x000007f8d9d6b000 	C:\Windows\SYSTEM32\dsound.dll
0x000007f8ea260000 - 0x000007f8ea2d2000 	C:\Windows\SYSTEM32\AUDIOSES.DLL
0x000007f8ea940000 - 0x000007f8eaaa3000 	C:\Windows\SYSTEM32\dbghelp.dll

VM Arguments:
jvm_args: -Dfile.encoding=UTF-8 
java_command: mygame.Main
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Daniel\Programme\strawberryperl\c\bin;C:\Daniel\Programme\strawberryperl\perl\site\bin;C:\Daniel\Programme\strawberryperl\perl\bin;C:\Program Files\TortoiseSVN\bin
USERNAME=Daniel
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows 8 , 64 bit Build 9200 

CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 58 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, erms, ht, tsc, tscinvbit, tscinv

Memory: 4k page, physical 12445456k(8718348k free), swap 14214928k(9103376k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (24.51-b03) for windows-amd64 JRE (1.7.0_51-b13), built on Dec 18 2013 18:40:56 by "java_re" with unknown MS VC++:1600

time: Thu Sep 11 07:05:24 2014
elapsed time: 2 seconds

If you want, I can of course send you the model, but I suspect itā€™s failing with any model that has a RigidBodyControl added to it via the SceneExplorer.

I have no idea who built the last binary for bullet anymore so I canā€™t say much about this, generally native bullet is in alpha.

Now that the ā€˜issueā€™ with jBullet has been found, I personally donā€™t need native bullet anymoreā€¦
If someone wants to investigate this bug however, I can still send the model of course.

So, Iā€™m not usually one to revive old threads, but I found this to be important, considering how each update weā€™re moving farther and farther away from jbullet and closer to native bullet. I myself encountered this issue when I tried to update my game to 3.1 alpha 2 and make the shift to native bullet at the same time. After some digging around and testing a few things, I figured out that the root of this problem seems to be an incompatibility between jbullet and native bullet.

The SDK itself uses jbullet in the scene composer to create rigid body controls. Which means that all j3o files created within the SDK have physics in them that is based off jbullet. If a game that uses native bullet tries to load said j3o file, the above error happens. So in order fix this, you have two solutions; either you create your j3o files within a game that uses native bullet, or you modify the SDK to use native bullet instead.

I for one use a custom plugin for the creation of my world, so I went ahead and modified the dependencies to point towards native bullet instead of jbullet. Everything worked after that.

3 Likes

Ooohā€¦ good sleuthing.

1 Like

That shouldnā€™t really happen though. Better to fix how native bullet loads the j3o data then.

Has this been fixed? Iā€™m experiencing the same problem with scenes created in blender, exported to OGRE and then imported into JME3 engine as j3o. If i ā€œadd collision shapeā€ via the JME3 scene composer and then load my game in intellij it crashes the JVM.

The MeshCollisionShape.java:193:
byte[] nativeBvh = capsule.readByteArray(MeshCollisionShape.NATIVE_BVH, null);

returns a null nativeBvh, Iā€™m not sure if this is the exact problem, but all other calls to MeshCollisionShape.createShape(boolean buildBvt) pass in a false, whereas this particular scene passes a true and then crashes during the native method invocation:
this.objectId = createShape(memoryOptimized, buildBvt, this.meshId);

I have the same thing. So I still use jBulletā€¦

Have you tried updating the native build?
Hereā€™s a repository to get the latest official version of bullet: Unofficial updated builds for Bullet ~ v2.86.1 & kinematic fix

Iā€™ll try that, is there a way to force the JME3 netbeans idea to use native bullet instead of jbullet when adding rigid bodies?

I think it is connected with types of rigidbodys, not with bullet itself. I tried bullet from 3.2.0 but I will try this link also.
I guess there are 2 ways: write small plugin that fix it while adding jbullet rigid to scene (described above), or switch SDK to native bullet.

Just remove jbullet from dependencies and add native bullet,classes and methods are the same.

The problem is visual SDK still uses jbullet.

You should recreate your project using gradle. Anyway,i used Ant for a long time and i assure you that if you totally remove the jbullet.jar dependency and add bullet-native.jar heā€™ll use the native bullet,otherwise something is broken with your project.

You always could rebuild SDK from sourceā€¦

Rebulding SDK is a good idea to deal with it.

I mean SDK, not my project. I guess you donā€™t mean that if I change jbullet to bullet in my project it will happens with SDK aswell.

Well,you can still switch everytime you create a new project :slight_smile: or you can modify the SDKā€™s source and rebuild it.

@Darkchaos @Dokthar do you know whatā€™s going on? Is it really just a dependency switch or is yet another thing broken?

Yeah, if i recall correctly the SDK still use jbullet lib for scene composer stuff.

And i think if we have to switch to a native-bullet sdk the ideal is to be able to choose runtime which bullet lib is used. (compile time is OK too)

But as jBullet and Bullet-native have a very common ā€œinterfaceā€ itā€™s should not be a probleme to switch from one to one other.

Even if the edition is done with jBullet it should load fine with Bullet-native except if the SDK used jBullet only features which is possible but hope not.

1 Like

Iā€™ve removed the jbullet jars from the jmonkey package contents on OSX, and now when creating a rigid body in the SDK Iā€™m getting:

java.lang.NoClassDefFoundError: com/bulletphysics/linearmath/MotionState
	at com.jme3.gde.core.sceneexplorer.nodes.actions.impl.NewRigidBodyAction.doCreateControl(NewRigidBodyAction.java:60)
	at com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewControlAction$1$1.call(AbstractNewControlAction.java:70)
	at com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractNewControlAction$1$1.call(AbstractNewControlAction.java:67)

I may be wrong but it seems like the scene composer seems coupled to jbullet.