-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Add some linux-arm test coverage #98022
Conversation
Tagging subscribers to this area: @hoyosjs Issue DetailsAdd libraries testing and pri-0 testing as part of runtime-nativeaot-outerloop. Cc @dotnet/ilc-contrib
|
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks, I will look into the build failures. |
The checked build failure reproduces locally:
The Release build failure seems to be issue with the pipeline - not selecting the right Helix queue. |
1c25927
to
8e3da7b
Compare
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
The pri0 suite failure is:
The libraries test failures are to the tune of:
We have an option to just start disabling these on bugs or if this looks like obvious fixes, we can just fix. The Preview 2 cutoff will be at the end of next week. I think think this is close enough that we could start enabling this in the product (producing official builds, etc.). @filipnavara let me know if you'd like to do that or if you'd prefer me to do it. |
These should be obvious fixes, I think. I'll have a look tomorrow morning.
I'm particularly bad at the YAML and build things, so I would prefer you to do it if it's not too much work. |
The div/mul tests should be fixed by #98416. I briefly looked at the
instead of
I just need to write the code to emit the correct instruction encoding. |
Can I get a re-run with the merged fixes, please? Thx |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
There's still a few Pri0 failures but overall it looks quite manageable. Some of them look like issues that I have discovered previously and that should be easy to fix. I'll go through each of them today to get a better assessment. |
Bulk of the remaining failures is fixed by #98474, tracking the rest in #97729 (comment). |
For the determinism test failure, you can grab the baseline/compare object files with runfo: https://github.com/dotnet/runtime/blob/main/eng/testing/debug-dump-template.md The command line is:
This will download the helix payload (and crashdump, but that one is not very useful) into There's a baseline.object and compare.object in the ZIP. readelf is saying the diff is in .debug_info section, but I didn't investigate further because it looks like you're going to have more expertise anyway. |
Thanks for the hint. The differences in the .debug_info definitely look like a bug, possibly even some uninitialized memory. Update: Yeah, there's a BREGx opcode where it should be REGx opcode. Not sure yet how it happens but should be easy to track down. While looking at the code I found bug in DWARF info for VLT_STK_REG too. |
I submitted PRs for the easy issues. Of the two remaining ones, one seems to be JIT bug where it optimizes out fat pointer check, and other one is JIT/helper issue for inlined |
PRs for the test failures: #98479 #98481 |
15249d4
to
a9fdb14
Compare
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
src/tests/issues.targets
Outdated
<ExcludeList Include="$(XunitTestBinBase)/Loader/classloader/Casting/punning*"> | ||
<Issue>https://github.com/dotnet/runtime/issues/98493</Issue> | ||
</ExcludeList> | ||
<ExcludeList Include="$(XunitTestBinBase)/JIT/Directed/nullabletypes/Desktop/boxunboxvaluetype_*"> | ||
<Issue>https://github.com/dotnet/runtime/issues/95517</Issue> | ||
</ExcludeList> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like I made some mistake and the exclusions don't work as intended. :-/
I submitted a fix for the second one (#98547).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...and for the first one (#98561). Although I very much doubt it will go through without scrutiny from the JIT team.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's remove the exclusions and do another test run :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I submitted a fix for the second one (#98547).
#98547 fix is not correct as discovered in #98623 (comment) . I expect that the test will keep failing.
Also, there may be unforeseen perf issues due to #98623 (comment) . I am thinking that we should revert it and wait for the proper fix from @EgorBo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I expect that the test will keep failing.
The test doesn’t fail. I checked that locally before submitting the fix. However, it doesn’t fail because the size of the block is small enough to take the managed code path which happens to trigger NRE correctly. It would still fail for big sizes but that’s not the case in the tested unboxing scenario.
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
The failure in the System.Globalization.Calendars.Tests looks real, this was also crashing in the previous run. I pulled down the dump but it's bad corruption (stack is not usable). Pulling down the dump also pulls down the binaries and symbols, so I just tried running it on my Pi 4. It doesn't crash this way, but I do get a failing test sometimes (filed #98795 on that). The dump/binary can be pulled down with runfo.
I'll do some exclusions and try to get this merged. |
/azp run runtime-nativeaot-outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
@dotnet/ilc-contrib could someone review this infra-only change to stand up ARM32? I also added testing for musl-arm64 since I finally figured out |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
Thanks a lot! 🎉 |
Add libraries testing and pri-0 testing as part of runtime-nativeaot-outerloop.
Cc @dotnet/ilc-contrib