Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8258764 | 17 | Richard Reingruber | P3 | Resolved | Fixed | b03 |
JDK-8260180 | 16.0.1 | Richard Reingruber | P3 | Resolved | Fixed | b03 |
Reproduce (also w/o -XX:+Verbose which was removed with
make run-test TEST=runtime/logging/RedefineClasses.java
Analysis:
With optimized builds the frame returned by os::current_frame() is one frame too
high because the call os::current_stack_pointer() is inlined.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/sapmnt/sapjvm_work/openjdk/nb/linuxppc64/jdk/src/hotspot/cpu/ppc/methodHandles_ppc.cpp:521), pid=15547, tid=15550
# assert(cur_frame.sp() <= saved_regs) failed: registers not saved on stack ?
#
# JRE version: OpenJDK Runtime Environment (16.0.0.1) (fastdebug build 16.0.0.1-internal+0-adhoc.openjdk.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 16.0.0.1-internal+0-adhoc.openjdk.jdk, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-ppc64)
# Problematic frame:
# V [libjvm.so+0x173863c] trace_method_handle_stub(char const*, oopDesc*, long*, long*)+0x96c
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e" (or dumping to /priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/JTwork/runtime/logging/RedefineClasses/core.15547)
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
--------------- S U M M A R Y ------------
Command Line: -Dtest.vm.opts=-Xmx768m -Djava.awt.headless=true -Djava.util.prefs.userRoot=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/tmp -Djava.io.tmpdir=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/tmp -ea -esa -Dtest.tool.vm.opts=-J-Xmx768m -J-Djava.awt.headless=true -J-Djava.util.prefs.userRoot=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/tmp -J-Djava.io.tmpdir=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/tmp -J-ea -J-esa -Dtest.compiler.opts= -Dtest.java.opts= -Dtest.jdk=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/sapjvm_16 -Dcompile.jdk=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/sapjvm_16 -Dtest.timeout.factor=6.0 -Dtest.nativepath=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/hotspot/jtreg/native -Dtest.root=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/hotspot/jtreg -Dtest.name=runtime/logging/RedefineClasses.java -Dtest.file=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/hotspot/jtreg/runtime/logging/RedefineClasses.java -Dtest.src=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/hotspot/jtreg/runtime/logging -Dtest.src.path=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/hotspot/jtreg/runtime/logging:/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/lib -Dtest.classes=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/JTwork/classes/runtime/logging/RedefineClasses.d -Dtest.class.path=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/JTwork/classes/runtime/logging/RedefineClasses.d:/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/JTwork/classes/test/lib -Dtest.modules=java.compiler java.instrument --add-modules=java.compiler,java.instrument -Xmx768m -Djava.awt.headless=true -Djava.util.prefs.userRoot=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/tmp -Djava.io.tmpdir=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/tmp -ea -esa -Djava.library.path=/priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/grmpf/testdata/jtreg/jtreg_test_16/test/hotspot/jtreg/native -Xmx256m -XX:MaxMetaspaceSize=64m -javaagent:redefineagent.jar -XX:+Verbose -Xlog:all=trace:file=all.log com.sun.javatest.regtest.agent.MainWrapper /priv/jvmtests/output_openjdk16_stage_dbgU_linuxppc64/jtreg_hotspot_tier1_work/JTwork/runtime/logging/RedefineClasses.d/main.1.jta
Host: ls3881, POWER8 (architected), altivec supported, 32 cores, 61G, Red Hat Enterprise Linux Server release 7.7 (Maipo)
Time: Sun Nov 22 07:13:09 2020 CET elapsed time: 1.983203 seconds (0d 0h 0m 1s)
--------------- T H R E A D ---------------
Current thread (0x00003fffac031c10): JavaThread "main" [_thread_in_Java, id=15550, stack(0x00003fffb0f70000,0x00003fffb1170000)]
Stack: [0x00003fffb0f70000,0x00003fffb1170000], sp=0x00003fffb116c480, free space=2033k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x173863c] trace_method_handle_stub(char const*, oopDesc*, long*, long*)+0x96c
v ~BufferBlob::MethodHandles adapters
j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+28 java.base@16.0.0.1-internal
j java.lang.invoke.BootstrapMethodInvoker.invoke(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+262 java.base@16.0.0.1-internal
j java.lang.invoke.CallSite.makeSite(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;+8 java.base@16.0.0.1-internal
j java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+6 java.base@16.0.0.1-internal
j java.lang.invoke.MethodHandleNatives.linkCallSite(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+46 java.base@16.0.0.1-internal
v ~StubRoutines::call_stub
V [libjvm.so+0x11c1de4] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x6e4
V [libjvm.so+0x184ed94] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x44
V [libjvm.so+0x11c2eec] JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x33c
V [libjvm.so+0x1b32afc] SystemDictionary::invoke_bootstrap_method(BootstrapInfo&, Thread*)+0x30c
V [libjvm.so+0x157a224] LinkResolver::resolve_dynamic_call(CallInfo&, BootstrapInfo&, Thread*)+0x44
V [libjvm.so+0x157a8f8] LinkResolver::resolve_invokedynamic(CallInfo&, constantPoolHandle const&, int, Thread*)+0x1e8
V [libjvm.so+0x1585fc8] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x2e8
V [libjvm.so+0x11ac55c] InterpreterRuntime::resolve_invokedynamic(JavaThread*)+0x14c
V [libjvm.so+0x11b1108] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x208
j jdk.internal.module.DefaultRoots.compute(Ljava/lang/module/ModuleFinder;Ljava/lang/module/ModuleFinder;)Ljava/util/Set;+11 java.base@16.0.0.1-internal
j jdk.internal.module.ModuleBootstrap.boot2()Ljava/lang/ModuleLayer;+715 java.base@16.0.0.1-internal
j jdk.internal.module.ModuleBootstrap.boot()Ljava/lang/ModuleLayer;+77 java.base@16.0.0.1-internal
j java.lang.System.initPhase2(ZZ)I+0 java.base@16.0.0.1-internal
v ~StubRoutines::call_stub
V [libjvm.so+0x11c1de4] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x6e4
V [libjvm.so+0x184ed94] os::os_exception_wrapper(void (*)(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*), JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x44
V [libjvm.so+0x11c2eec] JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x33c
V [libjvm.so+0x1b8da6c] Threads::create_vm(JavaVMInitArgs*, bool*)+0x72c
V [libjvm.so+0x13574b0] JNI_CreateJavaVM+0xff1f02a0
C [libjli.so+0x6408] JavaMain+0xc8
C [libjli.so+0xaa30] ThreadJavaMain+0x10
C [libpthread.so.0+0xc460] start_thread+0x100
- backported by
-
JDK-8258764 [PPC64] runtime/logging/RedefineClasses.java fails with assert: registers not saved on stack
-
- Resolved
-
-
JDK-8260180 [PPC64] runtime/logging/RedefineClasses.java fails with assert: registers not saved on stack
-
- Resolved
-
- relates to
-
JDK-8246378 [Windows] assert on MethodHandle logging code
-
- Resolved
-
-
JDK-8256822 runtime/logging/RedefineClasses.java fails with "Error: VM option 'Verbose' is develop and is available only in debug version of VM."
-
- Resolved
-
- links to
-
Commit openjdk/jdk16/1ce2e94f
-
Review openjdk/jdk16/24
-
Review openjdk/jdk/1394
-
Review openjdk/jdk/1724