Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#944 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
cpp

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
C++
スター
223
フォーク
127
平均マージ
1日 13時間
マージ済み PR(30日)
28

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/iceberg-cpp のほかの issue

apache/iceberg-cpp の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。