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