-
Notifications
You must be signed in to change notification settings - Fork 5k
Build failing on tip : "./build.sh --subsetCategory CoreCLR -c Release -arch x64" #34649
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
Comments
I have seen this problem in the past and in my case, doing a clean build (git clean -xdf executed in the root of the repo and then rebuild of everything) fixed the problem. Maybe I had to delete the .nuget folder too. |
I did try Perhaps |
Clean hasn't worked in a while or been supported I believe, at least in coreclr. I am not sure why it wasn't removed. |
FWIW clean is working fine but it just cleans the artifacts folder. |
I'm talking about |
The old coreclr clean used to do a bit more, like cleaning the package cache as it used to be directory based. we decided to defer the logic to nuget/dotnet nuget |
It seems strange that we are using caches outside of the build directory i.e. |
Clearing the nuget cache should be done via either
Right, CI doesn't use the user wide cache but instead puts all packages under |
I honestly believe that what we are doing is the right thing. In this case it even feels like deleting the cached version of the optimization package is enough. |
Why? I see several things we are doing wrong:
|
I retried the build like this and it still failed. git clean -xdf
rm -rf ~/.nuget
./build.sh --subsetCategory CoreCLR -c Release -arch x64 With the same error. |
Did we ever get to the root cause? |
No I never figured out root cause. I just reverted to an older previously working commit and forgot about it. When I later updated to tip, the issue was resolved. I don't think I could repro this anymore... Tempted to close because it cannot be reproed. |
Ok let's close this then. Feel free to reopen. |
I'm hitting this to this day when trying to build CoreCLR on Ubuntu in release mode; last time I hit this literally 2 minutes back. I'll be happy to assist any follow-up investigation by collecting artifacts, logs or anything else. @davidwrighton / @janvorli, have you got any suggestions as to how to continue the investigation? Is there an infra problem like pulling down a too old pgo data package or is it a compiler problem, what component consumes the optimization data on Linux, do we need to install a newer clang version, cmake or something else? Does there exist any tooling that would let me dump the pgo data and share its properties? Thanks a lot Tomas |
[ 42%] Building CXX object jit/CMakeFiles/clrjit.dir/alloc.cpp.o error: Could not read profile /home/trylek/.nuget/packages/optimization.linux-x64.pgo.coreclr/1.0.0-prerelease.21451.4/data/coreclr.profdata: Unsupported instrumentation profile format version |
I'm hitting this in #61001 as well, had to workaround by passing |
I'll take a look at fixing the code flow here |
But my guess is that you have a version of clang that isn't able to consume the profile data we produce. Are you building with the same version of clang that is used in the offical docker build images? |
In #61001 I was updateing from Ubuntu 16.04 to 18.04 so it's possible that there is a different clang version being used. |
…ages for enterprise linux pipeline (dotnet#63014) * Use Ubuntu 18.04 1ES pools and dotnet-buildtools-prereq docker images for enterprise linux pipeline Ubuntu 16.04 is no longer available on Azure Pipelines, move to 18.04 on 1ES pool and the Docker images from dotnet-buildtools-prereq. * Workaround dotnet#34649 * Use servicing 1ES pool * Fix property name for turning off PGO data It was changed in main with dotnet@4682098 * Fix property value Co-authored-by: Alexander Köplinger <[email protected]>
Hitting this on Debian trixie/sid while trying to build ...
error: Error in reading profile /home/aleksey/.nuget/packages/optimization.linux-x64.pgo.coreclr/1.0.0-prerelease.24409.2/data/coreclr.profdata: unsupported instrumentation profile format version
...
$ clang --version
Debian clang version 16.0.6 (27+b1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
|
the relevant version shows up in cmake config logs. Do you see 16 in those logs too? |
Started hitting this suddenly after rebasing. Current commit: 62bd39a and around 2 weeks ago when it was still working: 97a8af9. Building with:
Relevant piece of build log:
|
might be related to the updated packages from f9fc62a ? |
I see that the images were updated to use the Presumably that creates a newer version of the profile format? |
The workaround is to just rename profdata runtime/src/coreclr/pgosupport.cmake Lines 41 to 43 in 6a23f1c
|
you can already pass |
would upgrading clang to 20 fix this locally? (I already do the workaround but would prefer permanent fix) |
Yup, it would match the CI environment which appears to be working. On Ubuntu/Debian, one quick way to upgrade llvm toolchian is |
In that case would it be reasonable to just early exit the build with error that clang-20 is required and update build instructions? I think this will be more reasonable than error most of the people don't understand. Or does it need to match specific version the CI is using? (either way I think it's more reasonable to require specific version of something than random error) |
Looks like we already have a check to skip PGO if clang is older than 16, that needs to be bumped: runtime/src/coreclr/pgosupport.cmake Line 55 in 6a23f1c
Would be nice if the PGO package could record the clang version so we don't need to manually keep it in sync. |
@LoopedBard3 @caaavik-msft how difficult would adding the clang version be? |
We are not aware of any way to add the clang version to the PGO package, but we are also not very familiar using packages in this way. If there is a good way to do this, we don't see having any problem with doing it. Otherwise, if there is a different recommended way to flow this kind of information, we can likely do that as well. |
The codespaces build is failing because of this https://github.com/dotnet/runtime/actions/runs/14099208201/job/39492189942 |
Contributes to #34649 and fixes the Codespaces prebuild.
The text was updated successfully, but these errors were encountered: