Bug 602

Summary: Dual GPU Switching Not Working / Crash after an NVIDIA driver update
Product: [JogAmp] Jogl Reporter: Martin <martin.pernollet>
Component: awtAssignee: Sven Gothel <sgothel>
Status: RESOLVED INVALID    
Severity: critical    
Priority: ---    
Version: 2   
Hardware: pc_x86_64   
OS: windows   
Type: --- SCM Refs:
Workaround: ---

Description Martin 2012-07-02 17:35:58 CEST
A recent NVIDIA driver update makes the JVM crash, as soon as I use a GLCanvas (please find the attached JVM dump). 

Some things I tried: 
-GLJCanvas is working great. 
-Changing settings from NVidia control panel from "NVIDIA high performance" to "Integrated graphics" (i.e. no NVIDIA) let me have the app working without crash. 
-The "swap buffer" in stack trace hereafter led me to try running this canvas without buffer swapping and without Animator but it did not changed anything. 

I am running win7 64 bits. 
I tried JOGL2 RC2 and then RC9.
Comment 1 Martin 2012-07-02 17:39:06 CEST
NVIDIA Driver version: 280.26

JVM DUMP:
# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000, pid=32604, tid=29624 
# 
# JRE version: 6.0_29-b11 
# Java VM: Java HotSpot(TM) Client VM (20.4-b02 mixed mode, sharing windows-x86 ) 
# Problematic frame: 
# C  0x00000000 
# 
# If you would like to submit a bug report, please visit: 
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code. 
# See problematic frame for where to report the bug. 
# 

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

Current thread (0x05afec00):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=29624, stack(0x07c30000,0x07c80000)] 

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000 

Registers: 
EAX=0x07a6c990, EBX=0x07a668f8, ECX=0x00000000, EDX=0x07b14088 
ESP=0x07c7cfdc, EBP=0x07c7d0ec, ESI=0x08f00020, EDI=0x07c7d034 
EIP=0x00000000, EFLAGS=0x00010206 

Top of Stack: (sp=0x07c7cfdc) 
0x07c7cfdc:   065e8278 08f00020 07a6c990 07b14088 
0x07c7cfec:   00000000 00000000 00000000 00000000 
0x07c7cffc:   00000000 00000000 00000248 00000232 
0x07c7d00c:   00000000 00000000 00000001 00000002 
0x07c7d01c:   00000003 00000004 00000005 75cce714 
0x07c7d02c:   065e26c7 00000004 00000000 00000000 
0x07c7d03c:   079bbf4c 08f00020 00000000 00000001 
0x07c7d04c:   00000002 00000003 00000004 00000005 

Instructions: (pc=0x00000000) 
0xffffffe0:   


Register to memory mapping: 

EAX=0x07a6c990 is an unknown value 
EBX=0x07a668f8 is an unknown value 
ECX=0x00000000 is an unknown value 
EDX=0x07b14088 is an unknown value 
ESP=0x07c7cfdc is pointing into the stack for thread: 0x05afec00 
EBP=0x07c7d0ec is pointing into the stack for thread: 0x05afec00 
ESI=0x08f00020 is an unknown value 
EDI=0x07c7d034 is pointing into the stack for thread: 0x05afec00 


Stack: [0x07c30000,0x07c80000],  sp=0x07c7cfdc,  free space=307k 
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) 
j  jogamp.nativewindow.windows.GDI.SwapBuffers(J)Z+0 
j  jogamp.opengl.windows.wgl.WindowsWGLDrawable.swapBuffersImpl()V+16 
j  jogamp.opengl.GLDrawableImpl.swapBuffers()V+60 
j  jogamp.opengl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+272 
j  javax.media.opengl.awt.GLCanvas$DisplayOnEventDispatchThreadAction.run()V+35 
j  java.awt.event.InvocationEvent.dispatch()V+11 
j  java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21 
j  java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3 
j  java.awt.EventQueue$1.run()Ljava/lang/Void;+12 
j  java.awt.EventQueue$1.run()Ljava/lang/Object;+1 
v  ~StubRoutines::call_stub 
j  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0 
j  java.security.AccessControlContext$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28 
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 
j  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204 
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30 
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 
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 ) 
  0x028bac00 JavaThread "DestroyJavaVM" [_thread_blocked, id=31868, stack(0x00430000,0x00480000)] 
=>0x05afec00 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=29624, stack(0x07c30000,0x07c80000)] 
  0x05afe000 JavaThread "AWT-Shutdown" [_thread_blocked, id=31932, stack(0x05540000,0x05590000)] 
  0x04df6400 JavaThread "main-AWTAnimator-1" [_thread_blocked, id=25392, stack(0x05290000,0x052e0000)] 
  0x04e0f000 JavaThread "main-SharedResourceRunner" daemon [_thread_blocked, id=30912, stack(0x05e30000,0x05e80000)] 
  0x04df6800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=26124, stack(0x053c0000,0x05410000)] 
  0x04df5c00 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=32408, stack(0x051e0000,0x05230000)] 
  0x0274e800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=20548, stack(0x04b40000,0x04b90000)] 
  0x02749400 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=30028, stack(0x04ab0000,0x04b00000)] 
  0x02748400 JavaThread "Attach Listener" daemon [_thread_blocked, id=32528, stack(0x04a20000,0x04a70000)] 
  0x02745400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=31616, stack(0x04990000,0x049e0000)] 
  0x0273bc00 JavaThread "Finalizer" daemon [_thread_blocked, id=25648, stack(0x04900000,0x04950000)] 
  0x0273a800 JavaThread "Reference Handler" daemon [_thread_blocked, id=32440, stack(0x02850000,0x028a0000)] 

Other Threads: 
  0x026fe400 VMThread [stack: 0x027c0000,0x02810000] [id=29976] 
  0x0275fc00 WatcherThread [stack: 0x04bd0000,0x04c20000] [id=23388] 

VM state:not at safepoint (normal execution) 

VM Mutex/Monitor currently owned by a thread: None 

Heap 
 def new generation   total 4928K, used 3883K [0x245d0000, 0x24b20000, 0x29b20000) 
  eden space 4416K,  76% used [0x245d0000, 0x2491af48, 0x24a20000) 
  from space 512K, 100% used [0x24aa0000, 0x24b20000, 0x24b20000) 
  to   space 512K,   0% used [0x24a20000, 0x24a20000, 0x24aa0000) 
 tenured generation   total 10944K, used 3263K [0x29b20000, 0x2a5d0000, 0x345d0000) 
   the space 10944K,  29% used [0x29b20000, 0x29e4fcb0, 0x29e4fe00, 0x2a5d0000) 
 compacting perm gen  total 12288K, used 5865K [0x345d0000, 0x351d0000, 0x385d0000) 
   the space 12288K,  47% used [0x345d0000, 0x34b8a540, 0x34b8a600, 0x351d0000) 
    ro space 10240K,  51% used [0x385d0000, 0x38afd0b8, 0x38afd200, 0x38fd0000) 
    rw space 12288K,  54% used [0x38fd0000, 0x39669570, 0x39669600, 0x39bd0000) 

Code Cache  [0x028c0000, 0x029e0000, 0x048c0000) 
 total_blobs=791 nmethods=430 adapters=297 free_code_cache=32395072 largest_free_block=0 

Dynamic libraries: 
0x00400000 - 0x00424000 C:\Program Files (x86)\Java\jre6\bin\javaw.exe 
0x77300000 - 0x77480000 C:\Windows\SysWOW64\ntdll.dll 
0x768d0000 - 0x769d0000 C:\Windows\syswow64\kernel32.dll 
0x75d40000 - 0x75d86000 C:\Windows\syswow64\KERNELBASE.dll 
0x76150000 - 0x761f0000 C:\Windows\syswow64\ADVAPI32.dll 
0x76370000 - 0x7641c000 C:\Windows\syswow64\msvcrt.dll 
0x74a50000 - 0x74a69000 C:\Windows\SysWOW64\sechost.dll 
0x75d90000 - 0x75e80000 C:\Windows\syswow64\RPCRT4.dll 
0x749f0000 - 0x74a50000 C:\Windows\syswow64\SspiCli.dll 
0x749e0000 - 0x749ec000 C:\Windows\syswow64\CRYPTBASE.dll 
0x75920000 - 0x75a20000 C:\Windows\syswow64\USER32.dll 
0x75ca0000 - 0x75d30000 C:\Windows\syswow64\GDI32.dll 
0x76130000 - 0x7613a000 C:\Windows\syswow64\LPK.dll 
0x74a70000 - 0x74b0d000 C:\Windows\syswow64\USP10.dll 
0x76280000 - 0x762e0000 C:\Windows\system32\IMM32.DLL 
0x76640000 - 0x7670c000 C:\Windows\syswow64\MSCTF.dll 
0x748a0000 - 0x748d6000 C:\Windows\SysWOW64\nvinit.dll 
0x0f000000 - 0x0f006000 C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\_etoured.dll 
0x72fb0000 - 0x72fed000 C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\nvd3d9wrap.dll 
0x764a0000 - 0x7663d000 C:\Windows\syswow64\SETUPAPI.dll 
0x74b50000 - 0x74b77000 C:\Windows\syswow64\CFGMGR32.dll 
0x761f0000 - 0x7627f000 C:\Windows\syswow64\OLEAUT32.dll 
0x75a20000 - 0x75b7c000 C:\Windows\syswow64\ole32.dll 
0x769d0000 - 0x769e2000 C:\Windows\syswow64\DEVOBJ.dll 
0x72f70000 - 0x72fab000 C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\nvdxgiwrap.dll 
0x7c340000 - 0x7c396000 C:\Program Files (x86)\Java\jre6\bin\msvcr71.dll 
0x6d7f0000 - 0x6da9f000 C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll 
0x73ea0000 - 0x73ed2000 C:\Windows\system32\WINMM.dll 
0x73630000 - 0x7367b000 C:\Windows\system32\apphelp.dll 
0x6d7a0000 - 0x6d7ac000 C:\Program Files (x86)\Java\jre6\bin\verify.dll 
0x6d320000 - 0x6d33f000 C:\Program Files (x86)\Java\jre6\bin\java.dll 
0x6d7e0000 - 0x6d7ef000 C:\Program Files (x86)\Java\jre6\bin\zip.dll 
0x6d000000 - 0x6d14c000 C:\Program Files (x86)\Java\jre6\bin\awt.dll 
0x73e40000 - 0x73e91000 C:\Windows\system32\WINSPOOL.DRV 
0x728e0000 - 0x72a7e000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_420fe3fa2b8113bd\COMCTL32.dll 
0x76310000 - 0x76367000 C:\Windows\syswow64\SHLWAPI.dll 
0x74570000 - 0x74586000 C:\Windows\system32\CRYPTSP.dll 
0x74530000 - 0x7456b000 C:\Windows\system32\rsaenh.dll 
0x748f0000 - 0x74907000 C:\Windows\system32\USERENV.dll 
0x748e0000 - 0x748eb000 C:\Windows\system32\profapi.dll 
0x6d600000 - 0x6d613000 C:\Program Files (x86)\Java\jre6\bin\net.dll 
0x74b10000 - 0x74b45000 C:\Windows\syswow64\WS2_32.dll 
0x75d30000 - 0x75d36000 C:\Windows\syswow64\NSI.dll 
0x72eb0000 - 0x72eec000 C:\Windows\system32\mswsock.dll 
0x714e0000 - 0x714e6000 C:\Windows\System32\wship6.dll 
0x723f0000 - 0x72400000 C:\Windows\system32\NLAapi.dll 
0x73240000 - 0x73284000 C:\Windows\system32\DNSAPI.dll 
0x723e0000 - 0x723e8000 C:\Windows\System32\winrnr.dll 
0x723d0000 - 0x723e0000 C:\Windows\system32\napinsp.dll 
0x723b0000 - 0x723c2000 C:\Windows\system32\pnrpnsp.dll 
0x72ea0000 - 0x72ea5000 C:\Windows\System32\wshtcpip.dll 
0x74700000 - 0x7471c000 C:\Windows\system32\IPHLPAPI.DLL 
0x746f0000 - 0x746f7000 C:\Windows\system32\WINNSI.DLL 
0x72e90000 - 0x72e96000 C:\Windows\system32\rasadhlp.dll 
0x6a6b0000 - 0x6a6e8000 C:\Windows\System32\fwpuclnt.dll 
0x6d620000 - 0x6d629000 C:\Program Files (x86)\Java\jre6\bin\nio.dll 
0x637c0000 - 0x637ca000 C:\Users\Martin\AppData\Local\Temp\jogamp.tmp.cache_000000\jln8519460233921940780\jln880281347885369434\gluegen-rt.dll 
0x73da0000 - 0x73db3000 C:\Windows\system32\DWMAPI.DLL 
0x73dc0000 - 0x73e40000 C:\Windows\system32\uxtheme.dll 
0x6d350000 - 0x6d356000 C:\Program Files (x86)\Java\jre6\bin\jawt.dll 
0x6a440000 - 0x6a44a000 C:\Users\Martin\AppData\Local\Temp\jogamp.tmp.cache_000000\jln8519460233921940780\jln880281347885369434\nativewindow_awt.dll 
0x6d230000 - 0x6d27f000 C:\Program Files (x86)\Java\jre6\bin\fontmanager.dll 
0x74cd0000 - 0x75919000 C:\Windows\system32\shell32.dll 
0x6c100000 - 0x6c110000 C:\Users\Martin\AppData\Local\Temp\jogamp.tmp.cache_000000\jln8519460233921940780\jln880281347885369434\nativewindow_win32.dll 
0x65260000 - 0x65328000 C:\Windows\system32\OpenGL32.dll 
0x663d0000 - 0x663f2000 C:\Windows\system32\GLU32.dll 
0x636b0000 - 0x63797000 C:\Windows\system32\DDRAW.dll 
0x71fa0000 - 0x71fa6000 C:\Windows\system32\DCIMAN32.dll 
0x64500000 - 0x64573000 C:\Users\Martin\AppData\Local\Temp\jogamp.tmp.cache_000000\jln8519460233921940780\jln880281347885369434\jogl_desktop.dll 
0x74b80000 - 0x74bad000 C:\Windows\syswow64\WINTRUST.dll 
0x75f10000 - 0x7602e000 C:\Windows\syswow64\CRYPT32.dll 
0x76140000 - 0x7614c000 C:\Windows\syswow64\MSASN1.dll 
0x05e80000 - 0x06e76000 C:\Windows\system32\nvoglv32.DLL 
0x10000000 - 0x10447000 C:\Windows\system32\igd10umd32.dll 
0x772d0000 - 0x772d5000 C:\Windows\system32\PSAPI.DLL 

VM Arguments: 
jvm_args: -Dfile.encoding=Cp1252 
java_command: org.jzy3d.demos.surface.WireSurfaceDemo 
Launcher Type: SUN_STANDARD 

Environment Variables: 
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_21\ 
PATH=C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Python26\Lib\site-packages\PyQt4\bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_21\bin;C:\Program Files (x86)\apache-maven-2.2.1\\bin;C:\Program Files (x86)\Adobe\Adobe Flash Builder 4 Plug-in\player\win\;C:\Program Files (x86)\Bazaar;C:\Program Files (x86)\Lua\5.1;C:\Program Files (x86)\Lua\5.1\clibs;C:\Program Files (x86)\apache-ant-1.8.1\bin;C:\Program Files (x86)\Common Files\Teleca Shared;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseHg\;C:\Program Files (x86)\NSIS\;C:\Program Files (x86)\OpenVPN\bin;C:\Program Files (x86)\Eclipse 3.7; 
USERNAME=Martin 
OS=Windows_NT 
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 37 Stepping 2, GenuineIntel 



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

OS: Windows 7 , 64 bit Build 7600 

CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 37 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht 

Memory: 4k page, physical 3977704k(1151736k free), swap 7953508k(3091424k free) 

vm_info: Java HotSpot(TM) Client VM (20.4-b02) for windows-x86 JRE (1.6.0_29-b11), built on Oct  3 2011 01:01:08 by "java_re" with MS VC++ 7.1 (VS2003) 

time: Mon Jul 02 09:32:49 2012 
elapsed time: 1 seconds
Comment 2 Martin 2012-08-28 13:47:39 CEST
I noticed that NVIDIA driver update (280.26 -> 301.42) does not imply this bug anymore, so I think this bug can be closed.
Comment 3 Sven Gothel 2012-09-16 15:55:33 CEST
Closed as recommended in comment 2. Marked invalid, since it's an NV bug.