Frequent c1 compiler errors running IntelliJ with Openjdk 15 (JavaCallWrapper::JavaCallWrapper - failed: cannot make java calls from the native compiler)
Aleksei Voitylov
aleksei.voitylov at bell-sw.com
Wed Jan 27 12:05:13 UTC 2021
Clemens, which version of IntelliJ are you on? I'm asking because
another manifestation of this issue was fixed in JBR-1884.
That said, I don't believe we have ruled out all possibilities for the
cause of these crashes with JDK-8217765. I plan to submit an issue with
another attempt to fix this on the jni.cpp side, but your stack seems to
show yet another problem.
-Aleksei
On 27/01/2021 14:46, Vladimir Ivanov wrote:
> (CCing hotspot-runtime-dev since it is related to nestmates support.)
>
> Hi Clemens,
>
> It does look very similar to JDK-8217765 [1], but the bug was fixed
> long time ago.
>
> Please, file new bug.
>
> Best regards,
> Vladimir Ivanov
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8217765
>
> On 27.01.2021 13:53, Clemens Eisserer wrote:
>> Hi,
>>
>> Since I started using IntelliJ for working on the java2d opengl
>> backend I
>> get internal errors in C1, in the method
>> JavaCallWrapper::JavaCallWrapper:
>> https://pastebin.com/rbNLeAvL
>> I observed those crashes with both - fedora bundled openjdk as well
>> as with
>> a build of adoptopenjdk:
>>
>> Fedora-33:
>> openjdk version "15.0.1" 2020-10-20
>> OpenJDK Runtime Environment 20.9 (build 15.0.1+9)
>> AdoptOpenJDK:
>> openjdk version "15.0.2" 2021-01-19
>> OpenJDK Runtime Environment AdoptOpenJDK (build 15.0.2+7)
>>
>> The crash log looks quite equal each time (log attached).
>>
>> I wonder, is this a known problem - is should I report it?
>>
>> Thanks, Clemens
>>
>> # Internal Error (javaCalls.cpp:60), pid=35643, tid=35656
>> # guarantee(thread->can_call_java()) failed: cannot make java calls from
>> the native compiler
>> #
>>
>> Current CompileTask:
>> C1: 485187 64127 3
>> com.intellij.codeInspection.sameParameterValue.SameParameterValueInspection$LocalSameParameterValueInspection$1::visitMethod
>>
>> (362 bytes)
>>
>> Stack: [0x00007fe2fc0fb000,0x00007fe2fc1fc000], sp=0x00007fe2fc1f8fc0,
>> 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+0x7ded64] JavaCallWrapper::JavaCallWrapper(methodHandle
>> const&, Handle, JavaValue*, Thread*)+0x1c4
>> V [libjvm.so+0x7e2253] JavaCalls::call_helper(JavaValue*, methodHandle
>> const&, JavaCallArguments*, Thread*)+0x183
>> V [libjvm.so+0x7e066c] JavaCalls::call_special(JavaValue*, Handle,
>> Klass*, Symbol*, Symbol*, Handle, Handle, Thread*)+0x1cc
>> V [libjvm.so+0xdfe55d]
>> SystemDictionary::validate_protection_domain(InstanceKlass*, Handle,
>> Handle, Thread*)+0x20d
>> V [libjvm.so+0xe0113c]
>> SystemDictionary::resolve_instance_class_or_null(Symbol*, Handle,
>> Handle,
>> Thread*)+0xb1c
>> V [libjvm.so+0xe012ea]
>> SystemDictionary::resolve_instance_class_or_null_helper(Symbol*,
>> Handle,
>> Handle, Thread*)+0x2a
>> V [libjvm.so+0xe026ce] SystemDictionary::resolve_or_fail(Symbol*,
>> Handle,
>> Handle, bool, Thread*)+0x2e
>> V [libjvm.so+0x598baf] ConstantPool::klass_at_impl(constantPoolHandle
>> const&, int, bool, Thread*)+0xdf
>> V [libjvm.so+0x7bf7e0] ConstantPool::klass_at(int, Thread*)+0x60
>> V [libjvm.so+0x7b9d17] InstanceKlass::has_nest_member(InstanceKlass*,
>> Thread*) const+0x397
>> V [libjvm.so+0x7bbbbe] InstanceKlass::nest_host(Thread*) [clone
>> .part.349]+0x3ae
>> V [libjvm.so+0x7bbd1c]
>> InstanceKlass::has_nestmate_access_to(InstanceKlass*, Thread*)+0x4c
>> V [libjvm.so+0xc5b707] Reflection::verify_member_access(Klass const*,
>> Klass const*, Klass const*, AccessFlags, bool, bool, Thread*)+0x207
>> V [libjvm.so+0xa17b21]
>> LinkResolver::check_method_accessability(Klass*,
>> Klass*, Klass*, methodHandle const&, Thread*)+0x61
>> V [libjvm.so+0xa18776] LinkResolver::resolve_method(LinkInfo const&,
>> Bytecodes::Code, Thread*)+0x3e6
>> V [libjvm.so+0xa1b947]
>> LinkResolver::linktime_resolve_virtual_method(LinkInfo const&,
>> Thread*)+0x27
>> V [libjvm.so+0xa1bbb2]
>> LinkResolver::linktime_resolve_virtual_method_or_null(LinkInfo
>> const&)+0x32
>> V [libjvm.so+0x4d137c]
>> ciEnv::get_method_by_index_impl(constantPoolHandle
>> const&, int, Bytecodes::Code, ciInstanceKlass*)+0x3ec
>> V [libjvm.so+0x4d1910] ciEnv::get_method_by_index(constantPoolHandle
>> const&, int, Bytecodes::Code, ciInstanceKlass*)+0x310
>> V [libjvm.so+0x4f58ee] ciBytecodeStream::get_method(bool&,
>> ciSignature**)+0x11e
>> V [libjvm.so+0x407323] GraphBuilder::invoke(Bytecodes::Code)+0x33
>> V [libjvm.so+0x409667]
>> GraphBuilder::iterate_bytecodes_for_block(int)+0x10b7
>> V [libjvm.so+0x40b0d4] GraphBuilder::iterate_all_blocks(bool)+0x174
>> V [libjvm.so+0x40cf30] GraphBuilder::GraphBuilder(Compilation*,
>> IRScope*)+0x440
>> V [libjvm.so+0x410a72] IRScope::IRScope(Compilation*, IRScope*, int,
>> ciMethod*, int, bool)+0x1d2
>> V [libjvm.so+0x4116b6] IR::IR(Compilation*, ciMethod*, int)+0xa6
>> V [libjvm.so+0x3f1586] Compilation::build_hir() [clone .part.95]+0x166
>> V [libjvm.so+0x3f1dd3] Compilation::compile_java_method()+0x3a3
>> V [libjvm.so+0x3f1f6f] Compilation::compile_method()+0x12f
>> V [libjvm.so+0x3f23cc] Compilation::Compilation(AbstractCompiler*,
>> ciEnv*, ciMethod*, int, BufferBlob*, DirectiveSet*)+0x22c
>> V [libjvm.so+0x3f2cae] Compiler::compile_method(ciEnv*, ciMethod*,
>> int,
>> DirectiveSet*)+0xae
>> V [libjvm.so+0x5720cc]
>> CompileBroker::invoke_compiler_on_method(CompileTask*)+0xeec
>> V [libjvm.so+0x572eb8] CompileBroker::compiler_thread_loop()+0x5b8
>> V [libjvm.so+0xe50f8a] JavaThread::thread_main_inner()+0x1da
>> V [libjvm.so+0xe55baf] Thread::call_run()+0xff
>> V [libjvm.so+0xbc77e7] thread_native_entry(Thread*)+0xe7
>>
More information about the hotspot-compiler-dev
mailing list