- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.7k
test libuv with posix delete on windows #53394
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
Conversation
| I believe most/all of the rm error logs on Windows CI remain here, but those all appear to be related to deleting temp depot  | 
| 
 Hm, I was hopeing that would be fixed by it. Does this also apply posix rm to directories? | 
| 
 Disregard, I was unaware that we only call  @vtjnash perhaps this is falling back to the old delete method? We could check by making the fallback error or print? | 
| 
 You could also probably very easily fix  | 
0bdb41a    to
    9ac2009      
    Compare
  
    | This seems to be working, the rm failures are gone on windows, but it has introduced inconsistent behavior on windows where these now do not error, so both fail Lines 498 to 499 in 9ac2009 
 @vtjnash Should I push these changes (not the failed attempt at a test) to libuv/libuv#4318 or should we separate the changes? | 
| This is failing again. On a windows VM with this build on MacOS  | 
f46c73b    to
    b1c5f1b      
    Compare
  
    | Note that I've moved the try-catch inside the for loop as recursive delete was failing eagerly and leaving deletable files behind. An example of an  The  Why would  | 
| I wonder if the issue is just specific to loaded dlls. In that when julia dlopens the dll it's not opened with  
 and this interesting discussion https://stackoverflow.com/a/63678753 Also I double checked that the posix delete mode still requires file handles to be opened with  | 
| So I'm approaching a conclusion that: 
 | 
| Just to add notes. It does seem UV_EACCES is being thrown here https://github.com/JuliaLang/libuv/blob/7d5a80d35512b12973d7fed4f36dc9044a27e14a/src/win/fs.c#L1131 I got that in a VM. I was getting confused because on the buildkite logs the  | 
| So that confirms that posix delete is failing with  
 I think that's a conclusion then. We can't rm DLLs that are currently loaded on windows, even with posix delete. But I do believe you can move them. So there could be an approach of moving them out of the directory being deleted.. (if we did that then we should move the try catch in the rm recursion to inside the loop, as it currently fails fast if it knows it can't rm the dir) It does seem like doing posix delete in libuv is still a good thing, and allows removing windows things like  fyi, @vchuravy | 
Testing libuv/libuv#4318
i.e. to fix #34700