rules_python icon indicating copy to clipboard operation
rules_python copied to clipboard

Windows + Bazel 8 gets permission denied error in some configs

Open rickeylev opened this issue 1 month ago • 3 comments

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.

rickeylev avatar Nov 12 '25 06:11 rickeylev

Aha. Setting --windows_enable_symlinks seems to fix this.

Something must have changed between Bazel 7 and some-bazel-8 version ? Or maybe BCR stopped implicitly setting that flag? Or maybe the Bazel CI windows machines had a subtle setting changed that only bazel 8 notices?

rickeylev avatar Nov 12 '25 17:11 rickeylev

I previously ping @fmeum in the #3404 PR, but I think it would be better to discuss this here. Any ideas why this may be happening?

As @rickeylev mentioned in that PR, it seems that it is only the tests that involve the shell rules that are affected. Regular python tests are all good.

aignas avatar Nov 13 '25 23:11 aignas

I can look into this on Monday. Did you manage to reproduce it on a local Windows machine?

fmeum avatar Nov 14 '25 10:11 fmeum