Repository navigation
sandboxed - Failed to open frecency/history database #974
|
I have the fff pi plugin installed in my nono-sandboxed pi. At startup it errors with
and I don't quite see why. It does not complain when not sandboxed. I have r/w allowed on Any ideas? Nono also doesn't show any rejected reads or writes. |
Replies: 1 comment 2 replies
|
If you're on macOS, it isn't the files, it's LMDB's lock. fff keeps frecency/history in LMDB through heed 0.22 (Cargo.toml) without heed's Fix: allow SysV semaphores in a profile you own. nono only applies raw Seatbelt rules from user profiles (it strips them from pack and built-in ones), so add this to the profile you run pi with, or wrap the pack in {
"extends": "nolabs-ai/pi",
"meta": { "name": "pi-local", "version": "1.0.0" },
"unsafe_macos_seatbelt_rules": ["(allow ipc-sysv-sem)"]
}and start it with I checked this with a small C program built from the same LMDB source fff ships (lmdb-master-sys 0.2.5) that opens an env with |
If you're on macOS, it isn't the files, it's LMDB's lock. fff keeps frecency/history in LMDB through heed 0.22 (Cargo.toml) without heed's
posix-semfeature, and on macOS LMDB then locks with SysV semaphores:ftok()onlock.mdb, thensemget()/semctl()(mdb.c, here). nono's Seatbelt profile starts from(deny default)and never allowsipc-sysv-sem; evenipc_mode: "full"only addsipc-posix-sem*(macos.rs, v0.80.0). Sosemgetgets EPERM, heed reportsOperation not permitted (os error 1), and nono logs nothing because no file read or write was refused.Fix: allow SysV semaphores in a profile you own. nono only applies raw Seatbelt rules from user profiles (it strips them from pack and built-i…