You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I create /pipe/input on the memory file system, calling int fd = open("/pipe/input", O_RDONLY); will succeed, but calling fstat(fd, &stat) will fail with EPERM
nothing is read after the first int32.
trying to use a separate pipe doesn't work because .NET wants to FStat, but
vscode-wasm has a bug with
mountpoint directories having bad permissions
microsoft/vscode-wasm#111
If I create
/pipe/input
on the memory file system, callingint fd = open("/pipe/input", O_RDONLY);
will succeed, but callingfstat(fd, &stat)
will fail withEPERM
Repro: clone the "memfs" branch of https://github.com/lambdageek/big-buffer-write/tree/memfs build and run the extension and run it with "wasi: write big buffer". pick a small value from the Quick Pick, like 20.
Note the output in the output window:
Also,
FileOnlyBaseRights
looks like a typo:vscode-wasm/wasm-wasi-core/src/common/memoryFileSystemDriver.ts
Lines 241 to 242 in 62adc93
This should probably be
const FileOnlyBaseRights: rights = FileBaseRights & ~DirectoryBaseRights;
Why I care: .NET does an
FStatCheckIO
after opening a file that ends up failinghttps://github.com/dotnet/runtime/blob/e2a2bfff005ea0620cf1d2b04a01dc90bbfe8ead/src/libraries/System.Private.CoreLib/src/Microsoft/Win32/SafeHandles/SafeFileHandle.Unix.cs#L334
So
FileStream f = File.OpenRead("/pipe/input")
always failsThe text was updated successfully, but these errors were encountered: