JDK-8277441 : CompileQueue::add fails with assert(_last->next() == __null) failed: not last
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,17,18
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-11-19
  • Updated: 2022-01-15
  • Resolved: 2021-11-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 17 JDK 18
11.0.15-oracleFixed 17.0.3-oracleFixed 18 b26Fixed
Related Reports
Relates :  
Description
The new test that will be added by JDK-8277042 triggered this assert once: 

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/workspace/open/src/hotspot/share/compiler/compileBroker.cpp:369), pid=25796, tid=6403
#  assert(_last->next() == __null) failed: not last

Stack: [0x000070000838a000,0x000070000848a000],  sp=0x00007000084862f0,  free space=1008k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.dylib+0x1159a39]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x6e9
V  [libjvm.dylib+0x115a0bb]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x3b
V  [libjvm.dylib+0x628fbd]  report_vm_error(char const*, int, char const*, char const*, ...)+0xdd
V  [libjvm.dylib+0x5e394a]  CompileQueue::add(CompileTask*)+0x8a
V  [libjvm.dylib+0x5e718a]  CompileBroker::compile_method_base(methodHandle const&, int, int, methodHandle const&, int, CompileTask::CompileReason, bool, Thread*)+0xa3a
V  [libjvm.dylib+0x5e7f5d]  CompileBroker::compile_method(methodHandle const&, int, int, methodHandle const&, int, CompileTask::CompileReason, DirectiveSet*, JavaThread*)+0x6ad
V  [libjvm.dylib+0x5e788e]  CompileBroker::compile_method(methodHandle const&, int, int, methodHandle const&, int, CompileTask::CompileReason, JavaThread*)+0xbe
V  [libjvm.dylib+0x5c744e]  CompilationPolicy::compile(methodHandle const&, int, CompLevel, JavaThread*)+0x4ee
V  [libjvm.dylib+0x5c69dc]  CompilationPolicy::event(methodHandle const&, methodHandle const&, int, int, CompLevel, CompiledMethod*, JavaThread*)+0x20c
V  [libjvm.dylib+0x8eea04]  InterpreterRuntime::frequency_counter_overflow_inner(JavaThread*, unsigned char*)+0x304
V  [libjvm.dylib+0x8ee4ca]  InterpreterRuntime::frequency_counter_overflow(JavaThread*, unsigned char*)+0x1a
j  Foo3.foo()I+0
j  SomeClass.<clinit>()V+61
v  ~StubRoutines::call_stub
Comments
Fix request [11u] I backport this for parity with 11.0.15-oracle. No risk, trivial change. Clean backport. SAP nightly tests all passed.
14-01-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/756 Date: 2022-01-13 15:10:58 +0000
13-01-2022

Fix request [17u] This was backported to 11.0.15-oracle, we want to have this in 17, too. No risk, trivial change. Clean backport. SAP nightly tests passed.
23-12-2021

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/13 Date: 2021-12-20 14:16:38 +0000
20-12-2021

Changeset: 90f96fb4 Author: Tobias Hartmann <thartmann@openjdk.org> Date: 2021-11-23 12:46:15 +0000 URL: https://git.openjdk.java.net/jdk/commit/90f96fb4db174e50cc2510f292fe69fc995add26
23-11-2021

ILW = Assert due to unexpected state of compile task queue, extremely rare and only with disabled code cache flushing, use -XX:+UseCodeCacheFlushing or increase ReservedCodeCacheSize = HLL = P4
19-11-2021