JME Android NumberFormatException from OGLESShaderRenderer


I am new to JME and I am trying to build a simple Android game using JME. I set the target as ‘Android Device’, prepared .apk file, signed it using jarsigner and installed in KOPLAYER (an Android simulator). But when I try to run the application, it is firing an exception like this

"NumberFormatException: Invalid Float “1.0.17”

From OGLESShaderRenderer:extractVersion()
Which is called from OGLESShaderRenderer:initialize()

It looks like jme is expecting a float as version number. I guess some of you would already have faced and fixed this issue. I have attached screenshot. I’m not able to fix this. Please help.

Seems like you are running an old version of JME because I’m pretty sure we fixed this a year ago or more.

Are you still running 3.0 by any chance?

Thanks for your reply.
I downloaded JME only one month back from the official website link given below

file : jmonkeyplatform-windows-x86.exe

The version should be 3.0.10. (I will check my installation today evening and I’ll inform you)

Please help me.

@nehon Tagging 3.0 as stable isn’t good. You should’ve tagged it “deprecated” instead :smiley:
@JyothishM Rather download 3.1-beta1-b0002-SNAPSHOT, since it’s the latest version and contains thousands of fixes and over a year of development.

If you run into problems installing 3.1 make sure to backup your code and projects and uninstall 3.0 (Somtimes this confuses 3.1)

I will install jme 3.1 and see if the problem persists.

I uninstalled JME3.0 and installed ‘3.1-beta1-b002-SNAPSHOT’ from

File : jmonkeyplatform-windows-x86.exe

I ported my old project into this version of JME. Compilation successful. But ‘Bullet-Native’ is firing an exception at runtime. I have pasted the output here.

Bullet-Native: Initializing java classes
Execution protection violation

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x147ca23c, pid=2424, tid=4624

JRE version: Java™ SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)

Java VM: Java HotSpot™ Client VM (25.77-b03 mixed mode windows-x86 )

Problematic frame:

C 0x147ca23c

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:

C:\Users\Vismaya info tech\Desktop\jyothish_test\jmonkeyengineTest\BasicGame2\hs_err_pid2424.log

If you would like to submit a bug report, please visit:

The crash happened outside the Java Virtual Machine in native code.

See problematic frame for where to report the bug.

AL lib: (EE) alc_cleanup: 1 device not closed
C:\Users\Vismaya info tech\AppData\Roaming.jmonkeyplatform\3.1.0-beta1-b002-SNAPSHOT\var\cache\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 5 seconds)

Please suggest what can do about it.

Delete the old dll in your folder. You are running the new jme with the old 3.0 bullet native version.
It is only re-extracted from the jar when there is no dll.

1 Like

Thanks for the reply. I tried deleting the dlls. But it doesn’t help. Here is first part of log file. It may be helpful

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

Current thread (0x14ad1400): JavaThread “jME3 Main” [_thread_in_native, id=1804, stack(0x16160000,0x161b0000)]

siginfo: ExceptionCode=0xc0000005, ExceptionInformation=0x00000008 0x148733c4

EAX=0x00000001, EBX=0x695e11b5, ECX=0x7ffab000, EDX=0x00000000
ESP=0x161af1a0, EBP=0x14b8b4e4, ESI=0x14ad1540, EDI=0x148733c0
EIP=0x148733c4, EFLAGS=0x00210202

Top of Stack: (sp=0x161af1a0)
0x161af1a0: 148733c8 00390000 00000002 00394458
0x161af1b0: 15ff5080 fffffff0 148733c8 148733c4
0x161af1c0: 148733c0 14ad1540 00394408 15ff4fc0
0x161af1d0: 003943f0 15ff4d40 15fa0e70 01ff5080
0x161af1e0: 0000003f 161af314 161af218 696735b8
0x161af1f0: 15ff2fe0 15ff5020 00394534 15ff1770
0x161af200: 003945c8 0000070c 161af228 15ff5080
0x161af210: 003945c8 696541fc 161af238 69654229

Instructions: (pc=0x148733c4)
0x148733a4: 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00
0x148733b4: 50 4b 01 02 fe da 10 10 2a 2a 00 8c c0 67 25 04
0x148733c4: 68 3c b8 05 f8 ab 2e 04 f0 11 6a 09 98 ad c4 03
0x148733d4: 98 ad c4 03 98 ad c4 03 98 ad c4 03 98 ad c4 03

Register to memory mapping:

EAX=0x00000001 is an unknown value
EBX=0x695e11b5 is an unknown value
ECX=0x7ffab000 is an unknown value
EDX=0x00000000 is an unknown value
ESP=0x161af1a0 is pointing into the stack for thread: 0x14ad1400
EBP=0x14b8b4e4 is an unknown value
ESI=0x14ad1540 is an unknown value
EDI=0x148733c0 is an unknown value

Stack: [0x16160000,0x161b0000], sp=0x161af1a0, free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C 0x148733c4

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.jme3.bullet.PhysicsSpace.addRigidBody(JJ)V+0
j com.jme3.bullet.PhysicsSpace.addRigidBody(Lcom/jme3/bullet/objects/PhysicsRigidBody;)V+75
j com.jme3.bullet.PhysicsSpace.addCollisionObject(Lcom/jme3/bullet/collision/PhysicsCollisionObject;)V+30
j com.jme3.bullet.control.BetterCharacterControl.addPhysics(Lcom/jme3/bullet/PhysicsSpace;)V+24
j com.jme3.bullet.control.AbstractPhysicsControl.setPhysicsSpace(Lcom/jme3/bullet/PhysicsSpace;)V+53
j com.jme3.bullet.PhysicsSpace.add(Ljava/lang/Object;)V+12
j VismayaGames.VBasicGame.setupCharacter(Ljava/lang/String;)LVismayaGames/VCharacter;+64
j VismayaGames.VBasicGame.simpleInitApp()V+136
j com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread()Z+90
v ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
0x14b64c00 JavaThread “jME3 Audio Decoder” daemon [_thread_blocked, id=5716, stack(0x19590000,0x195e0000)]
0x0118d000 JavaThread “DestroyJavaVM” [_thread_blocked, id=2440, stack(0x017a0000,0x017f0000)]
=>0x14ad1400 JavaThread “jME3 Main” [_thread_in_native, id=1804, stack(0x16160000,0x161b0000)]
0x14a84800 JavaThread “TimerQueue” daemon [_thread_blocked, id=2884, stack(0x16100000,0x16150000)]
0x14885000 JavaThread “AWT-Windows” daemon [_thread_in_native, id=664, stack(0x14d70000,0x14dc0000)]
0x14881800 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=3360, stack(0x145f0000,0x14640000)]
0x140b3c00 JavaThread “Service Thread” daemon [_thread_blocked, id=3700, stack(0x146c0000,0x14710000)]
0x140ad800 JavaThread “C1 CompilerThread0” daemon [_thread_blocked, id=5268, stack(0x144b0000,0x14500000)]
0x140bdc00 JavaThread “Attach Listener” daemon [_thread_blocked, id=2656, stack(0x03ae0000,0x03b30000)]
0x140bac00 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=1096, stack(0x14400000,0x14450000)]
0x1409a400 JavaThread “Finalizer” daemon [_thread_blocked, id=5832, stack(0x03b70000,0x03bc0000)]
0x14074c00 JavaThread “Reference Handler” daemon [_thread_blocked, id=5980, stack(0x143b0000,0x14400000)]

Other Threads:
0x1406dc00 VMThread [stack: 0x14280000,0x142d0000] [id=6108]
0x140b6c00 WatcherThread [stack: 0x14760000,0x147b0000] [id=5976]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Please help.