JVM crash at LWJGLRenderer.updateTextureSubImage()

Hi!



I'm looking at the source code now. I hope I will find an explanation. Can you tell me which line of this method have the JVM crashed?

gouessej said:

Hi!

I'm looking at the source code now. I hope I will find an explanation. Can you tell me which line of this method have the JVM crashed?

Wow~ I'll pray for you. :D
If I understand right, the line of code is LWJGLRenderer:1812 or JOGLRenderer:1865. (rev 4406)
mulova said:

gouessej said:

Hi!

I'm looking at the source code now. I hope I will find an explanation. Can you tell me which line of this method have the JVM crashed?

Wow~ I'll pray for you. :D
If I understand right, the line of code is LWJGLRenderer:1812 or JOGLRenderer:1865. (rev 4406)


Which pixel format is used? Is there any other thread trying to access to this image? The "pointer" of the ByteBuffer should perhaps be reset after this line. Is it always reproducible (whatever the image you use)? Does at least one call of this method succeed? If so, add this after the line 1812:

data.rewind();

Thank you.

It is not reproduced always and not accessed by multi-thread.

I'll try your suggestion and let you know.

It happens again.

It occurs often especially when two OpenGL applications are launched. but not always.



Recent error occurs when DisplaySystem is created and 'Default Texture' is loaded.


j  org.lwjgl.opengl.GL11.nglTexImage2D(IIIIIIIILjava/nio/Buffer;IJ)V+0
j  org.lwjgl.opengl.GL11.glTexImage2D(IIIIIIIILjava/nio/ByteBuffer;)V+76
j  com.jme.scene.state.lwjgl.LWJGLTextureState.load(I)V+1181
j  com.jme.scene.state.lwjgl.LWJGLTextureState.<init>()V+360
j  com.jme.renderer.lwjgl.LWJGLRenderer.createTextureState()Lcom/jme/scene/state/TextureState;+4
j  com.jme.renderer.lwjgl.LWJGLRenderer.<init>(II)V+165
j  com.jme.system.lwjgl.LWJGLDisplaySystem.createWindow(IIIIZ)V+127

Maybe Woody's fix solves your problem, I have integrated it locally (and painfully).