-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Windows ARM64 build gets stuck at installer.tasks #38902
Comments
Tagging subscribers to this area: @ViktorHofer |
Probably an MSBuild/SDK issue? cc: @rainersigwald |
I'm reproducing the exact same issue in dotnet/runtime. The issue started after dotnet-installer merged this fix. Possibly related: dotnet/msbuild#5474 cc @danmosemsft |
Is it possible to get memory dumps during the hang? Or at least build with a diag-verbosity text log (binlogs are better except when they can't be flushed because of a hang/crash in the build) to get more clues about where things are going wrong? @ladipro is chasing arm64 MSBuild problems, so I'll add this to his pile. |
@carlossanlop has a minimal repro for this with diagnostics verbosity. Can you share the whole output in this issue? |
Here's my output using |
@eiriktsarpalis I think we can reduce the log and make it smaller if you do:
|
Sure, here you go |
Here's my repro as requested by @safern:
|
Adding something I found here: I updated my Surface X and created a clean WSL2 Ubuntu environment and ran the build and it almost completed (I killed it to check something). When I tried running it again, it was stuck again after the installer.tasks step. @safern suggested killing all the dotnet processes, and retrying the build and voila, it succeeded. Interestingly, the same steps did not work in Windows( my windows build is still stuck after the installer.tasks step ). Perhaps, it's related to locks or the number of build processes running at the same time? |
There's probably nothing specific about that project, it just happens to be the first CSProj that gets built. I haven't seen anyone here share the dump file that @rainersigwald suggested. To get that, once you have a hang, go into task-manager and right click and choose "Create Dump File". You should grab all the dotnet msbuild processes. For that matter you can also try passing -m:1 and see if it works around this (telling msbuild to use only one process), however it will slow down build significantly. The task that's hanging calls into MSBuild to send telemetry: runtime/Directory.Build.targets Line 10 in 608d50f |
@ericstj @rainersigwald I collected the dump files and sent you an email with their location. |
@ericstj opting out from telemetry as you suggested seemed to do the trick, the build is not stopping anymore. That's what was causing installer.tasks to hang. I hope the dump files help figure out the root cause. Edit: It seems the build is now failing with a bunch of other reasons, which I will investigate. They are probably unrelated to the installer.tasks issue. |
FWIW a quick workaround to the issue is to make a local edit on this line, replacing the default |
Followup of my last comment: After adding the line suggested by @ericstj to bypass the installer.tasks step, and editing the line suggested by @eiriktsarpalis to force the usage of |
The root cause of the hang is #39701 It's rearing its ugly head at this callstack:
The exception goes unhandled and the out-of-proc packet processing loop breaks. Until the underlying FCall issue is fixed, please try setting the |
I've confirmed that the incoming SDK version update from @ViktorHofer (#41947) solves this particular problem. |
I'm trying to build dotnet/runtime for windows on ARM64 with the following command line:
build clr+libs+libs.tests -a arm64 -c release
The build seems to be stuck at the installer.tasks step:
You might need a device to repro this. Let me know if you want to RDP into mine to test/repro or want logs.
cc @Anipik @ericstj @safern @carlossanlop @eiriktsarpalis
The text was updated successfully, but these errors were encountered: