-
Notifications
You must be signed in to change notification settings - Fork 661
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
Occasionally creating a directory will fail #818
Comments
Hi all. My assertion was wrong in the original post, this is an issue that affects all versions (since at least 1.0.5) regardless of how the volume is mounted. I ran several versions of dokany 3 times to check how many times of recreating a directory it would take before the mkdir call failed;
In the past it would take a very high number of runs to fail. It seems like something has changed in the newer version to make it a more regular occurrence. I'm currently working on getting logs for the older versions of dokany but they are taking much longer to reproduce. It could be a few days before I have them ready for you. |
Sorry for the slow reply. I have not been able to get the appropriate debug logs because the task is refusing the fail in debug mode on the old builds. It seems that only mounting as a network drive in 1.3.0.1000 is regular enough to allow me to collect debug logs. Let me know if there is anything I can do to help with this issue, but at the moment I have no idea of where to start looking in the code |
Hi @pollylm , Thank you for your report. |
The point of failure in the single thread log appears to be
All following handles report the same error code. However, this error has been reported and overcome in previous parts of the logs so I'm not sure what makes this section different I'm still wondering if it is to do with the fact that we start reporting 'AccountName: SYSTEM, DomainName: NT AUTHORITY' at handle 39. I'm not confident about that but I can't see what else has changed. I'm trying again to get debug logs for 1.3.0.1000 regular mount but so far no failure whilst debugging. Hopefully that will change soon. I am running these tests by mounting the mirror class, then run a java class that repeatedly makes and deletes a folder on the mount. I can't upload the java file, but the code I'm running is
Mount mirror: mirror.exe /s /d /n /t 1 /r C:\Users\matrixstore\Desktop\dokan /l m |
The status of 0046 is file not found as expected since ###Cleanup 0045 was the operation to remove it. |
@pollylm have you been able to get more info on this ? |
I have found a consistent pattern; This pattern has been consistent across multiple tests. I have no idea why the explorer process sometimes does not send this notification however. |
Environment
Check List
Description
When mounted as a network drive, if you repeatedly create and delete a directory then it will eventually fail. It can take anywhere from 5 to 800 times to fail. This never occurs when mounting as a normal drive (have tested up to 10,000 iterations).
As far as I can see, problems begin after the account name starts to print as 'SYSTEM'. For some reason when mounted as a network drive it there appears to be two different access tokens in use, though I have no idea why. When mounted as a regular drive the account name is never 'SYSTEM'.
I mounted the network drive with the options:
Logs
Single threaded log
dokan only minimal test single thread.log
Multi-threaded log
dokan only minimal test.log
I have attached the logs for multi-threaded run as well as it had a strange behaviour where two processes took the same handle (0133). I'm not sure if that would have caused any problems. I don't think it would affect my current issue though as it still failed as a single-threaded application
The text was updated successfully, but these errors were encountered: