A fatal error has been detected by the Java ... ([OpenAL32.dll+0xde7a])

Started by @, March 10, 2014, 14:39:49

Previous topic - Next topic

@

"sometimes" (It seems to be random, since i have not touched openal code in a long time) openAL crashes, giving me the following error:

Quote#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0ba0de7a, pid=3880, tid=1492
#
# JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
# Java VM: Java HotSpot(TM) Client VM (24.51-b03 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [OpenAL32.dll+0xde7a]
#

As i say, it has happened a few times to me, but not because i did something to cause it. I have seen some people have suffered the same crash in minecraft, or at least that is what i get from google, but not much more. Can someone give me an explanation of why this happens? Thanks!

quew8

I'm sure it would help if you gave the full Java stack trace and a little context of how your using whatever function is causing this.

@

Sorry, you are right. This is the log generated when the error happened. http://pastebin.com/pymaEbiZ
As i said, it seems weird because it have happened a few times without modifying code regarding sound. It is initialized like this:
try { AL.create(); } 
		catch (LWJGLException e) {
			Engine.trace("OPENAL ERROR: " + e.getMessage());
			return;
		}
		
		AL10.alGetError();			//Reset Errors
	    AL10.alGenBuffers(buffer);
	    AL10.alGenSources(source);
	    
	    AL10.alListener(AL10.AL_POSITION,    listenerPos);
	    AL10.alListener(AL10.AL_VELOCITY,    listenerVel);
	    AL10.alListener(AL10.AL_ORIENTATION, listenerOri);

@

Where could i learn more about those errores? Right now i'm lost in the openal field.

quew8

Well to learn more, I think you'd have to learn C/C++. But if I were you I would look at the source of this "org.lwjgl.openal.ALC10.alcCreateContext(Lorg/lwjgl/openal/ALCdevice;Ljava/nio/IntBuffer;)Lorg/lwjgl/openal/ALCcontext;" method. See if you can see anything wrong with it.

broumbroum

Quote from: Arrrr on March 21, 2014, 10:36:42
Where could i learn more about those errores? Right now i'm lost in the openal field.
This is JNI code exception. Try the JVM option
-Xcheck:jni
and see the error log once again, the cause of the exception may be listed in...

@

Thanks. As i said, it only happens once in a while, so i can't check it until it fails again.

@

After i put that flag i got this error:
FATAL ERROR in native method: Bad global or local ref passed to JNI
	at org.lwjgl.opengl.WindowsDisplay.nCreateWindow(Native Method)
	at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:239)
	at org.lwjgl.opengl.Display.createWindow(Display.java:306)
	at org.lwjgl.opengl.Display.create(Display.java:848)
	- locked <0x02ccb4e0> (a java.lang.Object)
	at org.lwjgl.opengl.Display.create(Display.java:757)
	- locked <0x02ccb4e0> (a java.lang.Object)
	at org.lwjgl.opengl.Display.create(Display.java:739)


There i have:
try {
			Display.setDisplayMode(new DisplayMode(width, height));
			Display.setVSyncEnabled(true);
			Display.create();
			Mouse.create();
			Keyboard.create();
		} catch (LWJGLException e) {
			e.printStackTrace();
			System.exit(1);
		}


But i'm not sure it is related

broumbroum

Thus we have to look into the source code for a fix. But I suspect the Pixel format is in fault. You can try Display.create(pixelformat with some value like (8,8,8))

@

Quote from: broumbroum on May 05, 2014, 10:51:37
Thus we have to look into the source code for a fix. But I suspect the Pixel format is in fault. You can try Display.create(pixelformat with some value like (8,8,8))
I don't know exactly how to do that, first time i touch that method. I'm lost

spasi

Quote from: @ on May 05, 2014, 10:06:21
After i put that flag i got this error:
FATAL ERROR in native method: Bad global or local ref passed to JNI


But i'm not sure it is related

You're using an old LWJGL build. Try the latest nightly.

@

Quote from: spasi on May 05, 2014, 11:29:19
Quote from: @ on May 05, 2014, 10:06:21
After i put that flag i got this error:
FATAL ERROR in native method: Bad global or local ref passed to JNI


But i'm not sure it is related

You're using an old LWJGL build. Try the latest nightly.

Thanks, i will update the thread with whatever happen.

@

Ok, everything is working as expected. I'll post again if i receive a new error.