[9] RFR (S): 8098573: Compiler accesses to shared archive fail if archive is remapped

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jul 11 16:57:52 UTC 2016


Looks good to me.

CCing to runtime for them to look.

Thanks,
Vladimir

On 7/11/16 8:26 AM, Zoltán Majó wrote:
> 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