kgdb unuseable with cores on current (for some people)
Alan Cox
alc at cs.rice.edu
Fri May 14 17:39:59 UTC 2010
On 5/14/2010 1:44 AM, Benjamin Kaduk wrote:
> On Fri, 14 May 2010, Kostik Belousov wrote:
>
>> On Fri, May 14, 2010 at 12:55:35AM -0400, Benjamin Kaduk wrote:
>>> Hi all,
>>>
>>> As was revealed in a recent thread here [1], several people have been
>>> unable to use kgdb on coredumps for the past few months (but
>>> possibly not
>>> everyone).
>>>
>>> I am one of those affected, and have narrowed the breakage with a
>>> binary
>>> search to between SVN revisions 202883 and 202954 (that is, Jan 23
>>> 1200h
>>> and Jan 25 0000h). Looking at the changes, alc's revision 202897 and
>>> attilio's revision 202933 look to be the most plausible culprits in
>>> terms
>>> of what they touched. I will continue with my bisection, but with
>>> only 36
>>> revisions in play, it is probably worth looking for the bug in parallel
>>> with the bisection.
>>
>> Try reverting r202897 on fresh HEAD. I very much doubt that r202933
>> can be responsible.
>>
>
> Indeed, 202933 was cleared of blame in the latest bisection. I'm
> currently pulling up to HEAD and will try reverting 202897.
I suspect the following is needed:
Index: vm/vm_page.c
===================================================================
--- vm/vm_page.c (revision 207823)
+++ vm/vm_page.c (working copy)
@@ -108,6 +108,7 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/limits.h>
#include <sys/malloc.h>
+#include <sys/msgbuf.h>
#include <sys/mutex.h>
#include <sys/proc.h>
#include <sys/sysctl.h>
@@ -375,6 +376,14 @@ vm_page_startup(vm_offset_t vaddr)
new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE);
bzero((void *)vm_page_dump, vm_page_dump_size);
#endif
+#ifdef __amd64__
+ pa = DMAP_TO_PHYS((vm_offset_t)msgbufp);
+ last_pa = pa + round_page(MSGBUF_SIZE);
+ while (pa < last_pa) {
+ dump_add_page(pa);
+ pa += PAGE_SIZE;
+ }
+#endif
/*
* Compute the number of pages of memory that will be available for
* use (taking into account the overhead of a page structure per
More information about the freebsd-current
mailing list