[lworld] RunThese30M.java crashed with SIGSEGV in already_in_vtable_slots with --enable-preview

XMLWordPrintable

    • aarch64
    • linux

      The following test crashed in the Valhalla CI:

      applications/runthese/RunThese30M.java

      Here's a snippet from the log file:

      [2026-02-07T00:42:52.364580818Z] Gathering output for process 194031
      [2026-02-07T00:42:58.551882891Z] Waiting for completion for process 194031
      [2026-02-07T00:42:58.552102132Z] Waiting for completion finished for process 194031
      [stress.process.out] [ 2026-02-07T00:43:38.138439122Z ] #
      [stress.process.out] [ 2026-02-07T00:43:38.138843685Z ] # A fatal error has been detected by the Java Runtime Environment:
      [stress.process.out] [ 2026-02-07T00:43:38.138924925Z ] #
      [stress.process.out] [ 2026-02-07T00:43:38.139236287Z ] # SIGSEGV (0xb) at pc=0x0000ffffa192cce8, pid=184476, tid=194052
      [stress.process.out] [ 2026-02-07T00:43:38.139372528Z ] #
      [stress.process.out] [ 2026-02-07T00:43:38.139490969Z ] # JRE version: Java(TM) SE Runtime Environment (27.0+1) (fastdebug build 27-valhalla+1-108)
      [stress.process.out] [ 2026-02-07T00:43:38.139577250Z ] # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-valhalla+1-108, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
      [stress.process.out] [ 2026-02-07T00:43:38.139690130Z ] # Problematic frame:
      [stress.process.out] [ 2026-02-07T00:43:38.148829911Z ] # V [libjvm.so+0xb2cce8] already_in_vtable_slots(GrowableArray<EmptyVtableSlot*>*, Method*)+0x38
      [stress.process.out] [ 2026-02-07T00:43:38.149229994Z ] #
      [stress.process.out] [ 2026-02-07T00:43:38.149606517Z ] # Core dump will be written. Default location: Determined by the following: "/opt/core.sh %p" (alternatively, falling back to /opt/mach5/mesos/work_dir/slaves/da1065b5-7b94-4f0d-85e9-a3a252b9a32e-S102694/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/93986736-b1dc-4058-9c49-bda80eb193c0/runs/cbc1ea96-ba26-4a84-bcb1-87f5a7af4f84/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java/scratch/0/core.184476)
      [stress.process.out] [ 2026-02-07T00:43:38.149790558Z ] #
      [stress.process.out] [ 2026-02-07T00:43:38.150357202Z ] # JFR recording file will be written. Location: /opt/mach5/mesos/work_dir/slaves/da1065b5-7b94-4f0d-85e9-a3a252b9a32e-S102694/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/93986736-b1dc-4058-9c49-bda80eb193c0/runs/cbc1ea96-ba26-4a84-bcb1-87f5a7af4f84/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java/scratch/0/hs_err_pid184476.jfr
      [stress.process.out] [ 2026-02-07T00:43:38.150460522Z ] #
      [stress.process.out] [ 2026-02-07T00:43:38.150534603Z ] Unsupported internal testing APIs have been used.
      [stress.process.out] [ 2026-02-07T00:43:38.150597363Z ]
      [stress.process.out] [ 2026-02-07T00:43:38.150661164Z ] # An error report file with more information is saved as:
      [stress.process.out] [ 2026-02-07T00:43:38.150800925Z ] # /opt/mach5/mesos/work_dir/slaves/da1065b5-7b94-4f0d-85e9-a3a252b9a32e-S102694/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/93986736-b1dc-4058-9c49-bda80eb193c0/runs/cbc1ea96-ba26-4a84-bcb1-87f5a7af4f84/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java/scratch/0/hs_err_pid184476.log
      [stress.process.out] [ 2026-02-07T00:43:47.152760307Z ] #
      [stress.process.out] [ 2026-02-07T00:43:47.153128110Z ] # If you would like to submit a bug report, please visit:
      [stress.process.out] [ 2026-02-07T00:43:47.153199550Z ] # https://bugreport.java.com/bugreport/crash.jsp
      [stress.process.out] [ 2026-02-07T00:43:47.153268150Z ] #
      [2026-02-07T00:43:58.556134567Z] Gathering output for process 194066
      [2026-02-07T00:43:58.565944232Z] Waiting for completion for process 194066
      [2026-02-07T00:43:58.566151153Z] Waiting for completion finished for process 194066
      [2026-02-07T00:43:58.568731050Z] Gathering output for process 194069

      Here's the crashing thread's stack:

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

      Current thread (0x0000fffea00416a0): JavaThread "Thread-7039" daemon [_thread_in_vm, id=194052, stack(0x0000fffe656f8000,0x0000fffe658f6000) (2040K)]

      Stack: [0x0000fffe656f8000,0x0000fffe658f6000], sp=0x0000fffe658f1740, free space=2021k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xb2cce8] already_in_vtable_slots(GrowableArray<EmptyVtableSlot*>*, Method*)+0x38 (constMethod.hpp:251)
      V [libjvm.so+0xb2e6b8] find_empty_vtable_slots(GrowableArray<EmptyVtableSlot*>*, InstanceKlass*, GrowableArray<Method*> const*)+0x78 (defaultMethods.cpp:632)
      V [libjvm.so+0xb31b38] DefaultMethods::generate_default_methods(InstanceKlass*, GrowableArray<Method*> const*, JavaThread*)+0x578 (defaultMethods.cpp:842)
      V [libjvm.so+0x991520] ClassFileParser::fill_instance_klass(InstanceKlass*, bool, ClassInstanceInfo const&, JavaThread*)+0x1a1c (classFileParser.cpp:5512)
      V [libjvm.so+0x991fb8] ClassFileParser::create_instance_klass(bool, ClassInstanceInfo const&, JavaThread*)+0x90 (classFileParser.cpp:5316)
      V [libjvm.so+0x1340238] KlassFactory::create_from_stream(ClassFileStream*, Symbol*, ClassLoaderData*, ClassLoadInfo const&, JavaThread*)+0x298 (klassFactory.cpp:208)
      V [libjvm.so+0x1953e18] SystemDictionary::resolve_class_from_stream(ClassFileStream*, Symbol*, Handle, ClassLoadInfo const&, JavaThread*)+0xd8 (systemDictionary.cpp:904)
      V [libjvm.so+0x114d2d8] jvm_define_class_common(char const*, _jobject*, signed char const*, int, _jobject*, char const*, JavaThread*)+0x274 (jvm.cpp:1071)
      V [libjvm.so+0x114d540] JVM_DefineClassWithSource+0xb0 (jvm.cpp:1238)
      C [libjava.so+0xf0fc] Java_java_lang_ClassLoader_defineClass1+0x13c (ClassLoader.c:139)
      j java.lang.ClassLoader.defineClass1(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;+0 java.base@27-valhalla
      j java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;+27 java.base@27-valhalla
      j java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;+12 java.base@27-valhalla
      j java.net.URLClassLoader.defineClass(Ljava/lang/String;Ljdk/internal/loader/Resource;)Ljava/lang/Class;+220 java.base@27-valhalla
      j java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;+30 java.base@27-valhalla
      j java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;+69 java.base@27-valhalla
      j java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;+3 java.base@27-valhalla
      v ~StubRoutines::call_stub_stub (stub gen) 0x0000ffff8b53649c
      V [libjvm.so+0xf87070] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x484 (javaCalls.cpp:430)
      V [libjvm.so+0xf878c0] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x274 (javaCalls.cpp:326)
      V [libjvm.so+0xf87f30] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Handle, JavaThread*)+0x90 (javaCalls.cpp:195)
      V [libjvm.so+0x195733c] SystemDictionary::load_instance_class_impl(Symbol*, Handle, JavaThread*)+0x17c (systemDictionary.cpp:1465)
      V [libjvm.so+0x1954034] SystemDictionary::load_instance_class(Symbol*, Handle, JavaThread*)+0x24 (systemDictionary.cpp:1496)
      V [libjvm.so+0x1954820] SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle, JavaThread*)+0x5fc (systemDictionary.cpp:728)
      V [libjvm.so+0x1955330] SystemDictionary::resolve_or_fail(Symbol*, Handle, bool, JavaThread*)+0x30 (systemDictionary.cpp:372)
      V [libjvm.so+0xa8ee94] ConstantPool::klass_at_impl(constantPoolHandle const&, int, JavaThread*)+0x144 (constantPool.cpp:671)
      V [libjvm.so+0xf6b804] InterpreterRuntime::_new(JavaThread*, ConstantPool*, int)+0xc4 (constantPool.hpp:392)
      j com.sun.tck.lib.tgf.DataFactory.createValues(Lcom/sun/tck/lib/tgf/ValuesIterator;)Lcom/sun/tck/lib/tgf/Values;+0
      j com.sun.tck.lib.tgf.DataFactory.createColumn([Ljava/lang/Object;)Lcom/sun/tck/lib/tgf/Values;+8
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.VersionBase.<init>()V+172
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.CompareToBase.<init>()V+1
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.CompareTo.<init>()V+1
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.CompareTo.main([Ljava/lang/String;)V+4
      j java.lang.invoke.LambdaForm$DMH+0x00000000a61c0800.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@27-valhalla
      j java.lang.invoke.LambdaForm$MH+0x00000000a6209800.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@27-valhalla
      j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@27-valhalla
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@27-valhalla
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@27-valhalla
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@27-valhalla
      j applications.kitchensink.process.stress.modules.JckStressModule$TestRunner.lambda$runTest$1(Ljava/lang/reflect/Method;[Ljava/lang/Object;JLjava/lang/String;)V+3
      j applications.kitchensink.process.stress.modules.JckStressModule$TestRunner$$Lambda+0x00000000a689cd48.run()V+20
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@27-valhalla
      j java.lang.Thread.run()V+19 java.base@27-valhalla
      v ~StubRoutines::call_stub_stub (stub gen) 0x0000ffff8b53649c
      V [libjvm.so+0xf87070] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x484 (javaCalls.cpp:430)
      V [libjvm.so+0xf878c0] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x274 (javaCalls.cpp:326)
      V [libjvm.so+0xf87e54] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x8c (javaCalls.cpp:188)
      V [libjvm.so+0x112cb0c] thread_entry(JavaThread*, JavaThread*)+0xc4 (jvm.cpp:2880)
      V [libjvm.so+0xfc23e8] JavaThread::thread_main_inner()+0x108 (javaThread.cpp:777)
      V [libjvm.so+0x19abf4c] Thread::call_run()+0xac (thread.cpp:243)
      V [libjvm.so+0x163cb0c] thread_native_entry(Thread*)+0x11c (os_linux.cpp:929)
      C [libc.so.6+0x80b50] start_thread+0x300
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j java.lang.ClassLoader.defineClass1(Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;+0 java.base@27-valhalla
      j java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;+27 java.base@27-valhalla
      j java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;+12 java.base@27-valhalla
      j java.net.URLClassLoader.defineClass(Ljava/lang/String;Ljdk/internal/loader/Resource;)Ljava/lang/Class;+220 java.base@27-valhalla
      j java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;+30 java.base@27-valhalla
      j java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;+69 java.base@27-valhalla
      j java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;+3 java.base@27-valhalla
      v ~StubRoutines::call_stub_stub (stub gen) 0x0000ffff8b53649c
      j com.sun.tck.lib.tgf.DataFactory.createValues(Lcom/sun/tck/lib/tgf/ValuesIterator;)Lcom/sun/tck/lib/tgf/Values;+0
      j com.sun.tck.lib.tgf.DataFactory.createColumn([Ljava/lang/Object;)Lcom/sun/tck/lib/tgf/Values;+8
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.VersionBase.<init>()V+172
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.CompareToBase.<init>()V+1
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.CompareTo.<init>()V+1
      j javasoft.sqe.tests.api.java.lang.Runtime.Version.CompareTo.main([Ljava/lang/String;)V+4
      j java.lang.invoke.LambdaForm$DMH+0x00000000a61c0800.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@27-valhalla
      j java.lang.invoke.LambdaForm$MH+0x00000000a6209800.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@27-valhalla
      j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@27-valhalla
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@27-valhalla
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@27-valhalla
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@27-valhalla
      j applications.kitchensink.process.stress.modules.JckStressModule$TestRunner.lambda$runTest$1(Ljava/lang/reflect/Method;[Ljava/lang/Object;JLjava/lang/String;)V+3
      j applications.kitchensink.process.stress.modules.JckStressModule$TestRunner$$Lambda+0x00000000a689cd48.run()V+20
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@27-valhalla
      j java.lang.Thread.run()V+19 java.base@27-valhalla
      v ~StubRoutines::call_stub_stub (stub gen) 0x0000ffff8b53649c

      siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000008


      Searching JBS, I ran across this other SIGSEGV crash in a similar
      area. It looks like Coleen and David H spent some time hunting this one:

          JDK-8337236 SIGSEGV in find_empty_vtable_slots

            Assignee:
            Coleen Phillimore
            Reporter:
            Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: