Details
-
Bug
-
Resolution: Fixed
-
P4
-
11, 13, 14
-
b16
-
generic
-
generic
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8231759 | 13.0.2 | Arno Zeller | P4 | Resolved | Fixed | b02 |
JDK-8231817 | 11.0.6-oracle | Arno Zeller | P4 | Resolved | Fixed | b01 |
JDK-8231534 | 11.0.6 | Arno Zeller | P4 | Resolved | Fixed | b01 |
Description
The following test is failing the JDK14 CI:
compiler/linkage/TestLinkageErrorInGenerateOopMap.java
Here's a snippet of the log file:
#section:driver
----------messages:(9/386)----------
command: driver compiler.linkage.TestLinkageErrorInGenerateOopMap
reason: User specified action: run driver compiler.linkage.TestLinkageErrorInGenerateOopMap
Mode: agentvm
Agent id: 11
Additional exports to unnamed modules from @modules: java.base/jdk.internal.misc
Timeout refired 1200 times
Timeout information:
--- Timeout information end.
elapsed time (seconds): 1249.847
----------configuration:(14/1295)*----------
which doesn't help a whole lot.
Here's some snippets from the hs_err_pid file:
# Internal Error (t:/workspace/open/src/hotspot/share/oops/generateOopMap.cpp:2165), pid=44960, tid=19208
# fatal error: Illegal class file encountered. Try running with -Xverify:all in method test
--------------- S U M M A R Y ------------
Command Line: -XX:+UnlockDiagnosticVMOptions -XX:-BytecodeVerificationRemote -XX:-BytecodeVerificationLocal -XX:-TieredCompilation -XX:CompileCommand=dontinline,compiler/linkage/OSRWithBadOperandStack.m* compiler.linkage.TestLinkageErrorInGenerateOopMap run
Host: inst-vhnj7-Win2, AMD EPYC 7551 32-Core Processor , 16 cores, 63G, Windows Server 2012 R2 , 64 bit Build 9600 (6.3.9600.19358)
Time: Fri Aug 23 20:28:03 2019 /GM elapsed time: 0 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x0000008b7b645800): JavaThread "C2 CompilerThread0" daemon [_thread_in_vm, id=19208, stack(0x0000008b7c760000,0x0000008b7c860000)]
Current CompileTask:
C2: 354 4 % compiler.linkage.OSRWithBadOperandStack::test @ 2 (18 bytes)
Stack: [0x0000008b7c760000,0x0000008b7c860000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0xad18b1] os::platform_print_native_stack+0xf1 (os_windows_x86.cpp:369)
V [jvm.dll+0xcd38bb] VMError::report+0xf0b (vmerror.cpp:716)
V [jvm.dll+0xcd516e] VMError::report_and_die+0x8ae (vmerror.cpp:1524)
V [jvm.dll+0xcd5864] VMError::report_and_die+0x64 (vmerror.cpp:1308)
V [jvm.dll+0x509f60] report_fatal+0x80 (debug.cpp:286)
V [jvm.dll+0x65efad] GenerateOopMap::report_error+0x16d (generateoopmap.cpp:2172)
V [jvm.dll+0x6599c4] GenerateOopMap::do_method+0x214 (generateoopmap.cpp:1981)
V [jvm.dll+0x65bea4] GenerateOopMap::interp1+0x1344 (generateoopmap.cpp:1636)
V [jvm.dll+0x65c63e] GenerateOopMap::interp_bb+0x15e (generateoopmap.cpp:1141)
V [jvm.dll+0x6580dc] GenerateOopMap::compute_map+0x47c (generateoopmap.cpp:2133)
V [jvm.dll+0xab9938] OopMapCacheEntry::fill+0x188 (oopmapcache.cpp:335)
V [jvm.dll+0xab96e9] OopMapCache::compute_one_oop_map+0x59 (oopmapcache.cpp:600)
V [jvm.dll+0x40aca1] ciMethod::live_local_oops_at_bci+0x101 (cimethod.cpp:434)
V [jvm.dll+0xaf697b] Parse::load_interpreter_state+0x8db (parse1.cpp:265)
V [jvm.dll+0xaef2b7] Parse::Parse+0x937 (parse1.cpp:574)
V [jvm.dll+0x3bfd25] ParseGenerator::generate+0xa5 (callgenerator.cpp:101)
V [jvm.dll+0x495371] Compile::Compile+0xc71 (compile.cpp:810)
V [jvm.dll+0x3bbe7b] C2Compiler::compile_method+0x11b (c2compiler.cpp:113)
V [jvm.dll+0x4ae030] CompileBroker::invoke_compiler_on_method+0x7a0 (compilebroker.cpp:2112)
V [jvm.dll+0x4ac0e2] CompileBroker::compiler_thread_loop+0x382 (compilebroker.cpp:1795)
V [jvm.dll+0xc7b0be] JavaThread::run+0x27e (thread.cpp:1902)
V [jvm.dll+0xc71622] Thread::call_run+0x192 (thread.cpp:403)
V [jvm.dll+0xad037e] thread_native_entry+0x10e (os_windows.cpp:471)
C [ucrtbase.DLL+0x203ba]
C [KERNEL32.DLL+0x13f2]
C [ntdll.dll+0x154f4]
According to test/hotspot/jtreg/compiler/linkage/OSRWithBadOperandStack.jasm:
public static Method test:"()V" stack 2 locals 1 {
iconst_0;
istore_0;
Loop: stack_frame_type append;
locals_map int;
iload_0;
// This should fail with "java.lang.VerifyError: Bad type on operand stack Exception"
// because m1 returns an integer and m2 takes an Object.
invokestatic Method compiler/linkage/OSRWithBadOperandStack."m1":"()I";
invokestatic Method compiler/linkage/OSRWithBadOperandStack."m2":"(Ljava/lang/Object;)V";
iinc 0, 1;
ldc 100000;
if_icmple Loop;
return;
}
we are expecting a VerifyError exception to be thrown. Not a crash.
compiler/linkage/TestLinkageErrorInGenerateOopMap.java
Here's a snippet of the log file:
#section:driver
----------messages:(9/386)----------
command: driver compiler.linkage.TestLinkageErrorInGenerateOopMap
reason: User specified action: run driver compiler.linkage.TestLinkageErrorInGenerateOopMap
Mode: agentvm
Agent id: 11
Additional exports to unnamed modules from @modules: java.base/jdk.internal.misc
Timeout refired 1200 times
Timeout information:
--- Timeout information end.
elapsed time (seconds): 1249.847
----------configuration:(14/1295)*----------
which doesn't help a whole lot.
Here's some snippets from the hs_err_pid file:
# Internal Error (t:/workspace/open/src/hotspot/share/oops/generateOopMap.cpp:2165), pid=44960, tid=19208
# fatal error: Illegal class file encountered. Try running with -Xverify:all in method test
--------------- S U M M A R Y ------------
Command Line: -XX:+UnlockDiagnosticVMOptions -XX:-BytecodeVerificationRemote -XX:-BytecodeVerificationLocal -XX:-TieredCompilation -XX:CompileCommand=dontinline,compiler/linkage/OSRWithBadOperandStack.m* compiler.linkage.TestLinkageErrorInGenerateOopMap run
Host: inst-vhnj7-Win2, AMD EPYC 7551 32-Core Processor , 16 cores, 63G, Windows Server 2012 R2 , 64 bit Build 9600 (6.3.9600.19358)
Time: Fri Aug 23 20:28:03 2019 /GM elapsed time: 0 seconds (0d 0h 0m 0s)
--------------- T H R E A D ---------------
Current thread (0x0000008b7b645800): JavaThread "C2 CompilerThread0" daemon [_thread_in_vm, id=19208, stack(0x0000008b7c760000,0x0000008b7c860000)]
Current CompileTask:
C2: 354 4 % compiler.linkage.OSRWithBadOperandStack::test @ 2 (18 bytes)
Stack: [0x0000008b7c760000,0x0000008b7c860000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0xad18b1] os::platform_print_native_stack+0xf1 (os_windows_x86.cpp:369)
V [jvm.dll+0xcd38bb] VMError::report+0xf0b (vmerror.cpp:716)
V [jvm.dll+0xcd516e] VMError::report_and_die+0x8ae (vmerror.cpp:1524)
V [jvm.dll+0xcd5864] VMError::report_and_die+0x64 (vmerror.cpp:1308)
V [jvm.dll+0x509f60] report_fatal+0x80 (debug.cpp:286)
V [jvm.dll+0x65efad] GenerateOopMap::report_error+0x16d (generateoopmap.cpp:2172)
V [jvm.dll+0x6599c4] GenerateOopMap::do_method+0x214 (generateoopmap.cpp:1981)
V [jvm.dll+0x65bea4] GenerateOopMap::interp1+0x1344 (generateoopmap.cpp:1636)
V [jvm.dll+0x65c63e] GenerateOopMap::interp_bb+0x15e (generateoopmap.cpp:1141)
V [jvm.dll+0x6580dc] GenerateOopMap::compute_map+0x47c (generateoopmap.cpp:2133)
V [jvm.dll+0xab9938] OopMapCacheEntry::fill+0x188 (oopmapcache.cpp:335)
V [jvm.dll+0xab96e9] OopMapCache::compute_one_oop_map+0x59 (oopmapcache.cpp:600)
V [jvm.dll+0x40aca1] ciMethod::live_local_oops_at_bci+0x101 (cimethod.cpp:434)
V [jvm.dll+0xaf697b] Parse::load_interpreter_state+0x8db (parse1.cpp:265)
V [jvm.dll+0xaef2b7] Parse::Parse+0x937 (parse1.cpp:574)
V [jvm.dll+0x3bfd25] ParseGenerator::generate+0xa5 (callgenerator.cpp:101)
V [jvm.dll+0x495371] Compile::Compile+0xc71 (compile.cpp:810)
V [jvm.dll+0x3bbe7b] C2Compiler::compile_method+0x11b (c2compiler.cpp:113)
V [jvm.dll+0x4ae030] CompileBroker::invoke_compiler_on_method+0x7a0 (compilebroker.cpp:2112)
V [jvm.dll+0x4ac0e2] CompileBroker::compiler_thread_loop+0x382 (compilebroker.cpp:1795)
V [jvm.dll+0xc7b0be] JavaThread::run+0x27e (thread.cpp:1902)
V [jvm.dll+0xc71622] Thread::call_run+0x192 (thread.cpp:403)
V [jvm.dll+0xad037e] thread_native_entry+0x10e (os_windows.cpp:471)
C [ucrtbase.DLL+0x203ba]
C [KERNEL32.DLL+0x13f2]
C [ntdll.dll+0x154f4]
According to test/hotspot/jtreg/compiler/linkage/OSRWithBadOperandStack.jasm:
public static Method test:"()V" stack 2 locals 1 {
iconst_0;
istore_0;
Loop: stack_frame_type append;
locals_map int;
iload_0;
// This should fail with "java.lang.VerifyError: Bad type on operand stack Exception"
// because m1 returns an integer and m2 takes an Object.
invokestatic Method compiler/linkage/OSRWithBadOperandStack."m1":"()I";
invokestatic Method compiler/linkage/OSRWithBadOperandStack."m2":"(Ljava/lang/Object;)V";
iinc 0, 1;
ldc 100000;
if_icmple Loop;
return;
}
we are expecting a VerifyError exception to be thrown. Not a crash.
Attachments
Issue Links
- backported by
-
JDK-8231534 TestLinkageErrorInGenerateOopMap times out
- Resolved
-
JDK-8231759 TestLinkageErrorInGenerateOopMap times out
- Resolved
-
JDK-8231817 TestLinkageErrorInGenerateOopMap times out
- Resolved
- relates to
-
JDK-8190797 OSR compilation fails with "assert(__the_thread__->can_call_java()) failed: can not load classes with compiler thread"
- Resolved