Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per documentation, this
modeargument should be restricted by theumask, but there's no good way to get the currentumask(libuv usesumask(current_umask = umask(0)), though that's racy and thus a bad idea) :/There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know what to do about this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vtjnash: do you have a suggestion of what should be done here aside from leaving a comment in case we ever have a
umaskfunction that is able to get theumask?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I built Julia with the "offending" libuv commit reverted and the issue persists.
If you want to try it out add the following to your
Make.userThen run
> $env:JULIA_DEPOT_PATH="C:\.julia-dev"in PowerShell and run Julia and add any package. Unless something was built incorrectly (and I don't think it was), the linked issue persists.So clearly it shouldn't be libuv commit that caused this issue in the 1.5.3 upgrade: #38122, right?
I was almost sure it was the offending libuv commit, but now I don't think so. For one, I checked that child folders created in the parent
C:\\throughmkdirin Julia 1.5.2 and Julia 1.5.3 and both had identical permissions. Surprisingly, neither had write permissions, but that doesn't affect things it looks like.Ok so then I kept digging.
Looking at:
v1.5.2...v1.5.3
And doing some more digging, it looks like a Pkg bump might have caused the permissions changes. In particular, my hunch was that this change could have caused this https://github.com/JuliaLang/Pkg.jl/pull/2150/files#diff-9a6a909fb1a0128f652bc4ca79a4df77d5dbb6bafeac08d5cc2e6e9be9bc07fbR230
So let's test and revert that line.....and once again,
unlinkpermission errors. I also tried reverting 0305b7c and again the same issue.So I'm at wits end on what's actually causing the linked issue.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After a careful git bisect I'm lead to the following commits triggering this issue on 1.5.3
JuliaLang/libuv@794bfdf
JuliaLang/libuv@1dcf324
julia-master has some additional changes that cause further bugs that mask this, but on 1.5.3, those are the offending commits.