Date: Mon, 24 Nov 2025 10:34:04 -0800 From: Mark Millard <marklmi@yahoo.com> To: bob prohaska <fbsd@www.zefox.net>, Adrian Chadd <adrian@freebsd.org>, Carl Shapiro <cshapiro@panix.com>, Ronald Klop <ronald@freebsd.org>, "Herbert J. Skuhra" <herbert@gojira.at>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: Still seeing Failed assertion: "p[i] == 0" on armv7 buildworld [kib committed git: 72a447d0bc76 that should help] Message-ID: <06494416-5EEE-469A-BBB5-36CEC1672BC8@yahoo.com> In-Reply-To: <40BEA46A-96CE-46A1-A994-B8470EE0C844@yahoo.com> References: <aOvTG-20QRJtJJwf@int21h> <CANCZdfrJ8rph_rkT3Mk-sNYKNspoV15SvHWLsahzS0HnULi4ww@mail.gmail.com> <aO068RrAehdiHOoZ@www.zefox.net> <aRUJPryA4Vmu8dDD@www.zefox.net> <4957be52-e57f-4f5f-9626-d0f706480fe1@FreeBSD.org> <aRalt0YwsjV_mvMq@www.zefox.net> <87ldk9f4tt.wl-herbert@gojira.at> <CANCZdfrSaJ7snshhiV2r%2BEX_sazhJ-HFAK0e=q%2B-MOmP=uLKqg@mail.gmail.com> <aRnxOtZ8W2g6ZkVF@www.zefox.net> <CANCZdfqTZ311DGEQmH0FLKrh8csN-P=qwUt=RXGSTrehUfZi3g@mail.gmail.com> <aR_dxBLhRtcBq5k1@www.zefox.net> <40BEA46A-96CE-46A1-A994-B8470EE0C844@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Konstantin Belousov <kib_at_FreeBSD.org> wrote on Date: Mon, 24 Nov 2025 18:09:09 UTC : > The branch main has been updated by kib: > > URL: https://cgit.FreeBSD.org/src/commit/?id=72a447d0bc768c7fe8a9c972f710c75afebd581b > > commit 72a447d0bc768c7fe8a9c972f710c75afebd581b > Author: Konstantin Belousov <kib@FreeBSD.org> > AuthorDate: 2025-11-22 20:39:27 +0000 > Commit: Konstantin Belousov <kib@FreeBSD.org> > CommitDate: 2025-11-24 18:08:31 +0000 > > vm_object_page_remove(): clear pager even if there is no resident pages > > Swap pager might still carry the data. > > Debugging help from: mmel > Reviewed by: alc > Sponsored by: The FreeBSD Foundation > MFC after: 1 week > Differential revision: https://reviews.freebsd.org/D53891 > --- > sys/vm/vm_object.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c > index 5b4517d2bf0c..413ba5459e3d 100644 > --- a/sys/vm/vm_object.c > +++ b/sys/vm/vm_object.c > @@ -1988,7 +1988,7 @@ vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end, > (options & (OBJPR_CLEANONLY | OBJPR_NOTMAPPED)) == OBJPR_NOTMAPPED, > ("vm_object_page_remove: illegal options for object %p", object)); > if (object->resident_page_count == 0) > - return; > + goto remove_pager; > vm_object_pip_add(object, 1); > vm_page_iter_limit_init(&pages, object, end); > again: > @@ -2061,6 +2061,7 @@ wired: > } > vm_object_pip_wakeup(object); > > +remove_pager: > vm_pager_freespace(object, start, (end == 0 ? object->size : end) - > start); > } There is still some question about which way another test should be in vm_object_coalesce. But the above should be necessary, even if it is not always sufficient to prevent all potential failure types. See https://reviews.freebsd.org/D53891 for the status of what may be a pending additional change. === Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?06494416-5EEE-469A-BBB5-36CEC1672BC8>
