xai-org/grok-build · error

.git/ copy thread panicked: {}

Error message

.git/ copy thread panicked: {}

What it means

Error ".git/ copy thread panicked: {}" thrown in xai-org/grok-build.

Source

Thrown at crates/codegen/xai-fast-worktree/src/worktree/execute.rs:59

}

impl Drop for PartialWorktreeGuard<'_> {
    fn drop(&mut self) {
        if self.armed {
            reclaim_partial_worktree(self.dest);
        }
    }
}

/// Join the standalone `.git/` copy thread, flattening a thread panic and the
/// inner copy error into a single `anyhow::Error`.
fn join_git_copy(
    handle: std::thread::JoinHandle<Result<crate::copy::gitdir::GitDirCopyStats>>,
) -> Result<crate::copy::gitdir::GitDirCopyStats> {
    handle
        .join()
        .map_err(|e| {
            anyhow::anyhow!(
                ".git/ copy thread panicked: {}",
                e.downcast_ref::<String>()
                    .map(|s| s.as_str())
                    .or_else(|| e.downcast_ref::<&str>().copied())
                    .unwrap_or("unknown panic")
            )
        })?
        .context("failed to copy .git/ directory")
}

/// Lock files (`*.lock`) and transient git state to remove from snapshots.
///
/// BTRFS and overlay snapshots capture the source tree atomically, including
/// stale lock files and in-progress operation state that would be poisonous
/// in the new worktree (e.g., a stale `index.lock` blocks every git operation).
///
/// This mirrors the skip list in `copy::gitdir::SKIP_TOP_LEVEL` +
/// `copy::gitdir::should_skip()` so that snapshot-based worktrees get the

View on GitHub (pinned to bc7f02eddd)

When it happens

Trigger: Thrown at crates/codegen/xai-fast-worktree/src/worktree/execute.rs:59 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of xai-org/grok-build@bc7f02eddd (2026-08-31). Data as JSON: /api/errors/0e5a59986338c471. Report an issue: GitHub.