JDK-6741004 : UseLargePages + UseCompressedOops breaks implicit null checking guard page
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_vista
  • CPU: x86
  • Submitted: 2008-08-25
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u14Fixed 7Fixed hs14Fixed
Description
We are seeing JVM crash with JDK7 b32 64-bit JVM while running JBB. JVM doesn���t crash if UseCompressedOops is disabled.

SUT: 4 chips/8 CPUs, Barcelona @2.29 GHz, 8G DDR2667, Windows 2008 Server, 64-bit Sun JDK 7 b32

Command-line: 2 JVM affinitized run of SPECJBB using following flags:

-server -Xmx3000m -Xms3000m -Xmn2000m -Xss96k -XX:+UseLargePages -XX:+UseBiasedLocking -XX:+UseParallelOldGC -XX:+AggressiveOpts -XX:ParallelGCThreads=4 -XX:+UseCompressedOops

Error message:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (virtualspace.cpp:370), pid=2252, tid=2308
#  Error: cannot protect protection page
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.0-b01 mixed mode windows-amd64
compressed oops)

Attached is the error report generated by HotSpot. Please let me know if you need more information on this.
-Shrinivas

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (virtualspace.cpp:370), pid=2252, tid=2308
#  Error: cannot protect protection page
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.0-b01 mixed mode windows-amd64 compressed oops)
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

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

Current thread (0x00000000001bb800):  JavaThread "Unknown thread" [_thread_in_vm, id=2308, stack(0x0000000000190000,0x00000000001b0000)]

Stack: [0x0000000000190000,0x00000000001b0000]

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

Java Threads: ( => current thread )

Other Threads:

=>0x00000000001bb800 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=2308, stack(0x0000000000190000,0x00000000001b0000)]

VM state:not at safepoint (not fully initialized)

VM Mutex/Monitor currently owned by a thread: None

Dynamic libraries:
0x0000000000400000 - 0x000000000042e000 	C:\Shrinivas\jdk1.7.0_b32\bin\java.exe
0x0000000077780000 - 0x0000000077900000 	C:\Windows\system32\ntdll.dll
0x0000000077650000 - 0x000000007777b000 	C:\Windows\system32\kernel32.dll
0x000007feff260000 - 0x000007feff368000 	C:\Windows\system32\ADVAPI32.dll
0x000007feff4b0000 - 0x000007feff5ef000 	C:\Windows\system32\RPCRT4.dll
0x0000000077580000 - 0x000000007764d000 	C:\Windows\system32\USER32.dll
0x000007feff440000 - 0x000007feff4a3000 	C:\Windows\system32\GDI32.dll
0x000007fefc590000 - 0x000007fefc789000 	C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_152e7382f3bd50c6\COMCTL32.dll
0x000007fefe190000 - 0x000007fefe22c000 	C:\Windows\system32\msvcrt.dll
0x000007feff1e0000 - 0x000007feff253000 	C:\Windows\system32\SHLWAPI.dll
0x000007feff410000 - 0x000007feff43d000 	C:\Windows\system32\IMM32.DLL
0x000007feff650000 - 0x000007feff751000 	C:\Windows\system32\MSCTF.dll
0x000007fefe130000 - 0x000007fefe13d000 	C:\Windows\system32\LPK.DLL
0x000007feff950000 - 0x000007feff9ea000 	C:\Windows\system32\USP10.dll
0x0000000008000000 - 0x00000000085ef000 	C:\Shrinivas\jdk1.7.0_b32\jre\bin\server\jvm.dll
0x000007fefbd20000 - 0x000007fefbd59000 	C:\Windows\system32\WINMM.dll
0x000007feff000000 - 0x000007feff1d8000 	C:\Windows\system32\ole32.dll
0x000007fefe050000 - 0x000007fefe123000 	C:\Windows\system32\OLEAUT32.dll
0x000007fefbc50000 - 0x000007fefbc9f000 	C:\Windows\system32\OLEACC.dll
0x0000000010000000 - 0x000000001000a000 	C:\Shrinivas\jdk1.7.0_b32\jre\bin\hpi.dll
0x0000000077900000 - 0x0000000077909000 	C:\Windows\system32\PSAPI.DLL
0x00000000001f0000 - 0x00000000001fe000 	C:\Shrinivas\jdk1.7.0_b32\jre\bin\verify.dll
0x0000000000200000 - 0x0000000000227000 	C:\Shrinivas\jdk1.7.0_b32\jre\bin\java.dll
0x0000000000230000 - 0x0000000000242000 	C:\Shrinivas\jdk1.7.0_b32\jre\bin\zip.dll

VM Arguments:
jvm_args: -Xmx3000m -Xms3000m -Xmn2000m -Xss96k -XX:+UseLargePages -XX:+UseBiasedLocking -XX:+UseParallelOldGC -XX:+AggressiveOpts -XX:ParallelGCThreads=4 -XX:+UseCompressedOops 
java_command: spec.jbb.JBBmain -propfile SPECjbb_multi_shrinivas.props -id 2
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:\Shrinivas\jdk1.7.0_b30\bin
CLASSPATH=.\jbb.jar;.\check.jar
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\AMD\CodeAnalyst\bin;C:\Shrinivas\jdk1.7.0_b30\bin
USERNAME=Administrator
OS=Windows_NT
PROCESSOR_IDENTIFIER=AMD64 Family 16 Model 2 Stepping 3, AuthenticAMD



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

OS: Windows Vista Build 6001 Service Pack 1

CPU:total 8 (4 cores per cpu, 1 threads per core) family 16 model 2 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, mmxext, 3dnow, 3dnowext, sse4a

Memory: 4k page, physical 8386184k(1774568k free), swap 20712108k(13619188k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (14.0-b01) for windows-amd64 JRE (1.7.0-ea-b32), built on Aug  4 2008 01:53:01 by "java_re" with MS VC++ 8.0

time: Mon Aug 11 14:24:52 2008
elapsed time: 0 seconds

Comments
EVALUATION Summary: Turn off c2 implicit null checking on windows and large pages specified Reviewed-by: jrose, xlu, never
04-09-2008

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/93befa083681
03-09-2008

EVALUATION Protecting implicit null guard page with UseLargePages on windows uses too much memory so we should disable implicit null checking in this case.
25-08-2008