-
Bug
-
Resolution: Fixed
-
P3
-
12
-
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
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
- relates to
-
JDK-8212155 Race condition when posting dynamic_code_generated event leads to JVM crash
- Resolved
-
JDK-8216461 jfrRepository.cpp write_emergency_file doesn't handle errors from os::read_at
- Closed
-
JDK-8183227 read/write APIs in class os shall return ssize_t
- Resolved