Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jan 2012 07:38:12 +0400
From:      Yuri Pankov <yuri.pankov@gmail.com>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: panic: No NCF_TS
Message-ID:  <20120123033812.GC10149@sirius.xvoid.org>
In-Reply-To: <20120123030513.GK31224@deviant.kiev.zoral.com.ua>
References:  <20120123013642.GB10149@sirius.xvoid.org> <20120123030513.GK31224@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 23, 2012 at 05:05:13AM +0200, Kostik Belousov wrote:
> On Mon, Jan 23, 2012 at 05:36:42AM +0400, Yuri Pankov wrote:
> > Seems to be reproducible here running r230467 as the NFS client and
> > r230135 as NFS server. NFSv4 not enabled.
> > 
> > # mount
> > [...]
> > sirius:/data/distfiles on /usr/ports/distfiles (nfs)
> > 
> > # /usr/bin/env /usr/bin/fetch -AFpr -S 4682084 -o /usr/ports/distfiles/sqlite-src-3071000.zip http://www.sqlite.org/sqlite-src-3071000.zip
> > /usr/ports/distfiles/sqlite-src-3071000.zip   100% of 4572 kB  379 kBps 00m00s
> > # rm /usr/ports/distfiles/sqlite-src-3071000.zip
> > 
> > immediately followed by:
> > 
> > panic: No NCF_TS
> > cpuid = 2
> > KDB: enter: panic
> > [ thread pid 1603 tid 100494 ]
> > Stopped at	kdb_enter+0x3e:	movq	$0,kdb_why
> > db> bt
> > Tracing pid 1603 tid 100494 td 0xfffffe0089585460
> > kdb_enter() at kdb_enter+0x3e
> > panic() at panic+0x245
> > cache_lookup_times() at cache_lookup_times+0x6b5
> > nfs_lookup() at nfs_lookup+0x190
> > VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0x8b
> > lookup() at lookup+0x7e9
> > namei() at namei+0x74c
> > kern_statat_vnhook() at kern_statat_vnhook+0x90
> > sys_lstat() at sys_lstat+0x30
> > amd64_syscall() at amd64_syscall+0x221
> > Xfast_syscall() at Xfast_syscall+0xfb
> > --- syscall (190, FreeBSD ELF64, sys_lstat), rip = 0x80093ff3c, rsp = 0x7fffffffd8d8, rbp = 0x7fffffffd979 ---
> > 
> 
> Yes, my bad. I wrote the r230441 with the assumption that filesystems
> are consistent in their use of cache_enter_time(). And my net-booting
> test box did not catched this, which is at least interesting.
> 
> Please try the change below. Actually, it should be enough to only apply
> the changes for fs/nfsclient (or nfsclient/ if you use old nfs). If this
> does not help, then please try the whole patch.
> 
> Even if not needed for correctness, I think vfs_cache.c change could
> be made useful by adding KASSERT to it.

Thanks, applying only the fs/nfsclient part of the patch helped. No
problems after applying the full patch as well.


Yuri



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120123033812.GC10149>