-
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
Fix up NativeAOT testing #79523
Fix up NativeAOT testing #79523
Conversation
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue Detailsnull
|
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Can we come up with a heuristic that automatically determines which CoreLib to pick, similar to how this works for Mono today?
I.e. when building clr.aot, always bind against NativeAOT's CoreLib.
There is a heuristic, but it stopped kicking in because we're building CoreCLR as well: Line 106 in 7e10f81
|
Right. I was asking if we should change it to pick NativeAOT's CoreLib when the nativeaot subset is built, even if clr.runtime is built as well? |
This is after macro expansion. If one builds |
This is our own build system. We can just move it before we expand the Subset msbuild property, if that's what we want. Of course, ideally we wouldn't build clr.runtime at all: #79144. |
Right, that also has problems because clr.aot is a macro and one could be doing nativeaot development by just manually specifying what it expands to. I think the current placement is better. |
When this workaround is merged in, what would be your preferred solution to clean this up? Requiring this extra property to be set (think about the local dev innerloop) doesn't seem ideal to me. |
We should stop building the clr.runtime and host subsets - #79575. This is not much of an issue for nativeaot inner loop - the missing apphost is only a problem for the System.Diagnostics.DiagnosticSource.NativeAotTests project that is not part of inner devloop. Both normal libraries testing and running the |
Did this fix the failures in I think I still see the failures after merging and running tests. I tried twice in different enlistments. |
It did - exhibit 1 in the CI results. If you can still repro it, your local workflow is running into the same issue CI did (my local workflows don't run into it and it took a while to repro locally). I don't know how you build things, but make sure to pass |
I just do is that not the right way? it worked in the past. |
Replace |
I think the failures are recent - not more than month old. The root issue could be older, but maybe something else changed and made it to show up as a test failure. I typically do a trial PR these days with a fake noop change before running tests on the actual changes - it saves time investigating whether the failures are new or old and the trial PR is often morphed into a PR where I fix tests. I think the last time the trial PR did not catch these. (#78005) |
I've rerun things with |
This started to be a problem for the CI only 11 days ago after 5435aa8 because we started building all of coreclr in the CI with that. It would be a problem that you can see locally if you were building all of clr locally before but you must have changed your local workflow if you didn't see it before. |
I do not know, maybe it would be useful for further investigations, but I am sure I used the same command before. My workflow is basically copy/pasting commands from the notepad. I am not a fast typist and make typos, so I am compensating for that :-). Perhaps the change that had effect on the CI had effect on local builds as well. |
This reverts commit b2bebcb.
…ries AOT tests (#79637) * Revert "Fix up NativeAOT testing (#79523)" This reverts commit b2bebcb. * Don't build clr.runtime for libraries AOT tests 866f3eb made it again possible to build the host.native subset without the clr.runtime. Previously there was a dependency on the singlefilehost which was removed when it isn't required.
This should work around #79513 (comment).
Cc @dotnet/ilc-contrib