Date: Wed, 16 Mar 2016 19:06:31 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 208070] Kernel panic zfs_setextatt zpool version 28 Message-ID: <bug-208070-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D208070 Bug ID: 208070 Summary: Kernel panic zfs_setextatt zpool version 28 Product: Base System Version: 9.3-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: arthurramsey19@gmail.com CC: freebsd-amd64@FreeBSD.org CC: freebsd-amd64@FreeBSD.org Kernel panic occurs when a Windows client writes a file to a CIFS share on a v28 zpool. The zpool was imported from a Nexenta (Illumos) box. I assume th= is issue has something to do what how Nexenta (Illumos) does ACLs when compare= d to FreeBSD. The issue is resolved by a zpool is upgrade. Fatal trap 12: page fault while in kernel mode cpuid =3D 0; apic id =3D 00 fault virtual address =3D 0x48 fault code =3D supervisor read data, page not present instruction pointer =3D 0x20:0xffffffff81ac5970 stack pointer =3D 0x28:0xffffff824f2301c0 frame pointer =3D 0x28:0xffffff824f230250 code segment =3D base 0x0, limit 0xfffff, type 0x1b =3D DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags =3D interrupt enabled, resume, IOPL =3D 0 current process =3D 1223 (smbd) trap number =3D 12 panic: page fault cpuid =3D 0 KDB: stack backtrace: #0 0xffffffff80925736 at kdb_backtrace+0x66 #1 0xffffffff808eb2fe at panic+0x1ce #2 0xffffffff80cd28e0 at trap_fatal+0x290 #3 0xffffffff80cd2c41 at trap_pfault+0x211 #4 0xffffffff80cd3243 at trap+0x363 #5 0xffffffff80cbc433 at calltrap+0x8 #6 0xffffffff81ad137c at zfs_freebsd_create+0x6ec #7 0xffffffff80dd5492 at VOP_CREATE_APV+0x72 #8 0xffffffff8099a01c at vn_open_cred+0x4bc #9 0xffffffff81ad25d8 at zfs_setextattr+0x1b8 #10 0xffffffff80dd4288 at VOP_SETEXTATTR_APV+0x78 #11 0xffffffff8097ad23 at extattr_set_vp+0x193 #12 0xffffffff8097b082 at sys_extattr_set_file+0x162 #13 0xffffffff80cd208a at amd64_syscall+0x5ea #14 0xffffffff80cbc717 at Xfast_syscall+0xf7 I have a core dump that's ~30MB, but I'm not sure how I will get to you. # zfs list tank NAME USED AVAIL REFER MOUNTPOINT tank 251G 290G 44.5K /mnt/tank # zpool status tank pool: tank state: ONLINE status: The pool is formatted using a legacy on-disk format. The pool = can still be used, but some features are unavailable. action: Upgrade the pool using 'zpool upgrade'. Once this is done, the pool will no longer be accessible on software that does not support feature flags. scan: scrub repaired 0 in 1h3m with 0 errors on Sun Mar 6 01:03:08 2= 016 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 = 0=20=20=20 0 mirror-0 ONLINE 0 = 0=20=20=20 0 gptid/5a0a0323-7921-6964-8e75-d40c5d01776a ONLINE 0 = 0=20=20=20 0 gptid/34ba81da-c021-5acf-da0a-b99b02b81b6d ONLINE 0 = 0=20=20=20 0 errors: No known data errors # zpool get version NAME PROPERTY VALUE SOURCE freenas-boot version - default tank version 28 local # zfs get all tank/public NAME PROPERTY VALUE SOURCE tank/public type filesystem - tank/public creation Thu Dec 11 11:26 2014 - tank/public used 15.8G - tank/public available 289G - tank/public referenced 15.8G - tank/public compressratio 1.06x - tank/public mounted yes - tank/public quota none default tank/public reservation none default tank/public recordsize 128K default tank/public mountpoint /mnt/tank/public default tank/public sharenfs off default tank/public checksum on default tank/public compression on inherited from tank tank/public atime on default tank/public devices on default tank/public exec on default tank/public setuid on default tank/public readonly off default tank/public jailed off default tank/public snapdir hidden default tank/public aclmode passthrough inherited from tank tank/public aclinherit passthrough inherited from tank tank/public canmount on default tank/public xattr off temporary tank/public copies 1 default tank/public version 5 - tank/public utf8only off - tank/public normalization none - tank/public casesensitivity mixed - tank/public vscan off default tank/public nbmand off default tank/public sharesmb name=3Dpublic local tank/public refquota none default tank/public refreservation none default tank/public primarycache all default tank/public secondarycache all default tank/public usedbysnapshots 0 - tank/public usedbydataset 15.8G - tank/public usedbychildren 0 - tank/public usedbyrefreservation 0 - tank/public logbias latency default tank/public dedup off default tank/public mlslabel - tank/public sync standard default tank/public refcompressratio 1.06x - tank/public written 15.8G - tank/public logicalused 16.8G - tank/public logicalreferenced 16.8G - tank/public volmode default default tank/public filesystem_limit none default tank/public snapshot_limit none default tank/public filesystem_count none default tank/public snapshot_count none default tank/public redundant_metadata all default tank/public nms:dedup-dirty off local # getfacl /mnt/tank/public # file: /mnt/tank/public # owner: root # group: wheel group:domain admins:rwxpDdaARWcCos:fd----:allow everyone@:rwxp-daARWc--s:fd----:allow # getfacl /mnt/tank/public/Scans # file: /mnt/tank/public/Scans # owner: 1002 # group: 10 group:domain admins:rwxpDdaARWcCos:fd----:allow group:domain admins:rwxpDdaARWcCos:fd----:allow everyone@:rwxp-daARWc--s:fd----:allow # getfacl /mnt/tank/public/Scans/Thumbs.db # file: /mnt/tank/public/Scans/Thumbs.db # owner: nobody # group: nobody group:domain admins:rwxpDdaARWcCos:------:allow group:domain admins:rwxpDdaARWcCos:------:allow everyone@:rwxp-daARWc--s:------:allow # lspci 00:00.0 Host bridge: Intel Corporation Xeon E5/Core i7 DMI2 (rev 07) 00:01.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root = Port 1a (rev 07) 00:02.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root = Port 2a (rev 07) 00:02.2 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root = Port 2c (rev 07) 00:03.0 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root = Port 3a in PCI Express Mode (rev 07) 00:03.2 PCI bridge: Intel Corporation Xeon E5/Core i7 IIO PCI Express Root = Port 3c (rev 07) 00:04.0 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 0 = (rev 07) 00:04.1 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 1 = (rev 07) 00:04.2 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 2 = (rev 07) 00:04.3 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 3 = (rev 07) 00:04.4 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 4 = (rev 07) 00:04.5 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 5 = (rev 07) 00:04.6 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 6 = (rev 07) 00:04.7 System peripheral: Intel Corporation Xeon E5/Core i7 DMA Channel 7 = (rev 07) 00:05.0 System peripheral: Intel Corporation Xeon E5/Core i7 Address Map, VTd_Misc, System Management (rev 07) 00:05.2 System peripheral: Intel Corporation Xeon E5/Core i7 Control Status= and Global Errors (rev 07) 00:05.4 PIC: Intel Corporation Xeon E5/Core i7 I/O APIC (rev 07) 00:11.0 PCI bridge: Intel Corporation C600/X79 series chipset PCI Express Virtual Root Port (rev 06) 00:16.0 Communication controller: Intel Corporation C600/X79 series chipset= MEI Controller #1 (rev 05) 00:16.1 Communication controller: Intel Corporation C600/X79 series chipset= MEI Controller #2 (rev 05) 00:1a.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enha= nced Host Controller #2 (rev 06) 00:1d.0 USB controller: Intel Corporation C600/X79 series chipset USB2 Enha= nced Host Controller #1 (rev 06) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6) 00:1f.0 ISA bridge: Intel Corporation C600/X79 series chipset LPC Controller (rev 06) 00:1f.2 SATA controller: Intel Corporation C600/X79 series chipset 6-Port S= ATA AHCI Controller (rev 06) 00:1f.3 SMBus: Intel Corporation C600/X79 series chipset SMBus Host Control= ler (rev 06) 00:1f.6 Signal processing controller: Intel Corporation C600/X79 series chi= pset Thermal Management Controller (rev 06) 03:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05) 05:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connect= ion (rev 01) This is a 2U Supermicro with 16 GB of RAM. There is also a workaround without upgrading zpool. 1. Set old dataset to readonly zfs set readonly=3Don tank/public 2. Create new dataset via FreeNAS UI with compression: on, share type: Wind= ows, case sensitivity: sensitive, enable atime: on and dedupe: off. 3. Set ACLs chown nobody:nobody /mnt/tank/new setfacl -x 'owner@:rwxpD-a-R-c---:------:allow' /mnt/tank/new setfacl -x 'group@:rwxpD-a-R-c---:------:allow' /mnt/tank/new setfacl -m 'group:domain admins:rwxpDdaARWcCo-:fd----:allow' /mnt/tank/new 4. Setup CIFS share 5. Copied data from old read only dataset to new dataset using Windows CIFS client 6. Corrected ACLs using Windows CIFS client and applied the ACL recursively 7. Rename old dataset 8. Rename new dataset to replace old dataset I originally reported this to the FreeNAS forums. You can view the thread here: https://forums.freenas.org/index.php?threads/zfs-crash.41952/#post-270114. = I was able to reproduce the issue with FreeBSD 9.3, so I decided to report it upstream to the FreeBSD project. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-208070-8>