Created attachment 211466 [details] ZFS core file (xz compressed) I have a FreeBSD 12.1 system running zfs as root (default zfs install) + pkg base installed (all 318 packages). While I was testing the rollback of a system update using the 'zfs rollback' command after 'pkg upgrade -f' and I noticed that zfs rollback for 'zroot/ROOT/default@pre-update' is segfaulting. Strangely if I run the same command again after sleeping for 10 seconds it works flawlessly every time. Here is the backtrace for the segmentation fault from the core file. ----- (gdb) backtrace #0 0x00000008004a7e4a in pthread_rwlock_unlock_exp (p0=0x6) at /usr/src/lib/libc/gen/_pthread_stubs.c:249 #1 0x000000080029402e in zcmd_ioctl (fd=6, request=25, zc=0x6) at /usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c:113 #2 0x0000000800292374 in lzc_ioctl (ioc=3222821401, name=<optimized out>, source=<optimized out>, resultp=0x7fffffffdc40) at /usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c:187 #3 0x0000000800293492 in lzc_rollback_to (fsname=0xc0185a19 <error: Cannot access memory at address 0xc0185a19>, snapname=<optimized out>) at /usr/src/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c:869 #4 0x00000008002dc381 in zfs_rollback (zhp=0x800839280, snap=<optimized out>, force=<optimized out>) at /usr/src/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c:4194 #5 0x000000000020e2a1 in zfs_do_rollback (argc=<optimized out>, argv=0x7fffffffeb18) at /usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:3574 #6 0x000000000020c6a4 in main (argc=<optimized out>, argv=0x7fffffffeb10) at /usr/src/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c:7507 (gdb) ----- I have attached the zfs.core file along with the shell script to reproduce the segmentation fault.
Created attachment 211467 [details] Shell script to reproduce the segfault This shell script reproduces the issue 100% of the time for me
Kubilay, I think that zfs-devel@ list is effectively dead.
Apologies, mistake in drop-down selection, thanks for the heads-up, and everyone (@freebsd.org) can triage :)
Does this script do a rollback on the mounted root filesystem zroot/ROOT/default? If so this seems more or less expected since various system libraries, like libthr.so, will be modified during the operation.