Created attachment 224076 [details]
Script to trigger the behaviour
Fsck in preen mode dumps core when trying to check a gjournaled filesystem. Only full fsck can check and repair a gjournaled fs. The attached script can be used to reproduce this behaviour.
> root@sheep:~ # fsck -p /dev/md100.journal
> fsck: /dev/md100.journal: Segmentation fault
> root@sheep:~ #
I've reported this bug as of FreeBSD 12.1 or 12.2 and no I'm here to notify it's still present in F13 release.
*** This bug has been marked as a duplicate of bug 245907 ***
A commit in branch main references this bug:
Author: Kirk McKusick <mckusick@FreeBSD.org>
AuthorDate: 2021-05-21 20:41:40 +0000
Commit: Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2021-05-21 20:42:37 +0000
Fix fsck_ufs segfaults with gjournal (SU+J)
The segfault was being hit in ckfini() (sbin/fsck_ffs/fsutil.c)
while attempting to traverse the buffer cache to flush dirty buffers.
The tail queue used for the buffer cache was not initialized before
dropping into gjournal_check(). Move the buffer initialization earlier
so that it has been done before calling gjournal_check().
Reported by: crypt47, nvass
Fix by: Robert Wing
Tested by: Robert Wing
MFC after: 3 days
Sponsored by: Netflix
sbin/fsck_ffs/main.c | 1 +
sbin/fsck_ffs/setup.c | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)