Comments (8)
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.
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.
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.
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.
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.
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.
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.
- Start with no VS instances open.
- Start running
for /l %i in (1,1,10000) do vswhere.exe -legacy -latest
- Launch Visual Studio 2017 and load a solution
- 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.
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)
- Command doesn't return anything when only the buildtools are installed. HOT 2
- `-requires` wildcard HOT 9
- Cannot locate msbuild on ARM64 installations HOT 2
- Publish winget package from publishing pipeline HOT 1
- Wiki documentation does not detect VSTest fom Build Tools HOT 1
- vswhere cannot find v17.5.0-pre.5.0 Build Tools on Arm64 device with -prerelease option HOT 2
- Can we get an example in the wiki of selecting a specific version of VS? HOT 3
- No detecting the installation of Remote Tools for Visual Studio HOT 1
- -find returns unexpected results HOT 1
- vswhere.exe problem HOT 3
- VS Buildtools 2022 17.7 not detected HOT 1
- -path is only for selection, not specifying a copied Visual Studio HOT 1
- Range Detection Issue HOT 1
- too much code HOT 1
- How do I find Visual Studio by year? HOT 2
- vswhere could not detect VS2022 HOT 7
- Add ability to locate Visual Studio Build Tools installations HOT 1
- -version doesn't support pre-release suffixes HOT 3
- WARNING: Failed to activate VS environment: Could not parse vswhere.exe output HOT 1
- Provide a 64bits executable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vswhere.