RFR 6415680 handle windows EXCEPTION_IN_PAGE_ERROR just as SIGBUS is handled
Kirk Shoop (MS OPEN TECH)
Kirk.Shoop at microsoft.com
Tue Jun 23 22:14:21 UTC 2015
Hi,
webrev
http://cr.openjdk.java.net/~kshoop/6415680/
bug:
https://bugs.openjdk.java.net/browse/JDK-6415680
The changes for unix to handle SIGBUS need matching work for Windows EXCEPTION_IN_PAGE_ERROR
This change uses handler_for_unsafe_access for in-page errors while set_doing_safe_access is true and has Unsafe_CopyMemory call set_doing_unsafe_access(true)
The bug refers to DRM or encrypted file systems. However, this also occurs with interrupted network connections.
To reproduce, I used http://cr.openjdk.java.net/~kshoop/6415680/FileCopyUtil.java
I would start the app with a path to a file on an SMB server and then when prompted to press enter, disconnect the server from the network and then hit enter to cause the app to attempt to page in the mapped pages.
With this change the following output is expected:
++++++++++++
OpenJDK 64-Bit Server VM (build 1.9.0-internal-_2015_04_03_10_46-b00, mixed mode)
72535 micro seconds to InitializeJVM
Main class is 'FileCopyUtil'
App's argc is 1
argv[ 0] = '\kshoop-testpublicalloctrace.etl'
36985 micro seconds to load main class
----_JAVA_LAUNCHER_DEBUG----
F\kshoop-testpublicalloctrace.etl
file map created.
Press ENTER to proceed.
Exception in thread "main" java.lang.InternalError: a fault occurred in an unsafe memory access operation
++++++++++++
Kirk
Developer
Microsoft Open Technologies, Inc.
More information about the core-libs-dev
mailing list