fsprojects / Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
https://fsprojects.github.io/Paket/
MIT License
2.02k stars 523 forks source link

Paket 'hangs' without any output for several minutes #3412

Open matthid opened 5 years ago

matthid commented 5 years ago

Description

Started a build in VS 2017 (net sdk integration):

1>Build started 2018-11-08 10:47:19.
1>Target PaketRestore:
1>  Paket version 5.181.1

// after some minutes

1>  Starting full restore process.
1>  Performance:
1>   - Disk IO: 191 milliseconds
1>   - Runtime: 3 minutes, 17 second

Repro steps

Not clear but there shouldn't be too many places in the code which can be responsible before Starting full restore process and after printing the version.

This seems to happen when VSCode + Visual Studio 2017 is open and I add a new package with paket install and "rightclick -> build" in Visual Studio (I guess VSCode or VS is doing some paket commands behind the scenes)

Expected behavior

I feel like paket is waiting for another process to exit and should tell me that. Even better would be to just work faster ;)

Actual behavior

Nothing

Known workarounds

Wait

JohnyWS commented 4 years ago

@matthid any chance you could have a look at it with Process Explorer, and see if any dotnet processes hangs with "dotnet paket --version"? I've seen that quite a few times. Anyways, was just if it could narrow it down.

ddignam commented 4 years ago

I see this a few times a day. Just looking at one now that has been running for 12minutes at 2.5% (on an 8 core machine). I fired up procmon, but there is no visible activity for the hanging process. I then looked at the threads in process explorer, there was only one, and it immediately woke up (which boggles my mind somewhat, correlation not causation (?)). I'm also seeing the createAppHost issue, which I can normally work my way thru by multiple incremental build swapping between Visual Studio and the command line (using dotnet build)

mbodm commented 1 year ago

We have somewhat same problem here. All stuff is done and paket.exe simply not returns. But there seems to be no activity.

I attached 2 screenshots here:

After the CloseFile() (Screenshot2) nothing happens, but paket.exe in our script not returns (Screenshot1).

Additional informations:

Used environment:

We are a big company (but using my personal GitHub account here), developing and maintaining 1 giant .NET enterprise software product and we use paket.exe since years now. And this is a non-critical (but annoying) problem we have, since quite a while. The paket.exe does what it should (restore packages) and all is fine. The paket.exe simply not returns. We "fixed"it, by using a self-written tool, that scans for a paket.exe process and, if found, kills the process, so our script can continue then. But that´s more of a band aid patch than a solution. 😉

Any help is very appreciated!

Best regards

ConsoleOuput ProcessMonitor

mbodm commented 1 year ago

Nothing? Not some tip or any comment? 😞 Maybe it´s better when i open a new issue?