I have 735 text files in an Upspin directory, 408kB total. I can grep and cat them just fine, but this Go loop kernel panics before it can finish, even if I sleep between reads:
for _, path := range paths {
os.ReadFile(path)
}
That makes it hard to write client programs! Does anyone else struggle with this?
It's been a problem for as long as I've used upspinfs on macOS, though I'm currently using Go 1.17.6 on macOS 12.2 on an Apple M1.
The full trace is here. The headline is "panic(cpu 4 caller 0xfffffe002120d808): lck_mtx_unlock(): Attempt to release lock not owned by thread (0xfffffe2999d8c060) @locks_arm.c:1687" and of course, "Kernel Extensions in backtrace: io.macfuse.filesystems.macfuse(2084.20)[66ADEEBF-34FC-3531-B0CB-3DC4811653DC]@0xfffffe0020694f20→0xfffffe00206a772b".