Giter Site home page Giter Site logo

vswhere hangs about vswhere HOT 8 CLOSED

microsoft avatar microsoft commented on May 9, 2024
vswhere hangs

from vswhere.

Comments (8)

heaths avatar heaths commented on May 9, 2024 1

Seems this is a known issue that was fixed in a newer, currently non-default UCRT. To work around this issue in your own code, you can add the following to the vcxproj files:

<TargetUniversalCRTVersion>10.0.14393.0</TargetUniversalCRTVersion>

I'll not be making this change to the vswhere code base since the default is for the LTS release of Windows 10. When the default changes, we'll get it automatically. Until then, since it does not repro in release builds and with a work around available, I'm resolving the bug. If this becomes a larger problem we can reconsider making the change for all builds.

from vswhere.

heaths avatar heaths commented on May 9, 2024

Thank you for the detailed report. I am unable to repro this even in a fast loop. Also, on what version of vswhere and the query API (newer versions will print both in the header for the default formatter) are you running?

Pausing the process could yield any possible stack trace. Are you able to generate a dump when the process is hung?

from vswhere.

ks-jeppe avatar ks-jeppe commented on May 9, 2024

Version header says: Visual Studio Locator version 1.0.66-g24f19ddd29 [query version 1.10.80.60812]

The backtraces from the report are when the process is hung. They always look the same.

Do you mean a .DMP file? I could, but I lack a place to host it as it's about 14 megabytes zipped.

from vswhere.

heaths avatar heaths commented on May 9, 2024

Those seem to be privately built bits. Can you repro with official builds? Are you building with a Preview release of VS? If not, what version of VS?

If you've signed into VS, your Microsoft Account is already hooked up to OneDrive or signing up for other services like Dropbox could provide space for a .dmp.

from vswhere.

ks-jeppe avatar ks-jeppe commented on May 9, 2024

I can't seem to reproduce it with official builds.

The one I built was built with VS 2017, version 15.2 (26430.6) Release

from vswhere.

heaths avatar heaths commented on May 9, 2024

Release or Debug configuration? This might be an issue to take up with the Visual C++ team. From the stack it seems there could be a deadlock scenario but the query API and vswhere don't directly create or use any locks.

from vswhere.

ks-jeppe avatar ks-jeppe commented on May 9, 2024

It happens all the time in the Debug configuration. I'm not seeing it right now in release configuration, but I think it might have happened once.

I found a way to reproduce it on multiple computers with the debug build where it has 2017 and at least also 2015 installed.

  1. Start with no VS instances open.
  2. Start running for /l %i in (1,1,10000) do vswhere.exe -legacy -latest
  3. Launch Visual Studio 2017 and load a solution
  4. About the time it is done loading the solution vswhere.exe will be hanging in a state where it cannot be killed with Ctrl+C

It definitely sounds like a Visual C++ runtime bug with a DLL loader deadlock

from vswhere.

refack avatar refack commented on May 9, 2024

About the time it is done loading the solution vswhere.exe will be hanging in a state where it cannot be killed with Ctrl+C

Maybe related: happens also when I hit Ctrl-C during VsDevCmd.bat, process hangs.

from vswhere.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.