Skip to content
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

2 ILCompiler issues in latest VMR build #4237

Closed
NikolaMilosavljevic opened this issue Mar 18, 2024 · 15 comments
Closed

2 ILCompiler issues in latest VMR build #4237

NikolaMilosavljevic opened this issue Mar 18, 2024 · 15 comments
Assignees
Labels
ops-monitor Issues created/handled by the source build monitor role

Comments

@NikolaMilosavljevic
Copy link
Member

NikolaMilosavljevic commented Mar 18, 2024

There are 2 ILCompiler issues in latest VMR build which contains the fix for nuget.client non-determinism (dotnet/installer#19074).

Alpine319_Offline_PreviousSourceBuiltSdk_x64:

    /vmr/src/runtime/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj : error NU1101: Unable to find package runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler. No packages exist with this id in source(s): prebuilt, previously-source-built, reference-packages, source-built-command-line-api, source-built-emsdk, source-built-source-build-externals, source-built-transport-arcade, source-built-transport-cecil, source-built-transport-emsdk [/vmr/src/runtime/Build.proj]

CentOSStream8_Online_PreviousSourceBuiltSdk_x64:

      ILCompiler -> /vmr/src/runtime/artifacts/bin/coreclr/linux.x64.Release/ilc/ilc.dll
      Generating native code
      Unhandled exception. System.CommandLine.CommandLineException: Target OS 'centos' is not supported
         at System.CommandLine.Helpers.GetTargetOS(String) + 0x4da

CentOSStream8_Offline_PreviousSourceBuiltSdk_x64:

    /vmr/src/runtime/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj : error NU1101: Unable to find package runtime.linux-x64.Microsoft.DotNet.ILCompiler. No packages exist with this id in source(s): prebuilt, previously-source-built, reference-packages, source-built-command-line-api, source-built-emsdk, source-built-source-build-externals, source-built-transport-arcade, source-built-transport-cecil, source-built-transport-emsdk [/vmr/src/runtime/Build.proj]

@jkoritzinsky

Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@jkoritzinsky
Copy link
Member

Cc: @tmds I think these failures are related to the "non-portable ILCompiler" PR.

Cc: @jkotas, @agocke

@tmds
Copy link
Member

tmds commented Mar 18, 2024

Yes, that's dotnet/runtime#99148.

The issues seem to be in the PreviousSourceBuiltSdk case, which I think I had verified as well ...

I'll take a look.

@tmds
Copy link
Member

tmds commented Mar 18, 2024

@NikolaMilosavljevic where can I find the logs that you copied the errors from?

@NikolaMilosavljevic
Copy link
Member Author

@NikolaMilosavljevic where can I find the logs that you copied the errors from?

It's the internal build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2406298&view=results

@tmds
Copy link
Member

tmds commented Mar 18, 2024

I don't think I can access those. I've started a build locally.

I only verified the offline case, so I probably missed something for the online case.

For the offline case, I'm surprised to see the portable rid show up in these error messages. It should try to restore the non-portable rid from the "PreviousSourceBuiltSdk".

@NikolaMilosavljevic
Copy link
Member Author

I don't think I can access those. I've started a build locally.

I only verified the offline case, so I probably missed something for the online case.

For the offline case, I'm surprised to see the portable rid show up in these error messages. It should try to restore the non-portable rid from the "PreviousSourceBuiltSdk".

Here are the runtime logs.
Alpine319_Offline_PreviousSourceBuiltSdk_x64.runtime.log
CentOSStream8_Offline_PreviousSourceBuiltSdk_x64.runtime.log
CentOSStream8_Online_PreviousSourceBuiltSdk_x64.runtime.log

@NikolaMilosavljevic
Copy link
Member Author

Binlogs:
binlogs.zip

@tmds
Copy link
Member

tmds commented Mar 18, 2024

Thanks for sharing the logs! I should be able to find and fix the issue tomorrow.

@tmds
Copy link
Member

tmds commented Mar 18, 2024

My build didn't reproduce the issue.

I assume it may be because that when I do a build that uses a "PreviousSourceBuiltSdk", that SDK is a newly bootstrapped version that includes dotnet/runtime#99148.

Do the PreviousSourceBuiltSdk jobs use an SDK that doesn't yet include dotnet/runtime#99148?
The issue may be due to that SDK not yet understanding how to use the non-portable rid ILCompiler.

This is for the offline jobs. I'll do an --online build tomorrow and see how it behaves.

@tmds
Copy link
Member

tmds commented Mar 19, 2024

The online build also completed successfully.

Based on my previous comment, the issue should be gone once the SDK used to build the VMR includes dotnet/runtime#99148.

@NikolaMilosavljevic is this something that will happen automatically?

For distro-maintainers, it means they won't be able to use the previous source-built preview SDK to build the new one. I assume that, since we're in early previews, it's acceptable for them to have to re-bootstrap.

@omajid
Copy link
Member

omajid commented Mar 19, 2024

For distro-maintainers, it means they won't be able to use the previous source-built preview SDK to build the new one. I assume that, since we're in early previews, it's acceptable for them to have to re-bootstrap

I was told that it's expected that re-bootstrapping may be required by distro maintainers at any point during the preview releases. The situation changes with RC and GA releases.

@MichaelSimons
Copy link
Member

Do the PreviousSourceBuiltSdk jobs use an SDK that doesn't yet include dotnet/runtime#99148?

Yes, the PreviousSourceBuiltSdk jobs are using the previously SDK from the previous preview release so they don't include your runtime change. This change requires use to re-bootstrap but doing so is currently blocked on #4206

@NikolaMilosavljevic NikolaMilosavljevic added the ops-monitor Issues created/handled by the source build monitor role label Mar 19, 2024
@MichaelSimons MichaelSimons moved this from Backlog to 9.0 Preview 3 in .NET Source Build Mar 21, 2024
@MichaelSimons MichaelSimons moved this from 9.0 Preview 3 to In Progress in .NET Source Build Mar 26, 2024
@NikolaMilosavljevic
Copy link
Member Author

This issue was fixed in Preview 3 branch with re-bootstrapping: dotnet/installer#19085

Re-bootstrapping for main is in progress: dotnet/installer#19145

@NikolaMilosavljevic
Copy link
Member Author

Fixed with re-bootstrapping: dotnet/installer#19145

@github-project-automation github-project-automation bot moved this from In Progress to Done in .NET Source Build Apr 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ops-monitor Issues created/handled by the source build monitor role
Projects
Archived in project
Development

No branches or pull requests

5 participants