8026041: JVM crashes with assert "assert(is_updated()) failed: must not be clear" with -XX:+PrintGCApplicationConcurrentTime in -Xcomp mode
Summary: Prior to printing the time interval in RuntimeService::record_safepoint_begin(), check first that VM initialization is complete.
Reviewed-by: coleenp, dholmes, sla, ctornqvi
Contributed-by: lois.foltan@oracle.com
--- a/hotspot/src/share/vm/services/runtimeService.cpp Fri Oct 11 14:57:27 2013 +0000
+++ b/hotspot/src/share/vm/services/runtimeService.cpp Fri Oct 11 15:33:08 2013 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -119,7 +119,7 @@
#endif /* USDT2 */
// Print the time interval in which the app was executing
- if (PrintGCApplicationConcurrentTime) {
+ if (PrintGCApplicationConcurrentTime && _app_timer.is_updated()) {
gclog_or_tty->date_stamp(PrintGCDateStamps);
gclog_or_tty->stamp(PrintGCTimeStamps);
gclog_or_tty->print_cr("Application time: %3.7f seconds",