[Bug 260884] [zfs] Panic in zfs_onexit_destroy
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 260884] [zfs] Panic in zfs_onexit_destroy"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Jan 2022 20:41:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260884 Michael Gmelin <grembo@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |allanjude@FreeBSD.org, | |freqlabs@FreeBSD.org --- Comment #1 from Michael Gmelin <grembo@FreeBSD.org> --- I found a way to reproduce the panic within seconds: ``` $ cat >crashme.c<<EOF #include <unistd.h> #include <sys/stdtypes.h> #include <libzfs_core.h> int main(int argc, char** argv) { fork(); fork(); fork(); fork(); for (int i=0; i<1000000; ++i) { libzfs_core_init(); lzc_exists(argc >= 2 ? argv[1] : "zroot"); libzfs_core_fini(); } } EOF $ cc \ -I/usr/src/sys/contrib/openzfs/include \ -I/usr/src/sys/contrib/openzfs/lib/libspl/include \ -lzfs_core -lzfs -o crashme crashme.c $ ./crashme zroot ``` This doesn't require root privileges. Applying the patch mentioned above fixes the problem: ``` # cd /usr/src/sys/contrib/openzfs # fetch -o - \ https://github.com/openzfs/zfs/commit/f845b2dd1c60.diff | patch -p1 # cd /usr/src # make -j8 kernel # reboot ... $ ./crashme zroot && echo "I'm ok" I'm ok $ ``` Given that this can be triggered by two unfortunately timed `zfs list` calls and that it actually happens in practice (like in my example, where I would see my hosts crash every few hours/days), I would like us to import this fix to release/13.0 and create an errata notice. -- You are receiving this mail because: You are the assignee for the bug.