-
Notifications
You must be signed in to change notification settings - Fork 483
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
Create unexpectedly returns STATUS_OBJECT_NAME_INVALID #505
Comments
NOTE: I just noticed that you start MEMFS with the [Original answer follows.] That is indeed curious. Searching for
Are you able to debug MEMFS at all to determine which code is returning #undef STATUS_OBJECT_NAME_INVALID
#define STATUS_OBJECT_NAME_INVALID (DebugBreak(), ((NTSTATUS)0xC0000033L)) Running it under a debugger should reveal what generates the |
I built memfs with the change you suggested, and ran it, but the break never triggered, so it looks like the status code is coming from within WinFSP rather than user code. |
The WinFsp logs show what the user mode file system and/or the DLL return. Unfortunately this means you would have to compile the DLL as well to get the complete picture. |
I compiled the DLL as well. The status code comes from security.c:205. |
Thank you @carlreinke. Let me explain what happens here.
This to me looks like the correct behavior. I recommend the following:
|
FileSpy shows no trailing backslash:
(The failing operation shows a duration of |
This is strange (unless FileSpy trims the trailing backslash for some reason). It looks like I will have to repro this locally and try to determine what happens. |
Bug Report
Create sometimes returns STATUS_OBJECT_NAME_INVALID when opening a path that usually succeeds.
How to Reproduce
"C:\Program Files (x86)\WinFsp\SxS\sxs.20230328T002019Z\bin\memfs-x64.exe" -d -1 -D - -i -F NTFS -n 10 -s 2000000000 -m M:
Tixati spends a while preallocating the file and then says "error getting file info: The filename, directory name, or volume label is incorrect. (123)".
Behaviors
Here's the end of the debug output from memfs. The line of interest is the one containing
IoStatus=c0000033
. This is the only relevant error in the whole output, so I assume it must be what's causing Tixati to fail. And it's not clear why Create should fail with STATUS_OBJECT_NAME_INVALID here, given that it succeeds for the same disposition on the same path immediately before the failing operation.Here's the additional output if I try to start the download again, now that the file is already preallocated.
Environment
The text was updated successfully, but these errors were encountered: