[9] RFR (S): 8098573: Compiler accesses to shared archive fail if archive is remapped
Zoltán Majó
zoltan.majo at oracle.com
Mon Jul 11 15:26:58 UTC 2016
Hi,
please review the fix for JDK-8098573.
https://bugs.openjdk.java.net/browse/JDK-8098573
Problem: The VM crashes with a SIGSEGV due to the compiler accessing
symbol information in a (AppCDS) shared archive. I was not able to
reproduce the crash, but there is evidence to suggest that the crash is
caused by the *compiler accessing the shared archive when not in VM
state*: While the compiler is reading form the shared archive, an
ongoing VM_RedefineClasses operation remaps the shared archive (with
different permissions but at the same address), which is the only likely
cause of the SEGV_MAPERR in the compiler. For more details please see [1].
Solution: Change the destructor ciEnv::~ciEnv() to access symbols in VM
state (similar to other places in the compiler accessing symbol
information).
Webrev:
http://cr.openjdk.java.net/~zmajo/8098573/webrev.00/
Testing:
- JPRT;
- RBT testing w/ all hotspot tests is in progress.
Thank you!
Best regards,
Zoltan
[1]
https://bugs.openjdk.java.net/browse/JDK-8098573?focusedCommentId=13971831&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13971831
More information about the hotspot-compiler-dev
mailing list