Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: panic: wapbl_register_deallocation: out of resources
On Fri, Feb 18, 2011 at 11:17:18AM +0000, Antti Kantee wrote:
> On Fri, Feb 18, 2011 at 01:04:54PM +0200, Andreas Gustafsson wrote:
> > Hi all,
> >
> > The NetBSD-current/i386 build is currently broken, for the sixth time
> > this month. But that is not the reason I'm writing. During the brief
> > period when it last built, from 2011.02.16.22.35.41 (inclusive) to
> > 2011.02.17.10.01.35 (exclusive), it failed to install, panicing
> > during set extraction with the message:
> >
> > panic: wapbl_register_deallocation: out of resources
> >
> > I have no doubt that once the build starts working again, the install
> > will still be broken, and because I will be away all of next week,
> > I think I'd better report this sooner rather than later.
>
> Thanks, I've been looking at this myself and waiting for a "build
> works" window to check it out in more detail. One of the problems
> is that the automated report is vastly less helpful than the panic
> message you indicate above.
>
> buffer (last 100 chars): s 246 cr2 c4a60000 ilevel 0
> Stopped in pid 3050.1 (tar) at 0xc0248704: popl %ebp
> db{0}>
> before (last 100 chars): s 246 cr2 c4a60000 ilevel 0
> Stopped in pid 3050.1 (tar) at 0xc0248704: popl %ebp
> db{0}>
>
> Is this because stack traces are broken in ddb?
>
> - antti
>
> p.s. and how do we add an automated test for panic stack traces? ;)
1) The panic may result from my rev. 1.41. If reverting it fixes the panic
please do so. WAPBL resource management is more than sub-optimal.
2) Backtraces from ddb are broken for a longer time. For me this hack works:
Index: sys/ddb/db_cpu.c
===================================================================
RCS file: /cvsroot/src/sys/ddb/db_cpu.c,v
retrieving revision 1.3
diff -p -u -2 -r1.3 db_cpu.c
--- db_cpu.c 9 Mar 2009 06:07:05 -0000 1.3
+++ db_cpu.c 18 Feb 2011 11:27:59 -0000
@@ -44,4 +44,5 @@ __KERNEL_RCSID(0, "$NetBSD: db_cpu.c,v 1
static struct cpu_info *head;
+static void *head_addr;
struct cpu_info *
@@ -50,4 +51,5 @@ db_cpu_first(void)
head = db_read_ptr("cpu_queue");
+ (void) db_value_of_name("cpu_queue", (db_expr_t *)&head_addr);
return head;
}
@@ -59,5 +61,5 @@ db_cpu_next(struct cpu_info *ci)
db_read_bytes((db_addr_t)&ci->ci_data.cpu_qchain.cqe_next,
sizeof(ci), (char *)&ci);
- if (ci == head) {
+ if (ci == head_addr) {
ci = NULL;
}
--
Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
(Germany)
Home |
Main Index |
Thread Index |
Old Index