With Safe Bash / Safe FS 0.1.684, the custom JSPI Pyodide executor fails native os.stat('/dev/null'):
OSError: [Errno 61] canonical identity or required stat metadata unavailable: '/dev/null'
Reproduced in workerd/Miniflare against an injected authoritative filesystem. Normal native file stat and null descriptor I/O work.
DeviceFileSystem supplies synthetic ino, dev, nlink, size and times for /dev/null and /dev, but omits uid/gid. Python's stat projection requires both and rejects the result. Please provide complete stable virtual-device metadata for path stat/lstat and descriptor fstat, keeping virtual-device identity separate from backing filesystem identity. Add actual native Python tests for os.stat, os.lstat, and os.fstat(os.open('/dev/null', ...)) and /dev metadata.
This is separate from closed #756, which fixed descriptor open/read/write.
With Safe Bash / Safe FS 0.1.684, the custom JSPI Pyodide executor fails native
os.stat('/dev/null'):Reproduced in workerd/Miniflare against an injected authoritative filesystem. Normal native file stat and null descriptor I/O work.
DeviceFileSystemsupplies syntheticino,dev,nlink, size and times for/dev/nulland/dev, but omitsuid/gid. Python's stat projection requires both and rejects the result. Please provide complete stable virtual-device metadata for path stat/lstat and descriptor fstat, keeping virtual-device identity separate from backing filesystem identity. Add actual native Python tests foros.stat,os.lstat, andos.fstat(os.open('/dev/null', ...))and/devmetadata.This is separate from closed #756, which fixed descriptor open/read/write.