-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows CI failure #2977
Comments
Indeed, it was http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/1449/ The error is (My first hypothesis, that I leave here for posterity) The only way I could trigger an AccessDeniedException was through creating the output file and making it read-only. If the file exists and is open by another process, then we get a simple IOException. So somehow the file was marked read-only since the last CI run. |
@cushon -- FYI JimFS issues on Windows, scroll down for more info I did an experiment with Turbine built at HEAD and with an older one. In both cases, I built a custom bazel binary, ran it once so it'd extract its embedded tools, moved the turbine jar and created an empty file instead (set the mtime to 10 years in the future so bazel wouldn't notice my tampering) then built bazel with this custom bazel and corrupt turbine jar with Turbine at HEAD (65b0612):
Params file:
So apparently the new JimFS code isn't working on Windows -- @cushon FYI. That was introduced in 58a615c, so
Params file:
This error looks like the one in @kchodorow 's original post. |
Thus it's confirmed that @kchodorow saw an error with Bazel 0.4.5 and older Turbine, and my theory is that something set Turbine's previous output files to be read-only. @damienmg : Do you think it's possible that Jenkins set some action's outputs as read-only between CI runs? |
I mailed a fix for the windows path issue, I'm not sure about the |
Another instance of AccessDenied: |
The action responsible for those turbine invocations does a two-tiered spawn where it retries failing invocations with different options: bazel/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java Line 129 in 36ce4b4
I wonder if that could be causing it to try to write the same output twice? I'm not sure why that would be non-deterministic or only affect windows, though. |
@cushon : Thanks again! We may want to release a Turbine deploy jar as soon as your bugfix is in, and cherrypick that into bazel 0.5.0 |
(see #2692) |
@laszlocsomor I don't think you need a deploy jar - the turbine code is split across https://github.com/google/turbine (which is checked in to the Bazel repo as a jar in third_party), and |
See #2977 PiperOrigin-RevId: 155711073
Is it possible to switch to 5.0rc bazel.exe on Windows as a bootstrapper?
The problem is less acute there.
…On Thu, May 11, 2017 at 8:54 PM, Kristina ***@***.***> wrote:
Two more AccessDenied failures with the latest push:
http://ci.bazel.io/view/Bazel%20bootstrap%20and%
20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=
windows-x86_64/1493/console and http://ci.bazel.io/view/Bazel%
20bootstrap%20and%20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=
windows-msvc-x86_64/1493/console
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2977 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AExrX_ErXPOvl33j3DShq-xExvXphZKeks5r41lpgaJpZM4NVqzg>
.
--
Google Germany GmbH
*Erika-Mann-Straße 33, 80636 München, Germany*
|
Done. I logged in to all 4 Windows workers, downloaded the msys-less 0.5.0rc6 binary into c:/bazel_ci/installs/0.5.0rc6-msvc/bazel.exe, and updated the c:/bazel_ci/installs/{bootstrap,latest} junctions to point to 0.5.0rc6-msvc. The first CI run to use the new binary will be http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/1497/ |
There was one instance of this problem since my last update: http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=windows-msvc-x86_64/1527/console |
This will help diagnose #2977, which I believed to have been fixed by the release of 0.5.0, however it seems to have failed once more with 0.5.0, alas without knowing the actual bootstrap bazel's version I cannot be sure. Change-Id: I71e100c549b4ef30699efe6363b72eb792ad1c23 PiperOrigin-RevId: 158243584
I haven't seen this bug in a while. |
http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=windows-msvc-x86_64/1482/console
Might be a flake? The same error happened last week.
The text was updated successfully, but these errors were encountered: