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

[NETE2ESDK] [Linux] Downloading .NET failed with Error:(TimeoutSudoProcessSpawnerError) #1995

Open
v-xiaofchen opened this issue Oct 21, 2024 · 5 comments · May be fixed by #2001
Open

[NETE2ESDK] [Linux] Downloading .NET failed with Error:(TimeoutSudoProcessSpawnerError) #1995

v-xiaofchen opened this issue Oct 21, 2024 · 5 comments · May be fixed by #2001

Comments

@v-xiaofchen
Copy link

v-xiaofchen commented Oct 21, 2024

Describe the bug.

Downloading .NET failed with Error:(TimeoutSudoProcessSpawnerError)

Reproduction Steps

  1. On Ubuntu 22.04 or RHEL 9.4, run the sample command ‘Install .NET SDK Globally via .NET Install Tool (Former Runtime Extension)‘.
  2. Use the version it provided, which is 7.0.103. Hit enter.
  3. Observe

Expected Behavior

Download .NET successfully

Exceptions & Errors (if any)

Downloading .NET failed with Error:(TimeoutSudoProcessSpawnerError)
Image

Note

Try the previous already-tested build vscode-dotnet-runtime-2.2.0-signed, this issue does not repro on it
Image

.NET Install Tool Version

2.2.1

Your operating system? Please provide more detail, such as the version and or distro above.

N/A

VS Code Version

1.94.2

@nagilson
Copy link
Member

@v-xiaofchen Did you run anything on this machine for these failures before-hand besides the 'Install SDK' command a single time?
I could not get this to repro for me.

--

Investigation:
ok.txt was written even though it never should have existed. It locks and wipes the directory before-hand, nobody else writes ok.txt so I dont understand why it said it was there already. fs.readFileSync(filePath).toString() will fail if the file DNE, so it was definitely there, not that it returned '' and then thought ok.txt existed already. I updated the logging in the build to see if wiping the dir worked and let's see if it was created earlier.

Also, we never awaited the sudo process startup and I dont think we should need to. But it never got past the phase of trying to load the process. Im not sure why that's a problem. I assume the user hit the password prompt. Not sure if there are logs generated to tell. I should provide a build with await and see if that helps

@nagilson
Copy link
Member

nagilson commented Oct 22, 2024

It looks like this is not an issue with the code. The issue only repros all of the time, and it only repros exclusively on the signed package vsix builds. It does not repro with the same exact code build which is not the extra signed build from the pipeline. I even looked at the minified JS and it is the same internally in the package but one fails always while the other does not.

The vscode sudo prompt library hangs indefinitely and never fails, exits, etc and hangs on the build with -signed. This may be due to some changes around signing vscode made in October.

What to do

Going forward, we may remove the -signed copy package from the pipeline and use the primary pipeline artifact. We can just use the one without the added word to it.

@nagilson nagilson linked a pull request Oct 23, 2024 that will close this issue
@v-xiaofchen
Copy link
Author

v-xiaofchen commented Oct 29, 2024

Thanks, this issue still repro on the signed build vscode-dotnet-runtime-2.2.2-signed
Image
But it does not reproduce on the one without -signed version vscode-dotnet-runtime-2.2.2
Image

@v-xiaofchen
Copy link
Author

This issue does not repro on vscode-dotnet-runtime-2.2.3.
Image

@v-xiaofchen
Copy link
Author

This issue does not repro on the new vscode-dotnet-runtime-2.2.3.
Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants