Re: -CURRENT panics on intensive fs operations.

From: Alexandre \ <alex.kovalenko_at_verizon.net>
Date: Sun, 25 Feb 2007 00:41:44 -0500
On Sat, 2007-02-24 at 21:55 +0200, Kostik Belousov wrote:
> On Thu, Feb 22, 2007 at 10:07:45AM -0500, Alexandre Sunny Kovalenko wrote:
> > On Tue, 2007-02-20 at 09:48 -0500, Alexandre "Sunny" Kovalenko wrote:
> > > On Wed, 2007-02-14 at 20:14 -0500, Kris Kennaway wrote:
> > > > On Wed, Feb 14, 2007 at 07:48:51PM -0500, Alexandre Sunny Kovalenko wrote:
> > > > > On Tue, 2007-02-13 at 20:17 -0500, Kris Kennaway wrote:
> > > > > > On Tue, Feb 13, 2007 at 08:02:39PM -0500, Alexandre Sunny Kovalenko wrote:
> > > > > > > I can reliably panic -CURRENT (Feb 11, noon EST) with the something that
> > > > > > > excersises the file system. I have currently settled on (cd /usr/ports;
> > > > > > > make clean), but it all started out as doing some "emerges" to test the
> > > > > > > latest linuxolator. In the case of the "make clean" I have seen it
> > > > > > > crashing as early as /usr/ports/audio and as late
> > > > > > > as /usr/ports/textproc. 
> > > > > > > 
> > I am still not capable to get good backtrace from the kernel dump, but I
> > have managed to hook up remote console to this machine, so here are
> > results:
> > 
> > db> bt
> > Tracing pid 33 tid 100032 td 0xc4cee510
> > kdb_enter(c067c69d) at kdb_enter+0x2b
> > panic(c0667ba3,c306d5c0,c306d5c0,e38a2cfc,c0619fd9,...) at panic+0x11c
> > vm_pageq_remove_nowakeup(c306d5c0,c061a0b8,e38a2d04,c061a0ee,e38a2d24,...) at vm_pageq_remove_nowakeup+0x35
> > vm_page_zero_idle(e38a2d24,c04c7fe4,0,e38a2d38,c4ef8900,...) at
> > vm_page_zero_idle+0x49
> > vm_pagezero(0,e38a2d38) at vm_pagezero+0x36
> > fork_exit(c061a0b8,0,e38a2d38) at fork_exit+0xac
> > fork_trampoline() at fork_trampoline+0x8
> > --- trap 0, eip = 0, esp = 0xe38a2d70, ebp = 0 ---
> > db> ps
> >   pid  ppid  pgrp   uid   state   wmesg     wchan    cmd
> > <snip>
> >    33     0     0     0  RL      CPU 0               [pagezero]
> > <snip>
> > 
> > ... and (hopefully) relevant bits from the source
> > (kgdb) list *vm_pageq_remove_nowakeup+0x35
> > 0xc06192f9 is in vm_pageq_remove_nowakeup
> > (/usr/src/sys/vm/vm_pageq.c:223).
> > 218             struct vpgqueues *pq;
> > 219
> > 220             if (queue != PQ_NONE) {
> > 221                     pq = &vm_page_queues[queue];
> > 222                     VM_PAGE_SETQUEUE2(m, PQ_NONE);
> > 223                     TAILQ_REMOVE(&pq->pl, m, pageq);
> There, please, show the output of "p/x *m" and "p/x *pq".
> 
Unfortunately, with the latest -CURRENT the end result is different:

Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex sellck r = 0 (0xc0741284) locked
_at_ /usr/src/sys/kern/sys_generic.c:776
KDB: stack backtrace:
db_trace_self_wrapper(c067f599) at db_trace_self_wrapper+0x25
kdb_backtrace(1,c4fb46c0,c,e5447ab4,e5447aa8,...) at kdb_backtrace+0x29
witness_warn(5,0,c069ed6f) at witness_warn+0x192
trap(e5447ab4) at trap+0x10f
calltrap() at calltrap+0x6
--- trap 0xc, eip = 0x80bfe48d, esp = 0xe5447af4, ebp = 0xe5447c54 ---
kernload(c4e02d80,5,bfbfedb0,0,bfbfedb0,...) at -0x7f401b73
select(c4e02d80,e5447d00) at select+0x44
syscall(e5447d38) at syscall+0x256
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (93, FreeBSD ELF32, select), eip = 0x2815f273, esp =
0xbfbfe82c, ebp = 0xbfbfee48 ---


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x80bfe48d
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0x80bfe48d
stack pointer           = 0x28:0xe5447af4
frame pointer           = 0x28:0xe5447c54
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 520 (powerd)
[thread pid 520 tid 100052 ]
Stopped at      -0x7f401b73:    *** error reading from address 80bfe48d
***
db> 

db> where
Tracing pid 520 tid 100052 td 0xc4e02d80
kern_select(c4e02d80,5,bfbfedb0,0,bfbfedb0,...) at kern_select+0x4e5
select(c4e02d80,e5447d00) at select+0x44
syscall(e5447d38) at syscall+0x256
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (93, FreeBSD ELF32, select), eip = 0x2815f273, esp =
0xbfbfe82c, ebp = 0xbfbfee48 ---
db> 

what should I look for here?

-- 
Alexandre "Sunny" Kovalenko
Received on Sun Feb 25 2007 - 04:37:45 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:06 UTC