Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8214816

os::read() should not transition to _thread_blocked with safepoint check on Solaris

XMLWordPrintable

    • b04
    • solaris

      Kitchensink with enabled JVMTI failed with crash from https://bugs.openjdk.java.net/browse/JDK-8212155

      However, stacktrace also contains also jfr error while dumping jfr file. File itself is empty.

      The hs_err is:
      --------------- T H R E A D ---------------

      Current thread (0x000000010137d800): JavaThread "ThreadDumperStressModule" [_thread_in_vm, id=37, stack(0xffffffff2ef00000,0xffffffff2f000000)]

      Stack: [0xffffffff2ef00000,0xffffffff2f000000], sp=0xffffffff2effb750, free space=1005k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x2425464] void VMError::report_and_die(int,const char*,const char*,void*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x964
      V [libjvm.so+0x2424a88] void VMError::report_and_die(Thread*,void*,const char*,int,const char*,const char*,void*)+0x38
      V [libjvm.so+0x14681f8] void report_fatal(const char*,int,const char*,...)+0x88
      V [libjvm.so+0x1f423f0] void Monitor::set_owner_implementation(Thread*)+0x200
      V [libjvm.so+0x2157438] void SafepointSynchronize::block(JavaThread*)+0x1e8
      V [libjvm.so+0x1ff1158] unsigned long os::read_at(int,void*,unsigned,long)+0x228
      V [libjvm.so+0x1878400] void write_emergency_file(int,const RepositoryIterator&)+0x150
      V [libjvm.so+0x1878d40] void JfrRepository::on_vm_error()+0x1b0
      V [libjvm.so+0x187236c] void JfrRecorderService::rotate(int)+0x25c
      V [libjvm.so+0x1829670] void JfrEmergencyDump::on_vm_shutdown(bool)+0x1e0
      V [libjvm.so+0x2424dec] void VMError::report_and_die(int,const char*,const char*,void*,Thread*,unsigned char*,void*,void*,const char*,int,unsigned long)+0x2ec
      V [libjvm.so+0x2424a88] void VMError::report_and_die(Thread*,void*,const char*,int,const char*,const char*,void*)+0x38
      V [libjvm.so+0x14680d0] void report_vm_error(const char*,int,const char*,const char*,...)+0x80
      V [libjvm.so+0x1cda868] void JvmtiExport::post_dynamic_code_generated_while_holding_locks(const char*,unsigned char*,unsigned char*)+0xd8
      V [libjvm.so+0x246e9d0] unsigned char*VtableStubs::find_stub(bool,int)+0x230
      V [libjvm.so+0x1391604] bool CompiledIC::set_to_megamorphic(CallInfo*,Bytecodes::Code,Thread*)+0x1d4
      V [libjvm.so+0x2173fdc] methodHandle SharedRuntime::handle_ic_miss_helper(JavaThread*,Thread*)+0xd4c
      V [libjvm.so+0x21719fc] unsigned char*SharedRuntime::handle_wrong_method_ic_miss(JavaThread*)+0x2dc
      v ~RuntimeStub::ic_miss_stub
      J 47728 c2 java.util.stream.Sink$ChainedReference.end()V java.base@12-internal (10 bytes) @ 0xffffffff69a4d14c [0xffffffff69a4d0c0+0x000000000000008c]
      j java.util.stream.AbstractPipeline.copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V+38 java.base@12-internal
      j java.util.stream.AbstractPipeline.wrapAndCopyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;+13 java.base@12-internal
      J 13888 c1 java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object; java.base@12-internal (18 bytes) @ 0xffffffff62ab15dc [0xffffffff62ab1340+0x000000000000029c]
      j java.util.stream.AbstractPipeline.evaluate(Ljava/util/stream/TerminalOp;)Ljava/lang/Object;+88 java.base@12-internal
      j java.util.stream.ReferencePipeline.reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;+5 java.base@12-internal
      j java.lang.management.ManagementFactory$PlatformMBeanFinder.findSingleton(Ljava/lang/Class;)Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;+35 java.management@12-internal
      j java.lang.management.ManagementFactory.getPlatformMXBean(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;+1 java.management@12-internal
      j java.lang.management.ManagementFactory.getThreadMXBean()Ljava/lang/management/ThreadMXBean;+2 java.management@12-internal
      j applications.kitchensink.process.stress.modules.ThreadDumperStressModule.dumpThreads()Ljava/lang/String;+0
      j applications.kitchensink.process.stress.modules.ThreadDumperStressModule.execute()V+30
      j applications.kitchensink.process.stress.modules.StressModule.run()V+109
      v ~StubRoutines::call_stub
      V [libjvm.so+0x17db508] void JavaCalls::call_helper(JavaValue*,const methodHandle&,JavaCallArguments*,Thread*)+0x5e8
      V [libjvm.so+0x17d9a70] void JavaCalls::call_virtual(JavaValue*,Klass*,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x1e0
      V [libjvm.so+0x17d9ba8] void JavaCalls::call_virtual(JavaValue*,Handle,Klass*,Symbol*,Symbol*,Thread*)+0xb8
      V [libjvm.so+0x19a3414] void thread_entry(JavaThread*,Thread*)+0x1e4
      V [libjvm.so+0x23428fc] void JavaThread::thread_main_inner()+0x2bc
      V [libjvm.so+0x233b548] void Thread::call_run()+0x128
      V [libjvm.so+0x1fe8c54] thread_native_entry+0x3e4

            dholmes David Holmes
            lmesnik Leonid Mesnik
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: