CTW uses blocking compilation and to turn in on we simply set BackgroundCompilation flag's value to false in ClassLoader::compile_the_world.
JDK-8150646 added BackgroundCompilation option that uses BackgroundCompilation flag's value as default, so changing its value after compilers directives were parsed won't change method options.
As a result background compilation is used during CTW and that leads to a crash with following assertion:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/filipp/Development/openjdk/hs-comp.baseline/hotspot/src/share/vm/compiler/compileTask.cpp:50), pid=7103, tid=7104
# assert(WhiteBoxAPI || UseJVMCICompiler || _num_allocated_tasks < 10000) failed: Leaking compilation tasks?
#
# JRE version: OpenJDK Runtime Environment (9.0) (fastdebug build 9-internal+0-2016-03-16-134204.filipp.hs-comp.baseline)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 9-internal+0-2016-03-16-134204.filipp.hs-comp.baseline, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /home/filipp/Development/openjdk/hs-comp/core.7103)
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Note that ReplayCompiles requires background compilation to be turned off, so most probably it's broken too.
As a result background compilation is used during CTW and that leads to a crash with following assertion:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/filipp/Development/openjdk/hs-comp.baseline/hotspot/src/share/vm/compiler/compileTask.cpp:50), pid=7103, tid=7104
# assert(WhiteBoxAPI || UseJVMCICompiler || _num_allocated_tasks < 10000) failed: Leaking compilation tasks?
#
# JRE version: OpenJDK Runtime Environment (9.0) (fastdebug build 9-internal+0-2016-03-16-134204.filipp.hs-comp.baseline)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 9-internal+0-2016-03-16-134204.filipp.hs-comp.baseline, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /home/filipp/Development/openjdk/hs-comp/core.7103)
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Note that ReplayCompiles requires background compilation to be turned off, so most probably it's broken too.
- relates to
-
JDK-8150646 Add support for blocking compiles though whitebox API
-
- Resolved
-