Crashes on ppc64(le) after JDK-8371368

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P2
    • 26
    • Affects Version/s: 26
    • Component/s: hotspot
    • None
    • jfr
    • master
    • ppc, s390x

      We see quite a lot of crashes and asserts ((fast)debug) on the ppc64 platforms after JDK-8371368 .
      Examples :
      runtime/CommandLine/PrintClasses.java#id1

      # Internal Error (/priv/jenkins/ci2/client-home/workspace/openjdk-jdk-dev-linux_ppc64le-dbg/jdk/src/hotspot/share/code/codeCache.inline.hpp:48), pid=1260651, tid=1262177
      # assert(cb != nullptr) failed: must be
      #
      # JRE version: OpenJDK Runtime Environment (26.0) (fastdebug build 26-internal-adhoc.sapmachine.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 26-internal-adhoc.sapmachine.jdk, mixed mode, sharing, tiered, compressed oops, compact obj headers, g1 gc, linux-ppc64le)
      # Problematic frame:
      # V [libjvm.so+0x79e2e8] frame::setup(frame::kind)+0x588

      Stack: [0x00007fff27800000,0x00007fff27c00000], sp=0x00007fff27bfab90, free space=4074k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x79e2e8] frame::setup(frame::kind)+0x588 (codeCache.inline.hpp:48)
      V [libjvm.so+0x11f73d8] JfrVframeStream::next_vframe()+0xa48 (frame_ppc.inline.hpp:102)
      V [libjvm.so+0x11f4c6c] JfrStackTrace::record_inner(JavaThread*, frame const&, bool, int, long) [clone .constprop.0]+0x18c (jfrStackTrace.cpp:222)
      V [libjvm.so+0x11f52b0] JfrStackTrace::record(JavaThread*, frame const&, bool, JfrSampleRequest const&)+0x90 (jfrStackTrace.cpp:177)
      V [libjvm.so+0x1225bf0] drain_enqueued_requests(TimeInstant<CounterRepresentation, FastUnorderedElapsedCounterSource> const&, JfrThreadLocal*, JavaThread*, Thread*)+0x3c0 (jfrThreadSampling.cpp:288)
      V [libjvm.so+0x1226c88] JfrThreadSampling::process_sample_request(JavaThread*)+0x1a8 (jfrThreadSampling.cpp:391)
      V [libjvm.so+0x1a0bc48] SafepointMechanism::process(JavaThread*, bool, bool)+0xe8 (jfr.inline.hpp:41)
      V [libjvm.so+0x1a05710] ThreadSafepointState::handle_polling_page_exception()+0xb00 (safepointMechanism.inline.hpp:90)
      V [libjvm.so+0x1a05ce8] SafepointSynchronize::handle_polling_page_exception(JavaThread*)+0x118 (safepoint.cpp:629)
      v ~SafepointBlob 0x00007fff8b6c01c0
      j java.lang.String.utf8([BII)Ljava/lang/String;+9 java.base@26-internal
      J 928 c1 java.lang.String.<init>(Ljava/nio/charset/Charset;[BII)V java.base@26-internal (86 bytes) @ 0x00007fff842f3e30 [0x00007fff842f3b80+0x00000000000002b0]
      j java.lang.String.<init>([BII)V+13 java.base@26-internal
      j java.io.ByteArrayOutputStream.toString()Ljava/lang/String;+13 java.base@26-internal
      j jdk.test.lib.process.OutputBuffer$LazyOutputBuffer$StreamTask.get()Ljava/lang/String;+21
      j jdk.test.lib.process.OutputBuffer$LazyOutputBuffer.getStdout()Ljava/lang/String;+4
      j jdk.test.lib.process.OutputAnalyzer.getStdout()Ljava/lang/String;+4
      j jdk.test.lib.process.OutputAnalyzer.shouldContain(Ljava/lang/String;)Ljdk/test/lib/process/OutputAnalyzer;+1
      j PrintClasses.main([Ljava/lang/String;)V+109
      j java.lang.invoke.LambdaForm$DMH+0x0000018c01042c00.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@26-internal
      j java.lang.invoke.LambdaForm$MH+0x0000018c010c4800.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@26-internal
      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@26-internal
      J 1417 c1 jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (92 bytes) @ 0x00007fff843fb018 [0x00007fff843fa400+0x0000000000000c18]
      J 1413 c1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (108 bytes) @ 0x00007fff843f3fd4 [0x00007fff843f3900+0x00000000000006d4]
      j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@26-internal
      j java.lang.Thread.run()V+19 java.base@26-internal
      v ~StubRoutines::Stub Generator call_stub_stub 0x00007fff8b5b0b44
      V [libjvm.so+0x10aa258] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x588 (javaCalls.cpp:416)
      V [libjvm.so+0x182706c] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*), JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x3c (os_linux.cpp:4910)
      V [libjvm.so+0x10aaaec] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x36c (javaCalls.cpp:324)
      V [libjvm.so+0x10ab1c8] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0xd8 (javaCalls.cpp:186)
      V [libjvm.so+0x12d8da8] thread_entry(JavaThread*, JavaThread*)+0x108 (jvm.cpp:2703)
      V [libjvm.so+0x1108d7c] JavaThread::thread_main_inner()+0x17c (javaThread.cpp:776)
      V [libjvm.so+0x1e89420] Thread::call_run()+0xe0 (thread.cpp:242)
      V [libjvm.so+0x182aa58] thread_native_entry(Thread*)+0x168 (os_linux.cpp:862)
      C [libpthread.so.0+0x9748] start_thread+0xf8
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      v ~SafepointBlob 0x00007fff8b6c01c0
      j java.lang.String.utf8([BII)Ljava/lang/String;+9 java.base@26-internal
      J 928 c1 java.lang.String.<init>(Ljava/nio/charset/Charset;[BII)V java.base@26-internal (86 bytes) @ 0x00007fff842f3e30 [0x00007fff842f3b80+0x00000000000002b0]
      j java.lang.String.<init>([BII)V+13 java.base@26-internal
      j java.io.ByteArrayOutputStream.toString()Ljava/lang/String;+13 java.base@26-internal
      j jdk.test.lib.process.OutputBuffer$LazyOutputBuffer$StreamTask.get()Ljava/lang/String;+21
      j jdk.test.lib.process.OutputBuffer$LazyOutputBuffer.getStdout()Ljava/lang/String;+4
      j jdk.test.lib.process.OutputAnalyzer.getStdout()Ljava/lang/String;+4
      j jdk.test.lib.process.OutputAnalyzer.shouldContain(Ljava/lang/String;)Ljdk/test/lib/process/OutputAnalyzer;+1
      j PrintClasses.main([Ljava/lang/String;)V+109
      j java.lang.invoke.LambdaForm$DMH+0x0000018c01042c00.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@26-internal
      j java.lang.invoke.LambdaForm$MH+0x0000018c010c4800.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@26-internal
      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@26-internal
      J 1417 c1 jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (92 bytes) @ 0x00007fff843fb018 [0x00007fff843fa400+0x0000000000000c18]
      J 1413 c1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@26-internal (108 bytes) @ 0x00007fff843f3fd4 [0x00007fff843f3900+0x00000000000006d4]
      j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@26-internal
      j java.lang.Thread.run()V+19 java.base@26-internal
      v ~StubRoutines::Stub Generator call_stub_stub 0x00007fff8b5b0b44

      jdk/jfr/api/consumer/TestRecordingFileWrite.java

      # Internal Error (/priv/jenkins/ci2/client-home/workspace/openjdk-jdk-dev-linux_ppc64le-dbg/jdk/src/hotspot/share/code/codeCache.inline.hpp:43), pid=40090, tid=40301
      # assert(cb == CodeCache::find_blob(pc)) failed: must be
      #
      # JRE version: OpenJDK Runtime Environment (26.0) (fastdebug build 26-internal-adhoc.sapmachine.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 26-internal-adhoc.sapmachine.jdk, mixed mode, sharing, tiered, compressed oops, compact obj headers, g1 gc, linux-ppc64le)
      # Problematic frame:
      # V [libjvm.so+0x79e2e8] frame::setup(frame::kind)+0x588

      Stack: [0x00007fff2e600000,0x00007fff2e800000], sp=0x00007fff2e7faa10, free space=2026k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x79e2e8] frame::setup(frame::kind)+0x588 (codeCache.inline.hpp:43)
      V [libjvm.so+0x11f73d8] JfrVframeStream::next_vframe()+0xa48 (frame_ppc.inline.hpp:102)
      V [libjvm.so+0x11f4c6c] JfrStackTrace::record_inner(JavaThread*, frame const&, bool, int, long) [clone .constprop.0]+0x18c (jfrStackTrace.cpp:222)
      V [libjvm.so+0x11f52b0] JfrStackTrace::record(JavaThread*, frame const&, bool, JfrSampleRequest const&)+0x90 (jfrStackTrace.cpp:177)
      V [libjvm.so+0x1225bf0] drain_enqueued_requests(TimeInstant<CounterRepresentation, FastUnorderedElapsedCounterSource> const&, JfrThreadLocal*, JavaThread*, Thread*)+0x3c0 (jfrThreadSampling.cpp:288)
      V [libjvm.so+0x1226c88] JfrThreadSampling::process_sample_request(JavaThread*)+0x1a8 (jfrThreadSampling.cpp:391)
      V [libjvm.so+0x1a0bc48] SafepointMechanism::process(JavaThread*, bool, bool)+0xe8 (jfr.inline.hpp:41)
      V [libjvm.so+0x1a05710] ThreadSafepointState::handle_polling_page_exception()+0xb00 (safepointMechanism.inline.hpp:90)
      V [libjvm.so+0x1a05ce8] SafepointSynchronize::handle_polling_page_exception(JavaThread*)+0x118 (safepoint.cpp:629)
      v ~SafepointBlob 0x00007fff86ad01c0
      J 1275 c1 jdk.jfr.internal.MetadataWriter.makeAnnotation(Ljdk/jfr/internal/MetadataDescriptor$Element;Ljdk/jfr/AnnotationElement;)V jdk.jfr@26-internal (115 bytes) @ 0x00007fff7f839904 [0x00007fff7f839380+0x0000000000000584]
      J 1280 c1 jdk.jfr.internal.MetadataWriter.makeFieldElement(Ljdk/jfr/internal/MetadataDescriptor$Element;Ljdk/jfr/ValueDescriptor;)V jdk.jfr@26-internal (114 bytes) @ 0x00007fff7f83dda0 [0x00007fff7f83cb00+0x00000000000012a0]
      J 1301 c1 jdk.jfr.internal.MetadataWriter.makeTypeElement(Ljdk/jfr/internal/MetadataDescriptor$Element;Ljdk/jfr/internal/Type;)V jdk.jfr@26-internal (210 bytes) @ 0x00007fff7f844c10 [0x00007fff7f8433c0+0x0000000000001850]
      J 1302 c1 jdk.jfr.internal.MetadataWriter$$Lambda+0x0000016701082000.accept(Ljava/lang/Object;)V jdk.jfr@26-internal (12 bytes) @ 0x00007fff7f840d68 [0x00007fff7f840b40+0x0000000000000228]
      j java.util.ArrayList.forEach(Ljava/util/function/Consumer;)V+46 java.base@26-internal
      j jdk.jfr.internal.MetadataWriter.<init>(Ljdk/jfr/internal/MetadataDescriptor;)V+40 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataDescriptor.write(Ljava/util/List;Ljava/io/DataOutput;)V+78 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataRepository.getBinaryRepresentation()[B+134 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataRepository.storeDescriptorInJVM()V+1 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataRepository.flush()V+8 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder.flush()V+3 jdk.jfr@26-internal
      j jdk.jfr.internal.periodic.FlushTask.execute(JLjdk/jfr/internal/periodic/PeriodicType;)V+10 jdk.jfr@26-internal
      j jdk.jfr.internal.periodic.PeriodicTask.run(JLjdk/jfr/internal/periodic/PeriodicType;)V+15 jdk.jfr@26-internal
      j jdk.jfr.internal.periodic.PeriodicEvents.doPeriodic()J+327 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder.periodicTask()V+47 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder.lambda$startDiskMonitor$0()V+1 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder$$Lambda+0x000001670104c800.run()V+4 jdk.jfr@26-internal
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@26-internal
      j java.lang.Thread.run()V+19 java.base@26-internal
      v ~StubRoutines::Stub Generator call_stub_stub 0x00007fff869c0b44
      V [libjvm.so+0x10aa258] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x588 (javaCalls.cpp:416)
      V [libjvm.so+0x182706c] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*), JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x3c (os_linux.cpp:4910)
      V [libjvm.so+0x10aaaec] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x36c (javaCalls.cpp:324)
      V [libjvm.so+0x10ab1c8] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0xd8 (javaCalls.cpp:186)
      V [libjvm.so+0x12d8da8] thread_entry(JavaThread*, JavaThread*)+0x108 (jvm.cpp:2703)
      V [libjvm.so+0x1108d7c] JavaThread::thread_main_inner()+0x17c (javaThread.cpp:776)
      V [libjvm.so+0x1e89420] Thread::call_run()+0xe0 (thread.cpp:242)
      V [libjvm.so+0x182aa58] thread_native_entry(Thread*)+0x168 (os_linux.cpp:862)
      C [libc.so.6+0xb2014] start_thread+0x184
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      v ~SafepointBlob 0x00007fff86ad01c0
      J 1275 c1 jdk.jfr.internal.MetadataWriter.makeAnnotation(Ljdk/jfr/internal/MetadataDescriptor$Element;Ljdk/jfr/AnnotationElement;)V jdk.jfr@26-internal (115 bytes) @ 0x00007fff7f839904 [0x00007fff7f839380+0x0000000000000584]
      J 1280 c1 jdk.jfr.internal.MetadataWriter.makeFieldElement(Ljdk/jfr/internal/MetadataDescriptor$Element;Ljdk/jfr/ValueDescriptor;)V jdk.jfr@26-internal (114 bytes) @ 0x00007fff7f83dda0 [0x00007fff7f83cb00+0x00000000000012a0]
      J 1301 c1 jdk.jfr.internal.MetadataWriter.makeTypeElement(Ljdk/jfr/internal/MetadataDescriptor$Element;Ljdk/jfr/internal/Type;)V jdk.jfr@26-internal (210 bytes) @ 0x00007fff7f844c10 [0x00007fff7f8433c0+0x0000000000001850]
      J 1302 c1 jdk.jfr.internal.MetadataWriter$$Lambda+0x0000016701082000.accept(Ljava/lang/Object;)V jdk.jfr@26-internal (12 bytes) @ 0x00007fff7f840d68 [0x00007fff7f840b40+0x0000000000000228]
      j java.util.ArrayList.forEach(Ljava/util/function/Consumer;)V+46 java.base@26-internal
      j jdk.jfr.internal.MetadataWriter.<init>(Ljdk/jfr/internal/MetadataDescriptor;)V+40 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataDescriptor.write(Ljava/util/List;Ljava/io/DataOutput;)V+78 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataRepository.getBinaryRepresentation()[B+134 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataRepository.storeDescriptorInJVM()V+1 jdk.jfr@26-internal
      j jdk.jfr.internal.MetadataRepository.flush()V+8 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder.flush()V+3 jdk.jfr@26-internal
      j jdk.jfr.internal.periodic.FlushTask.execute(JLjdk/jfr/internal/periodic/PeriodicType;)V+10 jdk.jfr@26-internal
      j jdk.jfr.internal.periodic.PeriodicTask.run(JLjdk/jfr/internal/periodic/PeriodicType;)V+15 jdk.jfr@26-internal
      j jdk.jfr.internal.periodic.PeriodicEvents.doPeriodic()J+327 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder.periodicTask()V+47 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder.lambda$startDiskMonitor$0()V+1 jdk.jfr@26-internal
      j jdk.jfr.internal.PlatformRecorder$$Lambda+0x000001670104c800.run()V+4 jdk.jfr@26-internal
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@26-internal
      j java.lang.Thread.run()V+19 java.base@26-internal
      v ~StubRoutines::Stub Generator call_stub_stub 0x00007fff869c0b44

            Assignee:
            Markus Grönlund
            Reporter:
            Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: