RFR (XS) JDK-8026041: JVM crashes with assert "assert(is_updated()) failed: must not be clear", with -XX:+PrintGCApplicationConcurrentTime in -Xcomp mode

David Holmes david.holmes at oracle.com
Thu Oct 10 19:36:28 PDT 2013


Looks good!

The assumption that the _app_timer had been started inside 
record_safepoint_begin was a timebomb waiting to go off. There are a 
number of ways a safepoint might occur prior to VM initialization 
completing.

Thanks,
David

On 11/10/2013 9:12 AM, Lois Foltan wrote:
>
> Please review the following fix:
>
> Webrev:
> http://cr.openjdk.java.net/~hseigel/bug_jdk8026041/
>
> Bug: JVM crashes with assert "assert(is_updated()) failed: must not be
> clear"
>           with -XX:+PrintGCApplicationConcurrentTime in -Xcomp mode
> https://bugs.openjdk.java.net/browse/JDK-8026041
>
> Summary of fix:
>      Prior to printing the time interval for
> -XX:+PrintGCApplicationConcurrentTime in
>      RuntimeService::record_safepoint_begin(), check first to verify
> that the VM initialization
>      is complete.  The recent addition of pre-initialization of Method*
> classes during VM startup,
> JDK-8022595 <https://bugs.openjdk.java.net/browse/JDK-8022595>, caused
> enough code to be generated that GuaranteedSafepointInterval timer
>      in VMThread::loop() timed out resulting in an early safepoint.
> Thank you to Staffan Larsen
>      and David Holmes for troubleshooting this for runtime.
>
> Tests:
>      JTREG, vm.quick.testlist with "-server -Xcomp
> -XX:+PrintGCApplicationConcurrentTime" specified (in progress)
>
> Thank you, Lois
>


More information about the hotspot-runtime-dev mailing list