This is actually a result of a failed fix for the JDK-8028749.
As described in that bug, the reason for the crash is that with gflags HeapWalk() call fails with ERROR_INVALID_FUNCTION.
But for some reason the actual fix was to check the result of the HeapLock() call.
On my system (Win7 x64) with the page heap verification enabled by "gflags.exe -I java.exe +hpa" java -version crashes with the error message
# Internal Error (C:\jdk9\hotspot\src\os\windows\vm\os_windows.cpp:5297), pid=7904, tid=5188
# fatal error: heap walk aborted with error 1
I've verified that this is indeed because the first HeapWalk() call return FALSE and GetLastError() returns 1.
Also I verified that the fix suggested in that bug fixes the issue.
As described in that bug, the reason for the crash is that with gflags HeapWalk() call fails with ERROR_INVALID_FUNCTION.
But for some reason the actual fix was to check the result of the HeapLock() call.
On my system (Win7 x64) with the page heap verification enabled by "gflags.exe -I java.exe +hpa" java -version crashes with the error message
# Internal Error (C:\jdk9\hotspot\src\os\windows\vm\os_windows.cpp:5297), pid=7904, tid=5188
# fatal error: heap walk aborted with error 1
I've verified that this is indeed because the first HeapWalk() call return FALSE and GetLastError() returns 1.
Also I verified that the fix suggested in that bug fixes the issue.
- relates to
-
JDK-8028749 java -version crashes with 'fatal error: heap walk aborted with error 1'
-
- Closed
-