-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Permission errors for precompilation on Windows #38411
Comments
I confirm this problem. Currently under Win10 you need to run Julia with administrator privileges to be able to precompile packages (this happens if you run it on top of files previously generated by Julia 1.5.2, so maybe in a clean environment this does not happen - I have not checked). |
Well, that is quite unfortunate :/. 0305b7c did something with permissions but I don't at glance see how that could cause this. |
What is the status of the issue? I think it requires a quick patch (but unfortunately I am probably not the best person to try fixing it). Just to expand on the issue: this error shows also when you update packages under Windows on 1.5.3. |
So the problem seems to be that precompilation files created with 1.5.2 have "wrong" permissions then? Does the 1.5.2 installer have elevated permissions somehow or how can that binary create files that 1.5.3 is not allowed to change? |
Does clearing |
No it does not. I have removed this folder and then did:
what happened is that:
|
Aren't we |
Hm, yes, so maybe it is chmod in both cases...? |
Any progress on this. For a reference this is what I get when trying to do
as you can see the problem is with |
I don't think we understand why this happens and attempts to reproduce it by other people have failed. I think what is needed is the exact point where the divergence in behavior from the earlier version happens. |
encountered this permission error during the compiling process in cygwin-64. The julia.exe excuatable has been generated successfully and then failed in the julia precompilation.
|
chmod doesn't work. make clean and re-compile will fail into the same error. |
If you revert a3430e7 does it still happen? |
It doesn't seem to related to [a3430e7]. For my precompilation error case, it seems to be a conflict between cygwin's persmission system and windows ACL. For offical julia 1.5.3 binaries, the precompilation error when I tried to import/using a package was also solved by changing the DEPOT folder's default permission setttings. |
If you delete it completely, does the new one we create have the correct permissions? |
In my case no. I am not sure if I have explicitly given this information above, but deleting everything and re-instantiating everything from scratch does not solve the problem. |
Will this be fixed for 1.6? |
If someone figures out how to do it. It is still unclear, why this only happens on some Windows machines and what is the change that caused it. |
I got similar error for Plots package and filed an issue thinking the problem belonged to it. Then I got more errors for more packages so I found this issue here. Now I know it is part of 1.5.3. |
@yilmazdurmaz if you unset the JULIA_DEPOT_PATH does it still error? |
@musm I have tested in these locations set as
If it is under user's folder, it has no problem on precompilations. outside, it gives exactly same errors for different packages (other than few lines of package name-path) as in bkamin's comment above after each test, I tried to remove these folders and I found out that even though Julia is started in a non-admin console, for non-user paths, many files/folders are managed to end up admin-level files, in which admin rights required to remove them. this had to not be happened without me giving any admin rights to that console. as stated in previous comments, 1.5.2 does not have this problem. |
Many thanks I can reproduce the issue now. Indeed, the issue is that if Repro:
|
#38942 should fix this |
Yeah 1.5.3 apparently had a libuv bump which changed the underlying |
It turns out that the offending commits are |
@staticfloat any chance when you rebased your commits on the 1.39 fork could've accidentally introduced a bug? |
Hmmm, yes since those commits are changing what I would be curious to see the |
solved and closed?!? |
I tried to use
And here are the same files for 1.5.2 (except the tmp file)
|
Why reopen? |
I'm not confident the correct solution is to uniformly
Can no longer be |
Well, if we have to revert it, then let's revert it? I didn't get the impression from the PR description that you didn't actually want it to get merged. |
No fault of your own, I should have made it more clear. I wasn't sure on the exact crux of the issue until today and it became clear that the PR wasn't the exact triggering point. |
I went ahead and tried to import
so workaround basically comes down to this:
there is one thing I need to be clear: although the error can be fixed in precompilation method, I mentioned all the time that all files in packages's folder has the same permissions error. this is because the same submethod is possibly used in |
Now precompilation works for me under Windows in terminal without a problem. However I today hit the following issue:
on:
when run in VSCode terminal. (I precompiled the package in the normal terminal after this without a problem) |
Several users report file permission errors when precompiling on Julia 1.5.3 which did not happen on 1.5.2, see https://discourse.julialang.org/t/precompilation-error-with-julia-1-5-3-windows-10-64-bit/50028. Since there was a libuv upgrade (rebuild?) between those to releases I guess that might be related.
The text was updated successfully, but these errors were encountered: