-
Notifications
You must be signed in to change notification settings - Fork 736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error. compiler crashed (exit code 4) - cannot access unnamed package #20786 #21000
Comments
@a7ehuo, may I ask you to take a look at this problem? |
I'm trying to reproduce this failure locally with JDK21 on x86-64 linux machine. With |
We also see this issue on RHEL10. In our case, it was |
I was also able to reproduce that compiler crash in an internal grinder run running By the way, the previous problem with a similar symptom — #20786 — was caused by unbalanced |
Just an update. I'm making some progress on narrowing the problem down, which is kind of challenging because there are no extra error messages except A few observations so far about this failure:
[1] |
Continuing to narrow it down, I'm able to reproduce the error by limiting the compiled methods to only one method:
|
@BradleyWood, it looks like this problem could be related to |
@a7ehuo Do you have a log from one of the failing cases? |
There are a few jitlogs generated: 21000_jitlogs.zip |
Attached logs from another reproduced case: 21000_logs_2.zip. This time four compilation logs are generated. The attachment also includes vlogs and a console log for reference. |
I spotted something suspicious in the log, but I don't know if its the cause of this particular issue. mov rcx, qword ptr [rsp+0x40] # L8RegMem, SymRef a<parm 0 [B>[#428 Parm +64] [flags 0xc0000107 0x0 ]
mov r8d, dword ptr [rcx+0x8] # L4RegMem, SymRef <contiguous-array-size>[#327 Shadow +8] [flags 0x603 0x0 ]
mov esi, 0x00000001 # MOV4RegImm4
xor edx, edx # XOR4RegReg
mov rax, rsi # MOV8RegReg
Label L0064: # label # (Start of internal control flow)
mov rdi, r8 # MOV8RegReg
and edi, 0xffffffffffffffc0 # AND4RegImm4
cmp edx, edi # CMP4RegReg
jge Label L0065 # JGE4
movd xmm6, esi # MOVDRegReg4 ;<------- Possible bug movd might not zero out high bits; but zmm6 is used later for simd.
pxor zmm7, zmm7 # PXORRegReg
pxor zmm8, zmm8 # PXORRegReg
pxor zmm9, zmm9 # PXORRegReg
movdqu zmm1, zmmword ptr [0x00007da406200200] # MOVDQURegReg
movdqu zmm2, zmmword ptr [0x00007da406200240] # MOVDQURegReg
movdqu zmm3, zmmword ptr [0x00007da406200280] # MOVDQURegReg
movdqu zmm4, zmmword ptr [0x00007da4062002c0] # MOVDQURegReg
movdqu zmm5, zmmword ptr [0x00007da406200300] # MOVDQURegReg
Label L0066: # label
pmovsxbd zmm0, zmmword ptr [rcx+1*rdx+0x10] # PMOVSXBDRegReg, SymRef [#434 +16]
pmulld zmm0, zmm2 # PMULLDRegReg
pmulld zmm6, zmm1 # PMULLDRegReg
paddd zmm6, zmm0 # PADDDRegReg
pmovsxbd zmm0, zmmword ptr [rcx+1*rdx+0x20] # PMOVSXBDRegReg, SymRef [#435 +32]
pmulld zmm0, zmm3 # PMULLDRegReg
pmulld zmm7, zmm1 # PMULLDRegReg
paddd zmm7, zmm0 # PADDDRegReg
pmovsxbd zmm0, zmmword ptr [rcx+1*rdx+0x30] # PMOVSXBDRegReg, SymRef [#436 +48]
pmulld zmm0, zmm4 # PMULLDRegReg
pmulld zmm8, zmm1 # PMULLDRegReg
paddd zmm8, zmm0 # PADDDRegReg
pmovsxbd zmm0, zmmword ptr [rcx+1*rdx+0x40] # PMOVSXBDRegReg, SymRef [#437 +64]
pmulld zmm0, zmm5 # PMULLDRegReg
pmulld zmm9, zmm1 # PMULLDRegReg
paddd zmm9, zmm0 # PADDDRegReg
add edx, 0x00000040 # ADD4RegImms
cmp edx, edi # CMP4RegReg
jl Label L0066 # JL1
paddd zmm6, zmm7 # PADDDRegReg
paddd zmm6, zmm8 # PADDDRegReg
paddd zmm6, zmm9 # PADDDRegReg
vextractf64x4 zmm0, zmm6, 0xff # VEXTRACTF64X4YmmZmmImm1
paddd ymm6, ymm0 # PADDDRegReg
vextractf128 ymm0, ymm6, 0xff # VEXTRACTF128RegRegImm1
paddd xmm6, xmm0 # PADDDRegReg
pshufd xmm0, xmm6, 0x0e # PSHUFDRegRegImm1
paddd xmm6, xmm0 # PADDDRegReg
pshufd xmm0, xmm6, 0x01 # PSHUFDRegRegImm1
paddd xmm6, xmm0 # PADDDRegReg
movd eax, xmm6 # MOVDReg4Reg |
Failure link
From internal Test_openjdk23_j9_sanity.openjdk_x86-64_windows_testList_2 (win22x86-svl-rt7-1)
Rerun in Grinder - Change TARGET to run only the failed test targets
Optional info
Failure output (captured from console output)
openjdk23_j9_sanity.openjdk_x86-64_linux
openjdk21_j9_extended.openjdk_x86-64_linux
openjdk21_j9_extended.openjdk_x86-64_linux
There was a similar issue
FYI @hzongaro
The text was updated successfully, but these errors were encountered: