hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in generated class

Remi Forax forax at univ-mlv.fr
Tue Jul 17 14:08:08 UTC 2018


I've the same one while trying to re-run the tests.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fc2004a330e, pid=6471, tid=6491
#
# JRE version: OpenJDK Runtime Environment (11.0) (build 11-internal+0-adhoc.travis.valhalla)
# Java VM: OpenJDK 64-Bit Server VM (11-internal+0-adhoc.travis.valhalla, mixed mode, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x88430e]  java_lang_String::create_from_symbol(Symbol*, Thread*)+0x1e
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %e" (or dumping to /home/forax/git/valuetype-lworld/core.6471)
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -XX:+EnableValhalla --module-path=target/test/artifact:deps -Djdk.module.main=fr.umlv.valuetype -XX:+EnableValhalla -XX:CompileCommandFile=/tmp/jmh171386483904743367compilecommand org.openjdk.jmh.runner.ForkedMain 127.0.0.1 36393

Host: Intel(R) Core(TM) i7-7560U CPU @ 2.40GHz, 4 cores, 15G, Fedora release 27 (Twenty Seven)
Time: Tue Jul 17 15:45:32 2018 CEST elapsed time: 2 seconds (0d 0h 0m 2s)

---------------  T H R E A D  ---------------

Current thread (0x00007fc1f8400000):  JavaThread "fr.umlv.valuetype.perf.ReifiedListBenchMark.valuelist_intbox_reduce-jmh-worker-1" daemon [_thread_in_vm, id=6491, stack(0x00007fc1d8db1000,0x00007fc1d8eb2000)]

Stack: [0x00007fc1d8db1000,0x00007fc1d8eb2000],  sp=0x00007fc1d8eaeee0,  free space=1015k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x88430e]  java_lang_String::create_from_symbol(Symbol*, Thread*)+0x1e
V  [libjvm.so+0x91c173]  JVM_GetLocalValueTypes+0x113
j  java.lang.Class.getLocalValueTypes0()[Ljava/lang/String;+0 java.base at 11-internal
j  java.lang.Class.getDeclaredValueTypeNames()Ljava/util/Set;+10 java.base at 11-internal
j  java.lang.System$2.getDeclaredValueTypeNames(Ljava/lang/Class;)Ljava/util/Set;+1 java.base at 11-internal
j  java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass()Ljava/lang/Class;+439 java.base at 11-internal
j  java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite()Ljava/lang/invoke/CallSite;+1 java.base at 11-internal
j  java.lang.invoke.LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;+31 java.base at 11-internal
j  java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base at 11-internal
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 at 11-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 at 11-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 at 11-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 at 11-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 at 11-internal
v  ~StubRoutines::call_stub
V  [libjvm.so+0x881fcf]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x38f
V  [libjvm.so+0x880d40]  JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x130
V  [libjvm.so+0xd1ea07]  SystemDictionary::find_dynamic_call_site_invoker(Klass*, int, Handle, Symbol*, Symbol*, Handle*, Handle*, Thread*)+0x487
V  [libjvm.so+0xa3cf3a]  LinkResolver::resolve_dynamic_call(CallInfo&, int, Handle, Symbol*, Symbol*, Klass*, Thread*)+0x5a
V  [libjvm.so+0xa3d4c3]  LinkResolver::resolve_invokedynamic(CallInfo&, constantPoolHandle const&, int, Thread*)+0x4a3
V  [libjvm.so+0xa42b3e]  LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x4ee
V  [libjvm.so+0x873921]  InterpreterRuntime::resolve_invokedynamic(JavaThread*)+0xf1
V  [libjvm.so+0x875c75]  InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0xa5
j  fr.umlv.valuetype.perf.ReifiedListBenchMark.valuelist_intbox_reduce()I+7 fr.umlv.valuetype at 1.0
j  fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_avgt_jmhStub(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/results/RawResults;Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/infra/ThreadParams;Lorg/openjdk/jmh/infra/Blackhole;Lorg/openjdk/jmh/infra/Control;ILfr/umlv/valuetype/perf/generated/ReifiedListBenchMark_jmhType;)V+17 fr.umlv.valuetype at 1.0
j  fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_AverageTime(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/infra/ThreadParams;)Lorg/openjdk/jmh/results/BenchmarkTaskResult;+144 fr.umlv.valuetype at 1.0
v  ~StubRoutines::call_stub
V  [libjvm.so+0x881fcf]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x38f
V  [libjvm.so+0xc5eb03]  invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*) [clone .isra.155]+0x603
V  [libjvm.so+0xc60c58]  Reflection::invoke_method(oopDesc*, Handle, objArrayHandle, Thread*)+0x128
V  [libjvm.so+0x923eb4]  JVM_InvokeMethod+0x194
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base at 11-internal
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base at 11-internal
j  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base at 11-internal
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base at 11-internal
j  org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Lorg/openjdk/jmh/results/BenchmarkTaskResult;+50 org.openjdk.jmh
j  org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Ljava/lang/Object;+1 org.openjdk.jmh
j  java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal
j  java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 java.base at 11-internal
j  java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base at 11-internal
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base at 11-internal
j  java.lang.Thread.run()V+11 java.base at 11-internal
v  ~StubRoutines::call_stub
V  [libjvm.so+0x881fcf]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x38f
V  [libjvm.so+0x87ffa0]  JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0x200
V  [libjvm.so+0x918fee]  thread_entry(JavaThread*, Thread*)+0x8e
V  [libjvm.so+0xd5e1c8]  JavaThread::thread_main_inner()+0xf8
V  [libjvm.so+0xd5e938]  JavaThread::run()+0x2a8
V  [libjvm.so+0xbcb1b2]  thread_native_entry(Thread*)+0xf2

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.Class.getLocalValueTypes0()[Ljava/lang/String;+0 java.base at 11-internal
j  java.lang.Class.getDeclaredValueTypeNames()Ljava/util/Set;+10 java.base at 11-internal
j  java.lang.System$2.getDeclaredValueTypeNames(Ljava/lang/Class;)Ljava/util/Set;+1 java.base at 11-internal
j  java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass()Ljava/lang/Class;+439 java.base at 11-internal
j  java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite()Ljava/lang/invoke/CallSite;+1 java.base at 11-internal
j  java.lang.invoke.LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;+31 java.base at 11-internal
j  java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base at 11-internal
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 at 11-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 at 11-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 at 11-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 at 11-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 at 11-internal
v  ~StubRoutines::call_stub
j  fr.umlv.valuetype.perf.ReifiedListBenchMark.valuelist_intbox_reduce()I+7 fr.umlv.valuetype at 1.0
j  fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_avgt_jmhStub(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/results/RawResults;Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/infra/ThreadParams;Lorg/openjdk/jmh/infra/Blackhole;Lorg/openjdk/jmh/infra/Control;ILfr/umlv/valuetype/perf/generated/ReifiedListBenchMark_jmhType;)V+17 fr.umlv.valuetype at 1.0
j  fr.umlv.valuetype.perf.generated.ReifiedListBenchMark_valuelist_intbox_reduce_jmhTest.valuelist_intbox_reduce_AverageTime(Lorg/openjdk/jmh/runner/InfraControl;Lorg/openjdk/jmh/infra/ThreadParams;)Lorg/openjdk/jmh/results/BenchmarkTaskResult;+144 fr.umlv.valuetype at 1.0
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 at 11-internal
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base at 11-internal
j  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base at 11-internal
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base at 11-internal
j  org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Lorg/openjdk/jmh/results/BenchmarkTaskResult;+50 org.openjdk.jmh
j  org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call()Ljava/lang/Object;+1 org.openjdk.jmh
j  java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal
j  java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 java.base at 11-internal
j  java.util.concurrent.FutureTask.run()V+39 java.base at 11-internal
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base at 11-internal
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base at 11-internal
j  java.lang.Thread.run()V+11 java.base at 11-internal
v  ~StubRoutines::call_stub

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000

Register to memory mapping:

RAX=0x0000000000000020 is an unknown value
RBX=0x00007fc1f8400000 is a thread
RCX=0x00007fc1d8eaeee0 is pointing into the stack for thread: 0x00007fc1f8400000
RDX=0x00007fc1d8eaeef0 is pointing into the stack for thread: 0x00007fc1f8400000
RSP=0x00007fc1d8eaeee0 is pointing into the stack for thread: 0x00007fc1f8400000
RBP=0x00007fc1d8eaef20 is pointing into the stack for thread: 0x00007fc1f8400000
RSI=0x00007fc1f8400000 is a thread
RDI=0x0 is NULL
R8 =0x000000000000000b is an unknown value
R9 =0x0000000000000074 is an unknown value
R10=0x0000000000000040 is an unknown value
R11=0x00007fc2017fbf80: <offset 0x0000000000174f80> in /lib64/libc.so.6 at 0x00007fc201687000
R12=0x00007fc1ecae9088 is pointing into metadata
R13=0x0000000000000006 is an unknown value
R14=0x0000000000000003 is an unknown value
R15=0x00007fc1f8400000 is a thread


Registers:
RAX=0x0000000000000020, RBX=0x00007fc1f8400000, RCX=0x00007fc1d8eaeee0, RDX=0x00007fc1d8eaeef0
RSP=0x00007fc1d8eaeee0, RBP=0x00007fc1d8eaef20, RSI=0x00007fc1f8400000, RDI=0x0000000000000000
R8 =0x000000000000000b, R9 =0x0000000000000074, R10=0x0000000000000040, R11=0x00007fc2017fbf80
R12=0x00007fc1ecae9088, R13=0x0000000000000006, R14=0x0000000000000003, R15=0x00007fc1f8400000
RIP=0x00007fc2004a330e, EFLAGS=0x0000000000010202, CSGSFS=0x002b000000000033, ERR=0x0000000000000004
  TRAPNO=0x000000000000000e

Top of Stack: (sp=0x00007fc1d8eaeee0)
0x00007fc1d8eaeee0:   00007fc1ec4ab700 50eead9f798dda00
0x00007fc1d8eaeef0:   00000007074c9c01 00007fc1f8400000
0x00007fc1d8eaef00:   00007fc1f8400000 00007fc1ecae9088
0x00007fc1d8eaef10:   0000000000000002 0000000000000003 

Instructions: (pc=0x00007fc2004a330e)
0x00007fc2004a32ee:   00 00 55 48 89 e5 41 56 48 8d 4d c0 48 8d 55 d0
0x00007fc2004a32fe:   41 55 4c 8d 6f 06 41 54 53 48 89 f3 48 83 ec 20
0x00007fc2004a330e:   0f b7 37 4c 89 ef e8 87 51 50 00 4c 63 e0 48 8d
0x00007fc2004a331e:   05 85 56 b1 00 80 38 00 74 28 0f b6 75 d0 48 89 

Rémi

----- Mail original -----
> De: "Tobias Hartmann" <tobias.hartmann at oracle.com>
> À: "mandy chung" <mandy.chung at oracle.com>, "valhalla-dev" <valhalla-dev at openjdk.java.net>
> Envoyé: Mardi 17 Juillet 2018 15:42:45
> Objet: Re: hg: valhalla/valhalla: 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute in
> generated class

> Hi Mandy,
> 
> I think this change broke the compiler tests:
> https://bugs.openjdk.java.net/browse/JDK-8207401
> 
> Thanks,
> Tobias
> 
> On 16.07.2018 23:29, mandy.chung at oracle.com wrote:
>> Changeset: b0224b61fd22
>> Author:    mchung
>> Date:      2018-07-16 14:29 -0700
>> URL:       http://hg.openjdk.java.net/valhalla/valhalla/rev/b0224b61fd22
>> 
>> 8207194: [lworld] Update InnerClassLambdaMetafactory to add ValueTypes attribute
>> in generated class
>> Reviewed-by: forax, hseigel
>> 
>> ! make/hotspot/symbols/symbols-unix
>> ! src/hotspot/share/include/jvm.h
>> ! src/hotspot/share/oops/constantPool.cpp
>> ! src/hotspot/share/oops/instanceKlass.cpp
>> ! src/hotspot/share/prims/jvm.cpp
>> ! src/java.base/share/classes/java/lang/Class.java
>> ! src/java.base/share/classes/java/lang/System.java
>> ! src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
>> ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java
>> ! src/java.base/share/native/libjava/Class.c


More information about the valhalla-dev mailing list