bazel-contrib / bazel-contrib/rules_python

Windows + Bazel 8 gets permission denied error in some configs

Open
#3,407 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
688
Forks
721
Avg merge
15h 7m
Merged PRs (30d)
76

Description

Just filing a quick issue for now with some light details and investigation results

When run on BCR, we get a failure in the bzlmod example `//tests:version_test_binary_*` tests. It only fails for Windows and bazel 8.

example error:

```
Executing tests from //tests:version_test_binary_3_10
-----------------------------------------------------------------------------
C:/b/yumnn2dr/execroot/_main/bazel-out/x64_windows-fastbuild/bin/tests/version_test_binary_3_10: line 23: tests/version_3_10.exe: Permission denied
```

This seems to be an environment specific or Bazel 8 specific issue.

Running it on my windows laptop, it works.

PR #3406 reproduces the issue.

Oddity: I thought we had bazel 8 + windows testing, so why is it failing now?

The only thing interesting about these tests is they're a shell test that runs the python program. For windows, this means it runs an exe that executes a zip file.

Theory: Possibly related to symlinks? If the test copies the files locally, then the binary-under-test runs successfully.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing PR #3406 on Windows with Bazel 8, focusing on the bzlmod example tests matching //tests:version_test_binary_*. Read the shell test that runs the Python program and compare behavior with and without copying files locally. Done means the affected tests run successfully in the reported Windows and Bazel 8 configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, shell
Domain
build-system, operating-systems, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.