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

Don't inherit the same handle more than once. #1234

Merged
merged 4 commits into from
Oct 18, 2023

Conversation

BillyONeal
Copy link
Member

Attempts to resolve microsoft/vcpkg#33904

@Neumann-A can you check that this fixes it for you?

@BillyONeal
Copy link
Member Author

I'm also up for ideas on how to reasonably test this. :( @ras0219-msft suggested trying to run git bash from our e2e tests but I really don't want to open the can of worms of trying to find where that is and/or whether it exists in the first place. (Does the git that comes with Visual Studio even have a git bash? I don't think so ....)

@autoantwort
Copy link
Contributor

@Neumann-A
Copy link
Contributor

@Neumann-A can you check that this fixes it for you?

Works for me. Could we teach the vcpkg-tool CI to store the build binaries for PRs for like a week? Took me like 10 min for setup. Simply downloading it would have been faster ;)

@BillyONeal
Copy link
Member Author

example showing that the test triggers the problem

@BillyONeal
Copy link
Member Author

Works for me. Could we teach the vcpkg-tool CI to store the build binaries for PRs for like a week?

I think if we do that we'll be obligated to sign them which is ... a mess

@BillyONeal
Copy link
Member Author

Also drive by change for tar because git's tar is... not happy:

git tar error

git tar why can't you just be normal meme

@Neumann-A
Copy link
Contributor

Also drive by change for tar because git's tar is... not happy:

It simply expects to be executed in a git bash which does auto conversion of paths.
Normally that tar should be on PATH unless you are in a git bash.

This is with a still broken vcpkg (so not this PR):

neumann@heineken MINGW64 /e/vcpkg_folders/qt6-update (qt_6.6)
$ ./vcpkg.exe fetch cmake --debug
[DEBUG] To include the environment variables in debug output, pass --debug-env
....
A suitable version of cmake was not found (required v3.27.1) Downloading portable cmake 3.27.1...
[DEBUG] Trying to hash G:\vcpkg_common\downloads\cmake-3.27.1-windows-i386.zip
[DEBUG] G:\vcpkg_common\downloads\cmake-3.27.1-windows-i386.zip has hash a847f636fb27ba41ba9e6eaafa56937c614bcb39c6d0c9723241c229a9b0a77b4d00ebee88639561035d43f9aa64895f387eab56c628990c01191da57839cda0
Extracting cmake...
[DEBUG] 1002: CreateProcessW("C:\WINDOWS\system32\tar.exe" xzf "G:\vcpkg_common\downloads\cmake-3.27.1-windows-i386.zip")
[DEBUG] 1002: cmd_execute() returned (error: calling CreateProcessW failed with 87 (Falscher Parameter.)) after 1804 us
'tar' failed while extracting G:\vcpkg_common\downloads\cmake-3.27.1-windows-i386.zip.
[DEBUG] D:\a\_work\1\s\src\vcpkg\archives.cpp(310):
...

I don't see it finding the git tar here although --debug-env shows:

PATH=C:\Users\neumann\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\neumann\bin;C:\Program Files\Microsoft MPI\Bin;C:\Program Files (x86)\Intel\oneAPI\tbb\latest\redist\intel64\vc_mt;C:\Program Files (x86)\Intel\oneAPI\tbb\latest\redist\ia32\vc_mt;C:\Program Files (x86)\Intel\oneAPI\mpi\latest\bin;C:\Program Files (x86)\Intel\oneAPI\mpi\latest\bin\release;C:\Program Files (x86)\Intel\oneAPI\mpi\latest\libfabric\bin;C:\Program Files (x86)\Intel\oneAPI\mpi\latest\libfabric\bin\utils;C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\redist\intel64_win\compiler;C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\redist\ia32_win\compiler;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Microsoft HPC Pack 2016\Bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\dotnet;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files (x86)\Wolfram Research\WolframScript;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\Microsoft SQL Server\120\DTS\Binn;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files (x86)\GnuPG\bin;C:\Program Files\PowerShell\7;C:\Program Files\MATLAB\R2021b\bin;C:\texlive\2022\bin\win32;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin;C:\Users\neumann\AppData\Local\Microsoft\WindowsApps;C:\Users\neumann\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\neumann\.dotnet\tools;C:\Users\neumann\AppData\Local\GitHubDesktop\bin;C:\texlive\2022\bin\win32;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl

@BillyONeal BillyONeal merged commit bad6195 into microsoft:main Oct 18, 2023
5 checks passed
@BillyONeal BillyONeal deleted the fix-create-process-fail branch October 18, 2023 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

'CMake' failed while extracting
4 participants