Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Windows CI: parallel vcpkg z-applocal steps fail with file lock

Aberta
#944 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
cpp
Domínio
build-system, ci-cd

Direção de pesquisa

Start with the linked Windows CI run and the Build Iceberg step, then inspect the build configuration that invokes vcpkg z-applocal for targets such as parquet_test.exe. Reproduce the parallel linking failure and determine which shared dependency file is locked; done means the Windows CI job completes reliably without z-applocal file-lock errors.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Summary

The Windows CI job fails during the Build Iceberg step because a post-link vcpkg z-applocal command cannot access a file that is locked by another process.

Failure details

Run:
https://github.com/apache/iceberg-cpp/actions/runs/35413148123/job/105816560819

The build reaches 955/958 targets. Compilation succeeds, but linking parquet_test.exe fails while running:

vcpkg.exe z-applocal
  --target-binary=.../build/src/iceberg/test/parquet_test.exe
  --installed-bin-dir=C:/vcpkg/installed/x64-windows/debug/bin

The reported error is:

The process cannot access the file because it is being used by another process.

Ninja then stops with exit code 1. The exact locked file is not reported.

Suspected cause

Multiple Windows test targets are linked in parallel, and their post-link z-applocal steps may concurrently copy or access the same dependency DLLs.

This appears to be a Windows build/deployment race rather than a C++ compile failure. The compiler reported zero compilation failures.

Possible fixes

  • Serialize the z-applocal post-link steps on Windows.
  • Use a target-specific dependency copy directory.
  • Add a bounded retry for transient file-lock failures.
  • Disable automatic applocal deployment for test targets and copy dependencies once after the build.
Linguagem predominante
C++
Estrelas
226
Forks
132
Merge médio
1d 11h
PRs com merge (30d)
27

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/iceberg-cpp

Todas as issues de apache/iceberg-cpp

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.