rainers/cv2pdb

Hang when vswhere produces no output

Closed this issue · 1 comments

I'm not entirely sure how, but I've ended up with the situation where I have vswhere.exe, but no actual Visual Studio install (Just MSBuild/build tools, i think?)

Obviously I'm in the wrong for not having a working VS install, but I don't think the tool should hang either :)

As best as I can tell, it's hanging on the ReadFile at:

cv2pdb/src/mspdb.cpp

Lines 204 to 210 in c99df6c

CloseHandle(processInformation.hThread);
DWORD length;
if (ReadFile(read, buffer, sizeof(buffer) - 1, &length, NULL))
{
buffer[length] = '\0';
vsPath += buffer;

due to read being a pipe, and vswhere producing no output?

image

Procmon shows that's what it did last before hanging forever, at any rate (it was still running when this screenshot was taken):

image