Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 2009 20:00:17 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Joe Marcus Clarke <marcus@FreeBSD.org>
Cc:        current <current@FreeBSD.org>
Subject:   Re: Panic in vfs_cache on i386
Message-ID:  <Pine.GSO.4.63.0904141955360.3394@muncher.cs.uoguelph.ca>
In-Reply-To: <1239689868.1304.209.camel@shumai.marcuscom.com>
References:  <1239689868.1304.209.camel@shumai.marcuscom.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Tue, 14 Apr 2009, Joe Marcus Clarke wrote:

> I'm seeing this panic on my -CURRENT i386 Tinderbox machine (using
> looped back NFS).  The backtrace does not point to a line number in
> vfs_cache.c, and I can't figure out how atomic_cmpset_int is being
> called, so I'm confused as to exactly what is causing this.  Any clues?
>
Only a clue. but I'd guess it's one of the SDT_PROBE()s. I think they
us sx_xlock() and that uses atomic_cmpset_int(). I don't know anything
about SDT_PROBE(), but I did notice that this one uses cn_nameptr, which
I don't think is always null terminated.

You could try commenting out the SDT_PROBE()s in cache_lookup() and see
if it helps? rick

- around line #440 in vfs_cache.c

 	/* We failed to find an entry */
 	if (ncp == NULL) {
--->		SDT_PROBE(vfs, namecache, lookup, miss, dvp, cnp->cn_nameptr,
 		    NULL, 0, 0);
 		if ((cnp->cn_flags & MAKEENTRY) == 0) {
 			nummisszap++;
 		} else {
 			nummiss++;
 		}
 		nchstats.ncs_miss++;
 		goto unlock;
 	}



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