Failed jni error in hellojme3

I’ve got strange error. About two weeks ago all jme applications worked correctly and I got a break in development. Now I get errors repeatedly with running all applications that I’ve wrote in jmonkey, including the previous git versions that worked correctly. I’ve tried different versions of jme (recent and old versions), I’ve tried different java virtual machines and got same error.



I copy original HelloJME3 example to eliminate my own bugs and still got the error.



[info] Copying files for linux
[info] Skipping because of existence: /home/ayvango/Work/scala/web-applet/target/scala-2.10.0-M7/resource_managed/main/lwjgl-resources/linux
[info] Running gow.demo.hello.HelloJME3
[error] ноя 04, 2012 2:03:00 AM com.jme3.system.JmeDesktopSystem initialize
[error] INFO: Running on jMonkeyEngine 3.0.0 RC2
[error] ноя 04, 2012 2:03:00 AM com.jme3.system.Natives extractNativeLibs
[error] INFO: Extraction Directory: /home/ayvango/Work/scala/web-applet
[error] ноя 04, 2012 2:03:00 AM com.jme3.system.Natives extractNativeLib
[error] WARNING: Cannot locate native library: linux/libbulletjme64.so
[error] ноя 04, 2012 2:03:00 AM com.jme3.system.lwjgl.LwjglAbstractDisplay run
[error] INFO: Using LWJGL 2.8.3
[error] ноя 04, 2012 2:03:00 AM com.jme3.system.lwjgl.LwjglDisplay createContext
[error] INFO: Selected display mode: 640 x 480 x 0 @0Hz
[info] #
[info] # A fatal error has been detected by the Java Runtime Environment:
[info] #
[info] # SIGSEGV (0xb) at pc=0x00007fd92d05ad7a, pid=23647, tid=140570601445120
[info] #
[info] # JRE version: 7.0_07-b10
[info] # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.3-b01 mixed mode linux-amd64 compressed oops)
[info] # Problematic frame:
[info] # v ~BufferBlob::jni_fast_GetLongField
[info] #
[info] # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
[info] #
[info] # An error report file with more information is saved as:
[info] # /home/ayvango/Work/scala/web-applet/hs_err_pid23647.log
[info] #
[info] # If you would like to submit a bug report, please visit:
[info] # http://bugreport.sun.com/bugreport/crash.jsp
[info] #
java.lang.RuntimeException: Nonzero exit code returned from runner: 134
at scala.sys.package$.error(package.scala:27)
[error] {file:/home/ayvango/Work/scala/web-applet/}root/compile:run-main: Nonzero exit code returned from runner: 134
[error] Total time: 12 s, completed 04.11.2012 2:03:02



jMonkey IDE works normally at the time. Scene editor window shows models and so on.

I think there is incompatibility between jmonkey and my current OS config somewhere. May be it reside in building chain, may be in run-time environment. Where should I seek it at?

Maybe “hs_err_pid23647.log” holds a clue to what crashes the JVM.

the most interesting thing:



Stack: [0x00007fd924b3d000,0x00007fd924c3e000], sp=0x00007fd924c3c2b8, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v ~BufferBlob::jni_fast_GetLongField

[error occurred during error reporting (printing native stack), id 0xb]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.opengl.LinuxContextImplementation.nSetSwapInterval(Ljava/nio/ByteBuffer;I)V+0
j org.lwjgl.opengl.LinuxContextImplementation.setSwapInterval(I)V+30
j org.lwjgl.opengl.ContextGL.setSwapInterval(I)V+4
j org.lwjgl.opengl.DrawableGL.setSwapInterval(I)V+1
j org.lwjgl.opengl.Display.setSwapInterval(I)V+22
j org.lwjgl.opengl.Display.makeCurrentAndSetSwapInterval()V+43
j org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;Lorg/lwjgl/opengl/Drawable;Lorg/lwjgl/opengl/ContextAttribs;)V+108
j org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;)V+12
j com.jme3.system.lwjgl.LwjglDisplay.createContext(Lcom/jme3/system/AppSettings;)V+375
j com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread()Z+25
j com.jme3.system.lwjgl.LwjglAbstractDisplay.run()V+32
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

The times I’ve seen crashes like this on the forum it has always been the video driver acting up (usually Intel). That might very well be the case here. Maybe you did some update of your system that changed the video driver.

Drivers may be the case. But I’ve tried some games that require 3d accelerations and they works. I would reinstall drivers to make final check.



There is something that trouble me very badly. May be I would get jmonkey work for me, what system requirements I should put for those who want to play my game. How could they determine if their software is compatible with jmonkey?

Driver bugs or bugs in LWJGL might not be apparent unless you try a game that uses LWJG in the same way that jME does.

You really can’t protect your users against bugs in drivers, lwjgl, OS or jME. This is not different from releasing any software.



Anyway, you can also try the tests in jME (create a new project in the SDK, select JME and JME test template) to see if those also provoke the bug. Maybe it still is something in your code that you can fix/work around so that you don’t see the crash.