-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[mono] FullAOT build asserts at `class1 != ARG_CLASS_NO_CLASS' for EmptyStructs.dll #106071
Comments
I think the failures got triggered by #104237 @tomeksowi . It looks like Mono doesn't support this scenario: runtime/src/mono/mono/mini/mini-amd64.c Lines 804 to 806 in cb65d11
Do you know what changes would be required to make this work for Mono? cc: @steveisok |
Sorry about breaking the build. #104237 JIT changes should be confined to RISC-V and LoongArch.
I'm not familiar with Mono but If I understand the code correctly |
One more thing, in VM we simply reclassify NO_CLASS eightbytes to INTEGER, see https://github.com/dotnet/runtime/pull/103799/files#diff-8b4d839010e3c7e363eb430d3efed40b0f9a01a7661e16f753374598ded88f8cR2695 Maybe Mono could do something similar, I'll try to build Mono and reproduce the issue. |
I think that's the case.
Thank you, let me know how it goes. |
I tried to build, the NO_CLASS to INTEGER reclassification did solve the test compilation of EmptyStruct but the build fails on other tests on my machine so I couldn't test it. Another problem is in #105800 I'm adding reflection variants of the tests which also fail on Mono. Unfortunately I'm not familiar enough with Mono to investigate now. I think it's best to turn off this test for System V Mono for now, these cases are needed mostly for RISC-V and LoongArch to confront passing structs according to hardware FP calling convention with native compilers, empty structs make for interesting cases because they add different field paddings. |
removing 'blocking-clean-ci' as it has not failed in 30 days
|
Build Information
Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=763399
Build error leg or test failing:
AOT compile CoreCLR tests
Afffected CI:
linux-x64 Release AllSubsets_Mono_MiniFullAot_RuntimeTests minifullaot
(runtime-extra-platforms
),linux-x64 Release AllSubsets_Mono_LLVMFULLAOT_RuntimeTests llvmfullaot
(runtime-llvm
)Range of commits: 03b4c79...1337553
Crash dump
Error Message
Fill the error message using step by step known issues guidance.
Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=763399
Error message validated:
[artifacts/tests/coreclr/linux.x64.Release/JIT/Directed/StructABI/EmptyStructs/EmptyStructs.dll" exited with code 134.
]Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 8/7/2024 11:37:07 AM UTC
Report
Summary
The text was updated successfully, but these errors were encountered: