Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Apr 2000 13:39:07 -0400 (EDT)
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        Michael Reifenberger <root@nihil.plaut.de>, dillon@freebsd.org, current@FreeBSD.ORG, alc@FreeBSD.ORG
Subject:   Re: panic: vm_object_shadow: source object has OBJ_ONEMAPPING set.
Message-ID:  <Pine.BSF.4.21.0004151332140.16430-100000@green.dyndns.org>
In-Reply-To: <20000415092639.Q4381@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 15 Apr 2000, Alfred Perlstein wrote:

> Yes, find all places where source->ref_count is incremented and check
> for OBJ_ONEMAPPING as well as where OBJ_ONEMAPPING is set.
> 
> Then add some printfs to find the snippet that's incrementing it
> to complain when the OBJ_ONEMAPPING bit is set, and complain if
> setting OBJ_ONEMAPPING when the refcount is too high.

Further elaboration:

there is an assumption that it is wrong for OBJ_ONEMAPPING to be set but
not when ref_count > 1.  This assumption is defeated in the multiple test
cases we can find.  It seems that in the test cases, the common problem
is with (I think mmap()d) memory across multiple processes that _share_
_a_VM_space_!  It seems like what's happening is that the ref_count is
increased to reflect that each process has a hold of this object, which
may or may not be correct, and when that object is faulted on, the code
panics because it assumes that OBJ_ONEMAPPING means that there's only
one mapping of the object, but there are multiple references and so it
panics.

The question is not just "why" a OBJ_ONEMAPPING object has a ref_count > 1,
it's whether or not that is correct WRT multiple, shared-VM processes.

--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green@FreeBSD.org                    `------------------------------'



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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