Date: Thu, 11 Sep 2014 15:38:10 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 193565] New: panic in vm_reserv_alloc_contig Message-ID: <bug-193565-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193565 Bug ID: 193565 Summary: panic in vm_reserv_alloc_contig Product: Base System Version: 10.0-RELEASE Hardware: Any OS: Any Status: Needs Triage Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: eric@vangyzen.net With code that exercises contigmalloc, I can reliably induce a panic (page fault or GPF) in vm_reserv_alloc_contig. The immediate cause is a bad pointer around line 431 (without INVARIANTS), or failing the (rv->object == NULL) assertion. After a little digging, I see that vm_reserv_alloc_contig calls vm_phys_alloc_contig with an allocpages value that is not a multiple of VM_LEVEL_0_NPAGES. This seems bad. Before the call to vm_phys_alloc_contig, I see the following values (via printf): allocpages=646 minpages=646 maxpages=1024 pindex=2013184 VM_RESERV_INDEX(object, pindex)=0 npages=646 object=0xffffffff80bd3fe8 allocpages is set to minpages by the (msucc != NULL) case. I'm not very familiar with the current VM system, and I unfortunately don't have a lot of time to study it, so I'll need some help from here. It's trivial to reproduce, and the system is set up for remote kgdb, so I can answer questions or try diagnostic code pretty quickly. This is 10.0-RELEASE-p7 with no interesting changes in sys/vm. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-193565-8>