JVM Crash on program start (Eclipse in Windows XP)

Hi,

My JVM crashes with the following error log:


An unexpected error has been detected by HotSpot Virtual Machine:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6954e6d6, pid=4012, tid=1880

Java VM: Java HotSpot™ Client VM (1.5.0_02-b09 mixed mode)

Problematic frame:

C [nvoglnt.dll+0x4e6d6]

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

Current thread (0x0084e070): JavaThread “AWT-EventQueue-0” [_thread_in_native, id=1880]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000000, EBX=0x00000001, ECX=0x0bc4e600, EDX=0xf4c39ba0
ESP=0x0b8ff3f0, EBP=0x0bc4e600, ESI=0x00000000, EDI=0xf43b1a00
EIP=0x6954e6d6, EFLAGS=0x00010286

Top of Stack: (sp=0x0b8ff3f0)
0x0b8ff3f0: 0084e070 071aa300 0b8ff43c 071aa300
0x0b8ff400: 00000001 0bc4e600 0bc4e680 008881a0
0x0b8ff410: 0b55cdf0 00000000 00000001 008881a0
0x0b8ff420: 00000000 00000000 69519860 00000001
0x0b8ff430: 008881a0 00000001 00000000 0b8ff480
0x0b8ff440: 00b8826f 0084e12c 0b8ff4a8 00000001
0x0b8ff450: 00000001 0b8ff49c 00000000 69519860
0x0b8ff460: 00000000 0b8ff464 071aa300 0b8ff4a8

Instructions: (pc=0x6954e6d6)
0x6954e6c6: 07 8b 04 0f 85 c0 7d 23 03 d7 8b 04 0a 8d 58 01
0x6954e6d6: 8a 10 83 c0 01 84 d2 75 f7 8b 6c 24 14 8b 74 24

Stack: [0x0b8c0000,0x0b900000), sp=0x0b8ff3f0, free space=252k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [nvoglnt.dll+0x4e6d6]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j net.java.games.jogl.impl.windows.WindowsGLImpl.dispatch_glShaderSourceARB(II[Ljava/lang/String;[IJ)V+0
j net.java.games.jogl.impl.windows.WindowsGLImpl.glShaderSourceARB(II[Ljava/lang/String;[I)V+38
j SlangProgram.init(Lnet/java/games/jogl/GL;)V+161
j ShaderApp.init(Lnet/java/games/jogl/GLDrawable;)V+91
j net.java.games.jogl.impl.GLDrawableHelper.init(Lnet/java/games/jogl/GLDrawable;)V+29
j net.java.games.jogl.GLCanvas$InitAction.run()V+11
j net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(Ljava/lang/Runnable;)Z+383
j net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.makeCurrent(Ljava/lang/Runnable;)Z+11
j net.java.games.jogl.impl.GLContext.invokeGL(Ljava/lang/Runnable;ZLjava/lang/Runnable;)V+258
j net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.invokeGL(Ljava/lang/Runnable;ZLjava/lang/Runnable;)V+24
j net.java.games.jogl.GLCanvas.maybeDoSingleThreadedWorkaround(Ljava/lang/Runnable;Ljava/lang/Runnable;Z)V+52
j net.java.games.jogl.GLCanvas.reshape(IIII)V+48
j java.awt.Component.setBounds(IIII)V+6
j java.awt.BorderLayout.layoutContainer(Ljava/awt/Container;)V+380
J java.awt.Container.validateTree()V
j java.awt.Container.validate()V+61
j java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+14
j java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j java.awt.EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z+200
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
0x008811c0 JavaThread “SyntheticImageGenerator” daemon [_thread_blocked, id=4052]
0x00881510 JavaThread “SyntheticImageGenerator” daemon [_thread_blocked, id=3980]
0x0086f220 JavaThread “Image Fetcher 0” daemon [_thread_blocked, id=1008]
0x0086faa0 JavaThread “Image Fetcher 3” daemon [_thread_blocked, id=2604]
=>0x0084e070 JavaThread “AWT-EventQueue-0” [_thread_in_native, id=1880]
0x0082f0f0 JavaThread “AWT-Windows” daemon [_thread_in_native, id=1816]
0x00824a80 JavaThread “AWT-Shutdown” [_thread_blocked, id=2160]
0x008460d0 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=3316]
0x00831e80 JavaThread “Low Memory Detector” daemon [_thread_blocked, id=2136]
0x0082f6b0 JavaThread “CompilerThread0” daemon [_thread_blocked, id=348]
0x0082e4f0 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=2500]
0x0082d820 JavaThread “Finalizer” daemon [_thread_blocked, id=1836]
0x0082c580 JavaThread “Reference Handler” daemon [_thread_blocked, id=980]
0x008237a0 JavaThread “main” [_thread_blocked, id=1204]

Other Threads:
0x0082b7e0 VMThread [id=3412]
0x00833370 WatcherThread [id=2504]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 576K, used 144K [0x02b80000, 0x02c20000, 0x03060000)
eden space 512K, 15% used [0x02b80000, 0x02b94148, 0x02c00000)
from space 64K, 100% used [0x02c00000, 0x02c10000, 0x02c10000)
to space 64K, 0% used [0x02c10000, 0x02c10000, 0x02c20000)
tenured generation total 7088K, used 4939K [0x03060000, 0x0374c000, 0x06b80000)
the space 7088K, 69% used [0x03060000, 0x03532ea0, 0x03533000, 0x0374c000)
compacting perm gen total 10752K, used 10667K [0x06b80000, 0x07600000, 0x0ab80000)
the space 10752K, 99% used [0x06b80000, 0x075ead68, 0x075eae00, 0x07600000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x0040c000 C:\Sun\AppServer\jdk\bin\javaw.exe
0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c8f4000 C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll
0x77d40000 - 0x77dd0000 C:\WINDOWS\system32\USER32.dll
0x77f10000 - 0x77f56000 C:\WINDOWS\system32\GDI32.dll
0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll
0x629c0000 - 0x629c9000 C:\WINDOWS\system32\LPK.DLL
0x74d90000 - 0x74dfb000 C:\WINDOWS\system32\USP10.dll
0x6d6b0000 - 0x6d835000 C:\Sun\AppServer\jdk\jre\bin\client\jvm.dll
0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll
0x6d2f0000 - 0x6d2f8000 C:\Sun\AppServer\jdk\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d680000 - 0x6d68c000 C:\Sun\AppServer\jdk\jre\bin\verify.dll
0x6d370000 - 0x6d38d000 C:\Sun\AppServer\jdk\jre\bin\java.dll
0x6d6a0000 - 0x6d6af000 C:\Sun\AppServer\jdk\jre\bin\zip.dll
0x6d070000 - 0x6d1d6000 C:\Sun\AppServer\jdk\jre\bin\awt.dll
0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV
0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.dll
0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll
0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll
0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll
0x73940000 - 0x73a10000 C:\WINDOWS\system32\D3DIM700.DLL
0x6d2b0000 - 0x6d2ed000 C:\Sun\AppServer\jdk\jre\bin\fontmanager.dll
0x10000000 - 0x1016d000 C:\WINDOWS\system32\nview.dll
0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll
0x7c9c0000 - 0x7d1d5000 C:\WINDOWS\system32\SHELL32.dll
0x77120000 - 0x771ac000 C:\WINDOWS\system32\OLEAUT32.dll
0x5d090000 - 0x5d127000 C:\WINDOWS\system32\COMCTL32.dll
0x77c00000 - 0x77c08000 C:\WINDOWS\system32\VERSION.dll
0x773d0000 - 0x774d2000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x77690000 - 0x776b1000 C:\WINDOWS\system32\NTMARTA.DLL
0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll
0x71bf0000 - 0x71c03000 C:\WINDOWS\system32\SAMLIB.dll
0x74720000 - 0x7476b000 C:\WINDOWS\system32\MSCTF.dll
0x6d3d0000 - 0x6d3d6000 C:\Sun\AppServer\jdk\jre\bin\jawt.dll
0x0b550000 - 0x0b5b5000 C:\Rutgers\cs428\jogl\jogl.dll
0x5ed00000 - 0x5edcc000 C:\WINDOWS\system32\OPENGL32.dll
0x68b20000 - 0x68b40000 C:\WINDOWS\system32\GLU32.dll
0x6d530000 - 0x6d543000 C:\Sun\AppServer\jdk\jre\bin\net.dll
0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll
0x71a50000 - 0x71a8f000 C:\WINDOWS\system32\mswsock.dll
0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll
0x58d40000 - 0x58d47000 C:\WINDOWS\System32\wship6.dll
0x6d550000 - 0x6d559000 C:\Sun\AppServer\jdk\jre\bin\nio.dll
0x69500000 - 0x69a3d000 C:\WINDOWS\system32\nvoglnt.dll

VM Arguments:
java_command: ShaderApp

Environment Variables:
JAVA_HOME=C:\Sun\AppServer\jdk
CLASSPATH=.;
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Sun\AppServer\bin;C:\Sun\AppServer\jdk\bin;C:\Sun\AppServer\jdk\lib;C:\Sun\AppServer\jdk\lib\jogl.jar;
LD_LIBRARY_PATH=C:\Sun\AppServer\jdk\lib;
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 13 Stepping 8, GenuineIntel

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

OS: Windows XP Build 2600 Service Pack 2

CPU:total 1 family 6, cmov, cx8, fxsr, mmx, sse, sse2

Memory: 4k page, physical 1572080k(780276k free), swap 2992644k(2361704k free)

vm_info: Java HotSpot™ Client VM (1.5.0_02-b09) for windows-x86, built on Mar 4 2005 01:53:53 by “java_re” with MS VC++ 6.0


The referenced function has a line:
// Read shaders.
gl.glShaderSourceARB(vShader, 1, new String[] {vSource}, (int[])null);
gl.glShaderSourceARB(fShader, 1, new String[] {fSource}, (int[])null);

This is the first time in the program that glShaderSourceARB is called, so I believe this is the problem. Please help!

-Adib

Have you looked at for example Pepijn’s JOGL port of one of the Nehe GLSL demos (http://pepijn.fab4.be/nehe/)? Have you tried to trim down your shader program to narrow down the problem?