JDK-8253728 : tests fail with "assert(fr.is_compiled_frame()) failed: Wrong frame type"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86_64
  • Submitted: 2020-09-28
  • Updated: 2024-12-04
  • Resolved: 2020-09-28
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 16
16 b18Fixed
Related Reports
Relates :  
Description
The following tests fail in the JDK16 CI:

compiler/runtime/TestFloatsOnStackDeopt.java
compiler/interpreter/Test6833129.java
compiler/codecache/stress/UnexpectedDeoptimizationTest.java
compiler/c2/Test6910605_1.java
compiler/c2/Test6910605_2.java
compiler/deoptimization/TestDoubleLocals.java
compiler/deoptimization/DeoptDoubleWord.java
compiler/deoptimization/DeoptArithmetic.java

Here's snippets from the TestFloatsOnStackDeopt.java hs_err_pid file:

#  Internal Error (/opt/mach5/mesos/work_dir/slaves/52628e90-e5e7-4ef3-af97-10d8776d10db-S2378/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/ca83199d-c943-48d3-b09d-7bd7ed917df3/runs/0db08cef-4523-4332-9ab9-cd9271d1c198/workspace/open/src/hotspot/share/runtime/deoptimization.cpp:1626), pid=3893, tid=3896
#  assert(fr.is_compiled_frame()) failed: Wrong frame type

---------------  T H R E A D  ---------------

Current thread (0x00007faf90029f90):  JavaThread "main" [_thread_in_vm, id=3896, stack(0x00007faf9885b000,0x00007faf9895c000)]

Stack: [0x00007faf9885b000,0x00007faf9895c000],  sp=0x00007faf98956ad0,  free space=1006k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x9c9cd4]  Deoptimization::deoptimize_frame_internal(JavaThread*, long*, Deoptimization::DeoptReason)+0x1a4
V  [libjvm.so+0x9c9e60]  Deoptimization::deoptimize_frame(JavaThread*, long*)+0x70
V  [libjvm.so+0x175ed23]  TieredThresholdPolicy::compile(methodHandle const&, int, CompLevel, Thread*)+0x423
V  [libjvm.so+0x17619b0]  TieredThresholdPolicy::method_back_branch_event(methodHandle const&, methodHandle const&, int, CompLevel, CompiledMethod*, Thread*)+0xb30
V  [libjvm.so+0x1761cf4]  TieredThresholdPolicy::event(methodHandle const&, methodHandle const&, int, int, CompLevel, CompiledMethod*, Thread*)+0x134
V  [libjvm.so+0xd2a3a7]  InterpreterRuntime::frequency_counter_overflow_inner(JavaThread*, unsigned char*)+0x147
V  [libjvm.so+0xd2a83a]  InterpreterRuntime::frequency_counter_overflow(JavaThread*, unsigned char*)+0x1a
j  java.util.zip.ZipFile$Source.initCEN(I)V+238 java.base@16-ea
j  java.util.zip.ZipFile$Source.<init>(Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V+102 java.base@16-ea
j  java.util.zip.ZipFile$Source.get(Ljava/io/File;ZLjava/util/zip/ZipCoder;)Ljava/util/zip/ZipFile$Source;+100 java.base@16-ea
j  java.util.zip.ZipFile$CleanableResource.<init>(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipCoder;Ljava/io/File;I)V+56 java.base@16-ea
A 5990  java.util.zip.ZipFile.<init>(Ljava/io/File;ILjava/nio/charset/Charset;)V java.base@16-ea (134 bytes) @ 0x00007faf6eedb0bc [0x00007faf6eeda720+0x000000000000099c]
A 6044  java.util.jar.JarFile.<init>(Ljava/io/File;ZILjava/lang/Runtime$Version;)V java.base@16-ea (95 bytes) @ 0x00007faf6d2dafd4 [0x00007faf6d2daf20+0x00000000000000b4]
j  jdk.internal.loader.URLClassPath$JarLoader.getJarFile(Ljava/net/URL;)Ljava/util/jar/JarFile;+56 java.base@16-ea
A 6013  jdk.internal.loader.URLClassPath$JarLoader$1.run()Ljava/lang/Void; java.base@16-ea (175 bytes) @ 0x00007faf706c137c [0x00007faf706c0f20+0x000000000000045c]
A 6012  jdk.internal.loader.URLClassPath$JarLoader$1.run()Ljava/lang/Object; java.base@16-ea (5 bytes) @ 0x00007faf706c0e94 [0x00007faf706c0e20+0x0000000000000074]
A 454  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; java.base@16-ea (26 bytes) @ 0x00007faf728d5eb4 [0x00007faf728d5da0+0x0000000000000114]
A 5949  jdk.internal.loader.URLClassPath$JarLoader.ensureOpen()V java.base@16-ea (36 bytes) @ 0x00007faf6d2c0a24 [0x00007faf6d2c0920+0x0000000000000104]
A 5958  jdk.internal.loader.URLClassPath$JarLoader.<init>(Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;Ljava/security/AccessControlContext;)V java.base@16-ea (67 bytes) @ 0x00007faf6d2c4d1c [0x00007faf6d2c4420+0x00000000000008fc]
j  jdk.internal.loader.URLClassPath$3.run()Ljdk/internal/loader/URLClassPath$Loader;+168 java.base@16-ea
A 5933  jdk.internal.loader.URLClassPath$3.run()Ljava/lang/Object; java.base@16-ea (5 bytes) @ 0x00007faf7282a494 [0x00007faf7282a420+0x0000000000000074]
A 454  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; java.base@16-ea (26 bytes) @ 0x00007faf728d5eb4 [0x00007faf728d5da0+0x0000000000000114]
A 5290  jdk.internal.loader.URLClassPath.getLoader(Ljava/net/URL;)Ljdk/internal/loader/URLClassPath$Loader; java.base@16-ea (29 bytes) @ 0x00007faf724ba6cc [0x00007faf724ba5a0+0x000000000000012c]
A 5296  jdk.internal.loader.URLClassPath.getLoader(I)Ljdk/internal/loader/URLClassPath$Loader; java.base@16-ea (194 bytes) @ 0x00007faf724be384 [0x00007faf724be0a0+0x00000000000002e4]
j  jdk.internal.loader.URLClassPath.getResource(Ljava/lang/String;Z)Ljdk/internal/loader/Resource;+42 java.base@16-ea
A 5139  jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Ljava/lang/String;)Ljava/lang/Class; java.base@16-ea (64 bytes) @ 0x00007faf73327314 [0x00007faf73326ea0+0x0000000000000474]
A 5138  jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Ljava/lang/String;Z)Ljava/lang/Class; java.base@16-ea (143 bytes) @ 0x00007faf733267ac [0x00007faf73326420+0x000000000000038c]
A 5439  jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; java.base@16-ea (40 bytes) @ 0x00007faf714a84bc [0x00007faf714a8320+0x000000000000019c]
A 4939  java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; java.base@16-ea (7 bytes) @ 0x00007faf6fd9361c [0x00007faf6fd935a0+0x000000000000007c]
v  ~StubRoutines::call_stub
V  [libjvm.so+0xd3d5da]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x62a
V  [libjvm.so+0xd3def5]  JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x4c5
V  [libjvm.so+0xd3e510]  JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Handle, Thread*)+0xf0
V  [libjvm.so+0x16d8276]  SystemDictionary::load_instance_class(Symbol*, Handle, Thread*)+0x1b6
V  [libjvm.so+0x16d6c9a]  SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, Handle, Thread*)+0x9ca
V  [libjvm.so+0x16d6fb5]  SystemDictionary::resolve_instance_class_or_null_helper(Symbol*, Handle, Handle, Thread*)+0x45
V  [libjvm.so+0x16d8e77]  SystemDictionary::resolve_or_fail(Symbol*, Handle, Handle, bool, Thread*)+0x27
V  [libjvm.so+0xee8ecd]  find_class_from_class_loader(JNIEnv_*, Symbol*, unsigned char, Handle, Handle, unsigned char, Thread*)+0x2d
V  [libjvm.so+0xeee3b0]  JVM_FindClassFromCaller+0x240
C  [libjava.so+0xca97]  Java_java_lang_Class_forName0+0xd7
j  java.lang.Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;+0 java.base@16-ea
A 5895  sun.launcher.LauncherHelper.loadMainClass(ILjava/lang/String;)Ljava/lang/Class; java.base@16-ea (288 bytes) @ 0x00007faf7011ad24 [0x00007faf7011a8a0+0x0000000000000484]
A 5921  sun.launcher.LauncherHelper.checkAndLoadMain(ZILjava/lang/String;)Ljava/lang/Class; java.base@16-ea (85 bytes) @ 0x00007faf7012e4f4 [0x00007faf7012e220+0x00000000000002d4]
v  ~StubRoutines::call_stub
V  [libjvm.so+0xd3d5da]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x62a
V  [libjvm.so+0xe62255]  jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) [clone .isra.0] [clone .constprop.1]+0x3e5
V  [libjvm.so+0xe63fa3]  jni_CallStaticObjectMethod+0x213
C  [libjli.so+0x45f1]  JavaMain+0x8a1
C  [libjli.so+0x7759]  ThreadJavaMain+0x9

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.util.zip.ZipFile$Source.initCEN(I)V+238 java.base@16-ea
j  java.util.zip.ZipFile$Source.<init>(Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V+102 java.base@16-ea
j  java.util.zip.ZipFile$Source.get(Ljava/io/File;ZLjava/util/zip/ZipCoder;)Ljava/util/zip/ZipFile$Source;+100 java.base@16-ea
j  java.util.zip.ZipFile$CleanableResource.<init>(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipCoder;Ljava/io/File;I)V+56 java.base@16-ea
A 5990  java.util.zip.ZipFile.<init>(Ljava/io/File;ILjava/nio/charset/Charset;)V java.base@16-ea (134 bytes) @ 0x00007faf6eedb0bc [0x00007faf6eeda720+0x000000000000099c]
A 6044  java.util.jar.JarFile.<init>(Ljava/io/File;ZILjava/lang/Runtime$Version;)V java.base@16-ea (95 bytes) @ 0x00007faf6d2dafd4 [0x00007faf6d2daf20+0x00000000000000b4]
j  jdk.internal.loader.URLClassPath$JarLoader.getJarFile(Ljava/net/URL;)Ljava/util/jar/JarFile;+56 java.base@16-ea
A 6013  jdk.internal.loader.URLClassPath$JarLoader$1.run()Ljava/lang/Void; java.base@16-ea (175 bytes) @ 0x00007faf706c137c [0x00007faf706c0f20+0x000000000000045c]
A 6012  jdk.internal.loader.URLClassPath$JarLoader$1.run()Ljava/lang/Object; java.base@16-ea (5 bytes) @ 0x00007faf706c0e94 [0x00007faf706c0e20+0x0000000000000074]
A 454  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; java.base@16-ea (26 bytes) @ 0x00007faf728d5eb4 [0x00007faf728d5da0+0x0000000000000114]
A 5949  jdk.internal.loader.URLClassPath$JarLoader.ensureOpen()V java.base@16-ea (36 bytes) @ 0x00007faf6d2c0a24 [0x00007faf6d2c0920+0x0000000000000104]
A 5958  jdk.internal.loader.URLClassPath$JarLoader.<init>(Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;Ljava/security/AccessControlContext;)V java.base@16-ea (67 bytes) @ 0x00007faf6d2c4d1c [0x00007faf6d2c4420+0x00000000000008fc]
j  jdk.internal.loader.URLClassPath$3.run()Ljdk/internal/loader/URLClassPath$Loader;+168 java.base@16-ea
A 5933  jdk.internal.loader.URLClassPath$3.run()Ljava/lang/Object; java.base@16-ea (5 bytes) @ 0x00007faf7282a494 [0x00007faf7282a420+0x0000000000000074]
A 454  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; java.base@16-ea (26 bytes) @ 0x00007faf728d5eb4 [0x00007faf728d5da0+0x0000000000000114]
A 5290  jdk.internal.loader.URLClassPath.getLoader(Ljava/net/URL;)Ljdk/internal/loader/URLClassPath$Loader; java.base@16-ea (29 bytes) @ 0x00007faf724ba6cc [0x00007faf724ba5a0+0x000000000000012c]
A 5296  jdk.internal.loader.URLClassPath.getLoader(I)Ljdk/internal/loader/URLClassPath$Loader; java.base@16-ea (194 bytes) @ 0x00007faf724be384 [0x00007faf724be0a0+0x00000000000002e4]
j  jdk.internal.loader.URLClassPath.getResource(Ljava/lang/String;Z)Ljdk/internal/loader/Resource;+42 java.base@16-ea
A 5139  jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Ljava/lang/String;)Ljava/lang/Class; java.base@16-ea (64 bytes) @ 0x00007faf73327314 [0x00007faf73326ea0+0x0000000000000474]
A 5138  jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Ljava/lang/String;Z)Ljava/lang/Class; java.base@16-ea (143 bytes) @ 0x00007faf733267ac [0x00007faf73326420+0x000000000000038c]
A 5439  jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; java.base@16-ea (40 bytes) @ 0x00007faf714a84bc [0x00007faf714a8320+0x000000000000019c]
A 4939  java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; java.base@16-ea (7 bytes) @ 0x00007faf6fd9361c [0x00007faf6fd935a0+0x000000000000007c]
v  ~StubRoutines::call_stub
j  java.lang.Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;+0 java.base@16-ea
A 5895  sun.launcher.LauncherHelper.loadMainClass(ILjava/lang/String;)Ljava/lang/Class; java.base@16-ea (288 bytes) @ 0x00007faf7011ad24 [0x00007faf7011a8a0+0x0000000000000484]
A 5921  sun.launcher.LauncherHelper.checkAndLoadMain(ZILjava/lang/String;)Ljava/lang/Class; java.base@16-ea (85 bytes) @ 0x00007faf7012e4f4 [0x00007faf7012e220+0x00000000000002d4]
v  ~StubRoutines::call_stub

Since this failure mode is affecting so many Tier6 tests,
I'm starting this bug off as a P3.
Comments
Frame may already have been deoptimized. Removing assert.
29-09-2020

Thanks for fixing this CI failure quickly!
29-09-2020

Changeset: 70b0fccf Author: Patric Hedlin <phedlin@openjdk.org> Date: 2020-09-28 21:48:55 +0000 URL: https://git.openjdk.java.net/jdk/commit/70b0fccf
28-09-2020

[~phedlin] - Please take a look at these failures that showed up in jdk-16+18-848-tier6 which included your fix for JDK-8247691.
28-09-2020

The failing assertion is newly added by the following fix: JDK-8247691 [aarch64] Incorrect handling of VM exceptions in C1 deopt stub/traps
28-09-2020