From owner-freebsd-current Wed Apr 17 20: 6:22 2002 Delivered-To: freebsd-current@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id 36EB937B400 for ; Wed, 17 Apr 2002 20:06:17 -0700 (PDT) Received: from fledge.watson.org (fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.11.6/8.11.6) with SMTP id g3I368w35364 for ; Wed, 17 Apr 2002 23:06:08 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Wed, 17 Apr 2002 23:06:07 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: current@FreeBSD.org Subject: page fault in swp_pager_meta_build Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is from -CURRENT a few days ago with the TrustedBSD MAC patches. Unfortunately, I don't know what time the panic occurred, so I can't say what the machine was doing. Either it was largely idle, or it was working on a make -j 8 buildworld. It's a pxeboot'd machine, with most filesystems out of NFS, including the root filesystem, with the exception of /usr/obj, which is locally mounted, swap, which is also local, and the normal set of /tmp, /var, etc, that are md-backed FFS filesystems. The only unusual thing about the setup was that I started the buildworld, got a "swap_pager_getswapspace: failed", then did swapon /dev/ad0s1b. Normally, I'd start swap when it booted, but there was a problem merging the configuration during the update, so that was lost. Panic and trace below. Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services Fatal trap 12: page fault while in kernel mode cpuid = 1; lapic.id = 01000000 fault virtual address = 0x82004 fault code = supervisor read, page not present instruction pointer = 0x8:0xc034753c stack pointer = 0x10:0xc8f00b38 frame pointer = 0x10:0xc8f00b44 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 = 2 (pagedaemon) kernel: type 12 trap, code=0 Stopped at swp_pager_meta_build+0xf0: cmpl %ebx,0x4(%eax) db> trace swp_pager_meta_build(ca733660,0,80000000) at swp_pager_meta_build+0xf0 swap_pager_putpages(ca733660,c8f00c34,1,0,c8f00bc8) at swap_pager_putpages+0x57 default_pager_putpages(ca733660,c8f00c34,1,0,c8f00bc8,c0440760,1,c0403580,8e) at default_pager_putpages+0x17 vm_pageout_flush(c8f00c34,1,0,1,c03dc437) at vm_pageout_flush+0xe5 vm_pageout_clean(c0a09678) at vm_pageout_clean+0x1ec vm_pageout_scan(0,c0353ce8,c8f00d34,c023d1d4,0) at vm_pageout_scan+0x35a vm_pageout(0,c8f00d48,c8e20730,c0353ce8,0) at vm_pageout+0x231 fork_exit(c0353ce8,0,c8f00d48) at fork_exit+0x88 fork_trampoline() at fork_trampoline For reference purposes: (kgdb) l *0xc034753c 0xc034753c is in swp_pager_meta_build (../../../vm/swap_pager.c:1654). 1649 struct swblock *swap; 1650 1651 index &= ~SWAP_META_MASK; 1652 pswap = &swhash[(index ^ (int)(intptr_t)object) & swhash_mask]; 1653 while ((swap = *pswap) != NULL) { 1654 if (swap->swb_object == object && 1655 swap->swb_index == index 1656 ) { 1657 break; 1658 } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message