On Sun, Sep 8, 2013 at 4:27 PM, Sean Bruno <sean_bruno_at_yahoo.com> wrote: > On Sat, 2013-09-07 at 17:05 +0200, Davide Italiano wrote: >> On Fri, Sep 6, 2013 at 6:00 PM, Sean Bruno <sean_bruno_at_yahoo.com> wrote: >> > Our "yBSD" builder needs to mount a disk image temporarily that has a >> > dos partition (for openstack-ish things) to put configs into it. It >> > seems that under high stress, we can squeeze a panic out of it in >> > namei(). >> > >> > Sean >> > >> > >> > Unread portion of the kernel message buffer: >> > panic: namei: nameiop contaminated with flags >> > cpuid = 8 >> > KDB: stack backtrace: >> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe048d8e53b0 >> > kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe048d8e5460 >> > vpanic() at vpanic+0x126/frame 0xfffffe048d8e54a0 >> > kassert_panic() at kassert_panic+0x136/frame 0xfffffe048d8e5510 >> > namei() at namei+0x2c8/frame 0xfffffe048d8e5600 >> > msdosfs_mount() at msdosfs_mount+0x556/frame 0xfffffe048d8e57c0 >> > vfs_donmount() at vfs_donmount+0xc35/frame 0xfffffe048d8e5aa0 >> > sys_nmount() at sys_nmount+0x72/frame 0xfffffe048d8e5ae0 >> > amd64_syscall() at amd64_syscall+0x223/frame 0xfffffe048d8e5bf0 >> > Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe048d8e5bf0 >> > --- syscall (378, FreeBSD ELF64, sys_nmount), rip = 0x8000a8b68a, rsp = 0x7fffffffd508, rbp = 0x7fffffffdb30 --- >> > Uptime: 34m55s >> > Dumping 1140 out of 16350 MB:..2%..12%..22%..31%..41%..51%..61%..71%..82%..92% >> > >> > Reading symbols from /boot/modules/msdosfs.ko...done. >> > Loaded symbols for /boot/modules/msdosfs.ko >> > #0 doadump (textdump=1) at pcpu.h:227 >> > 227 pcpu.h: No such file or directory. >> > in pcpu.h >> > (kgdb) Hangup detected on fd 0 >> > error detected on stdin >> >> Can you please print the value of cnp->cn_nameiop (or, even better, >> the whole struct) before the panic? >> >> Thanks, >> > > Hrm ... tried to reproduce after recompiling the kernel (turning off > KDB_UNATTENDED) and its not happening now. > > I'll keep an eye out for it. > > Sean >From a first look (even without the informations) it looks very strange that the assertion fails, NDINIT() is called just before namei() in order to initialize struct nameidata, and that's what almost every other filesystem do, so I'm surprised noone hit this problem before. A (relatively random) guess is that you might run on (some sort of) broken hardware. Thanks, -- Davide "There are no solved problems; there are only problems that are more or less solved" -- Henri PoincareReceived on Sun Sep 08 2013 - 21:36:14 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC