Relates :
|
|
Relates :
|
|
Relates :
|
If the VM is built with -fno-elide-constructors (for example, by configuring with --with-extra-cxxflags=-fno-elide-constructors), running hotspot:tier1 tests gets the following test failure due to a failed assertion: compiler/intrinsics/klass/CastNullCheckDroppingsTest.java fails with # Internal Error (../../src/hotspot/share/jfr/utilities/jfrVersionSystem.inline.hpp:98), pid=31086, tid=31713 # assert(node->_live) failed: invariant This suggests there is a problem with a copy-ctor or assignment operator that is otherwise (without -fno-elide-constructors) optimized away. We shouldn't be relying on copy elision until C++17 makes it mandatory. Stack trace for the crash: Stack: [0x00007fdb172fa000,0x00007fdb173fb000], sp=0x00007fdb173f8960, free space=1018k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0xf1f0bb] JfrConcurrentLinkedListHost<JfrConcurrentQueue<JfrBuffer, JfrCHeapObj>, HeadNode, JfrCHeapObj>::insert_tail(JfrBuffer*, JfrBuffer* , JfrBuffer*, JfrBuffer const*) const+0xeb V [libjvm.so+0xfac707] JfrStorage::initialize()+0x3d7 V [libjvm.so+0xf95879] JfrRecorder::create_components()+0x359 V [libjvm.so+0xf95db2] JfrRecorder::create(bool)+0x42 V [libjvm.so+0xf5c0cf] jfr_create_jfr+0x3df j jdk.jfr.internal.JVM.createJFR(Z)Z+0 jdk.jfr@17-internal j jdk.jfr.internal.JVM.createNativeJFR()V+3 jdk.jfr@17-internal j jdk.jfr.internal.PlatformRecorder.<init>()V+48 jdk.jfr@17-internal j jdk.jfr.FlightRecorder.getFlightRecorder()Ljdk/jfr/FlightRecorder;+25 jdk.jfr@17-internal j jdk.jfr.Recording.<init>(Ljava/util/Map;)V+14 jdk.jfr@17-internal j jdk.jfr.Recording.<init>()V+8 jdk.jfr@17-internal j compiler.intrinsics.klass.CastNullCheckDroppingsTest.runTest(Ljava/lang/reflect/Method;ZLjava/lang/Object;)V+27 j compiler.intrinsics.klass.CastNullCheckDroppingsTest.main([Ljava/lang/String;)V+155 v ~StubRoutines::call_stub V [libjvm.so+0xed9b5e] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x5ae V [libjvm.so+0x17c964a] invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*) [clone .constprop.0]+0xfda V [libjvm.so+0x17cacaf] Reflection::invoke_method(oop, Handle, objArrayHandle, Thread*)+0x1bf V [libjvm.so+0x10b462f] JVM_InvokeMethod+0x21f j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@17-internal j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+146 java.base@17-internal j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@17-internal j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base@17-internal j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+172 j java.lang.Thread.run()V+11 java.base@17-internal v ~StubRoutines::call_stub V [libjvm.so+0xed9b5e] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x5ae V [libjvm.so+0xeda549] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x4b9 V [libjvm.so+0xedaa72] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0xb2 V [libjvm.so+0x108e5b3] thread_entry(JavaThread*, Thread*)+0x143 V [libjvm.so+0x19f91db] JavaThread::thread_main_inner()+0x40b V [libjvm.so+0x1a00080] Thread::call_run()+0x100 V [libjvm.so+0x16b0e66] thread_native_entry(Thread*)+0x116 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j jdk.jfr.internal.JVM.createJFR(Z)Z+0 jdk.jfr@17-internal j jdk.jfr.internal.JVM.createNativeJFR()V+3 jdk.jfr@17-internal j jdk.jfr.internal.PlatformRecorder.<init>()V+48 jdk.jfr@17-internal j jdk.jfr.FlightRecorder.getFlightRecorder()Ljdk/jfr/FlightRecorder;+25 jdk.jfr@17-internal j jdk.jfr.Recording.<init>(Ljava/util/Map;)V+14 jdk.jfr@17-internal j jdk.jfr.Recording.<init>()V+8 jdk.jfr@17-internal j compiler.intrinsics.klass.CastNullCheckDroppingsTest.runTest(Ljava/lang/reflect/Method;ZLjava/lang/Object;)V+27 j compiler.intrinsics.klass.CastNullCheckDroppingsTest.main([Ljava/lang/String;)V+155 v ~StubRoutines::call_stub j jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@17-internal j jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+146 java.base@17-internal j jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@17-internal j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base@17-internal j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+172 j java.lang.Thread.run()V+11 java.base@17-internal v ~StubRoutines::call_stub
|