On current/amd64, fsdb(8) fails like this: # fsdb -f /dev/rsd0l ** /dev/rsd0l Editing file system `/dev/rsd0l' Last Mounted on /usr/xenocara current inode: directory I=2 MODE=40755 SIZE=512 MTIME=Aug 8 19:27:56 2016 [0 nsec] CTIME=Aug 8 19:27:56 2016 [0 nsec] ATIME=Aug 8 19:27:56 2016 [0 nsec] OWNER=root GRP=wheel LINKCNT=2 FLAGS=0 BLKCNT=4 GEN=f3a7fd9 Abort trap (core dumped)
ktrace says it's a pledge fault: [...] 97279 fsdb NAMI "/root/.terminfo" 97279 fsdb PLDG stat, "rpath", errno 1 Operation not permitted 97279 fsdb PSIG SIGABRT SIG_DFL code <2036643296> 97279 fsdb NAMI "fsdb.core" fsdb(8) uses fsck(8) code to do its work (as mentioned in the manpage). Apparently, the pledge(2) setup of fsdb(8) is done in fsck_ffs/setup.c; while probably correct for fsck, this seems to be what makes fsdb crash: if (!hotroot()) { #ifndef SMALL if (pledge("stdio getpw", NULL) == -1) err(1, "pledge"); #else if (pledge("stdio", NULL) == -1) err(1, "pledge"); #endif (There is a more generous pledge above that, this is a restriction.) I don't know what SMALL fsck is and what hotroot means exactly, so I will leave a proper fix to someone else, but disabling those lines makes fsdb not crash. Jan