[jdk17] RFR: 8269179: Crash in TestMacroLogicVector::testSubWordBoolean: assert(_base >= VectorMask && _base <= VectorZ) failed: Not a Vector
Vladimir Kozlov
kvn at openjdk.java.net
Wed Jun 23 06:10:24 UTC 2021
On Wed, 23 Jun 2021 02:30:24 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> Hi all,
>
> compiler/vectorization/TestMacroLogicVector.java crashed on AVX512 machines.
>
> Here is the symptom and stack trace:
>
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/jdk17/src/hotspot/share/opto/type.hpp:1717), pid=19546, tid=19562
> # assert(_base >= VectorMask && _base <= VectorZ) failed: Not a Vector
> #
> # JRE version: OpenJDK Runtime Environment (17.0) (slowdebug build 17-internal+0-adhoc.jvm.jdk17)
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.jvm.jdk17, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x3b8483] Type::is_vect() const+0x6b
> #
>
>
> Current CompileTask:
> C2: 2275 22 % b compiler.vectorization.TestMacroLogicVector::testSubWordBoolean @ 2 (27 bytes)
>
> Stack: [0x00007f0c021fa000,0x00007f0c022fb000], sp=0x00007f0c022f5e20, free space=1007k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V [libjvm.so+0x3b8483] Type::is_vect() const+0x6b
> V [libjvm.so+0x3da830] vector_length_in_bytes(Node const*)+0x2b
> V [libjvm.so+0x8b1e97] State::_sub_Op_MacroLogicV(Node const*)+0x81
> V [libjvm.so+0x8d8014] State::DFA(int, Node const*)+0x17f6
> V [libjvm.so+0xeceb84] Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0x4c0
> V [libjvm.so+0xece218] Matcher::match_tree(Node const*)+0x206
> V [libjvm.so+0xecc40b] Matcher::xform(Node*, int)+0x1f3
> V [libjvm.so+0xec75f9] Matcher::match()+0xdc7
> V [libjvm.so+0x7d9e01] Compile::Code_Gen()+0x95
> V [libjvm.so+0x7d10f5] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, bool, DirectiveSet*)+0x160f
> V [libjvm.so+0x6c17c8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x144
> V [libjvm.so+0x7ee2ed] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x97d
> V [libjvm.so+0x7ece21] CompileBroker::compiler_thread_loop()+0x3dd
> V [libjvm.so+0x80d1ab] CompilerThread::thread_entry(JavaThread*, JavaThread*)+0x69
> V [libjvm.so+0x12857f1] JavaThread::thread_main_inner()+0x17b
> V [libjvm.so+0x1285669] JavaThread::run()+0x1d7
> V [libjvm.so+0x1282e40] Thread::call_run()+0x180
> V [libjvm.so+0xfc255b] thread_native_entry(Thread*)+0x18f
>
>
> The reason is that for vpternlog_mem, `n->in(1)` points to BinaryNode.
> This is incorrect since `BinaryNode->bottom_type()` returns `Type::BOTTOM`.
> So it should be something like `n->in(1)->in(1)`.
>
> Thanks.
> Best regards,
> Jie
Good.
-------------
Marked as reviewed by kvn (Reviewer).
PR: https://git.openjdk.java.net/jdk17/pull/123
More information about the hotspot-compiler-dev
mailing list