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