From owner-freebsd-current@FreeBSD.ORG Sat May 5 01:46:16 2007 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 715B616A401 for ; Sat, 5 May 2007 01:46:16 +0000 (UTC) (envelope-from eric@anholt.net) Received: from vonnegut.anholt.net (69-30-77-85.dq1sn.easystreet.com [69.30.77.85]) by mx1.freebsd.org (Postfix) with ESMTP id 2755713C447 for ; Sat, 5 May 2007 01:46:15 +0000 (UTC) (envelope-from eric@anholt.net) Received: from vonnegut.anholt.net (localhost [127.0.0.1]) by vonnegut.anholt.net (8.13.8/8.13.8) with ESMTP id l451gn0e055431 for ; Fri, 4 May 2007 18:43:18 -0700 (PDT) (envelope-from eric@anholt.net) Received: (from anholt@localhost) by vonnegut.anholt.net (8.13.8/8.13.8/Submit) id l451fsSl055430 for current@FreeBSD.org; Fri, 4 May 2007 18:41:54 -0700 (PDT) (envelope-from eric@anholt.net) X-Authentication-Warning: vonnegut.anholt.net: anholt set sender to eric@anholt.net using -f From: Eric Anholt To: current@FreeBSD.org Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-3lgX7dtMW1Un7v2MsRqj" Date: Fri, 04 May 2007 18:40:42 -0700 Message-Id: <1178329243.54075.34.camel@vonnegut> Mime-Version: 1.0 X-Mailer: Evolution 2.10.0 FreeBSD GNOME Team Port Cc: Subject: swap_pager_swap_init panic X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 May 2007 01:46:16 -0000 --=-3lgX7dtMW1Un7v2MsRqj Content-Type: text/plain Content-Transfer-Encoding: quoted-printable I've got an SMP netbooting test machine, which panics on startup almost 100% of the time with the issue that has been reported since 2006-12-02 at least: db> where Tracing pid 40 tid 100040 td 0xffffff003b9e24c0 kdb_enter() at kdb_enter+0x2f panic() at panic+0x291 swap_pager_swap_init() at swap_pager_swap_init+0x20c vm_pageout() at vm_pageout+0x17c fork_exit() at fork_exit+0x86 fork_trampoline() at fork_trampoline+0xe It's just after this chunk of the normal dmesg: May 4 16:52:03 explosivo kernel: acd0: DVDR at= ata5-master SATA150 May 4 16:52:03 explosivo kernel: Sending DHCP Discover packet from interfa= ce em0 (00:16:76:ae:66:f1) May 4 16:52:03 explosivo kernel: Sending DHCP Discover packet from interfa= ce fwe0 (02:90:27:b0:f0:d9) May 4 16:52:03 explosivo kernel: Received DHCP Offer packet on em0 from 19= 2.168.0.103 (accepted) (no root path) May 4 16:52:03 explosivo kernel: Received DHCP Offer packet on em0 from 19= 2.168.0.103 (ignored) (no root path) May 4 16:52:03 explosivo kernel: Sending DHCP Request packet from interfac= e em0 (00:16:76:ae:66:f1) May 4 16:52:03 explosivo kernel: Received DHCP Ack packet on em0 from 192.= 168.0.103 (accepted) (got root path) May 4 16:52:03 explosivo kernel: DHCP timeout for interface fwe0 May 4 16:52:03 explosivo kernel: em0 at 192.168.0.4 server 192.168.0.103 b= oot file /usr/src/nbcurrent/boot/pxeboot May 4 16:52:03 explosivo kernel: subnet mask 255.255.255.0 router 192.168.= 0.1 rootfs 192.168.0.103:/usr/src/nbcurrent=20 May 4 16:52:03 explosivo kernel: Adjusted interface em0 May 4 16:52:03 explosivo kernel: Shutdown interface fwe0 May 4 16:52:03 explosivo kernel: SMP: AP CPU #1 Launched! That swap_pager_swap_init() panic is about a NULL getting returned, and I tracked it down to the "if ((zone !=3D slabzone) && (zone !=3D slabrefzone))" NULL return, where I've put a panic in. kdb_enter() panic() uma_zone_slab() uma_zalloc_internal() uma_zcreate() swap_pager_swap_init() vm_pageout() fork_exit() fork_trampoline() That's pagedaemon, and the other running process is swapper: cpustop_handler() ipi_nmi_hanlder() trap() calltrap() siocnopen() sio_cnputc() cnputc() putcons() putchar() kvprintf() printf() uma_zone_slab() uma_zalloc_bucket() uma_zalloc_arg() vm_map_entry_create vm_map_insert() kmem_malloc() page_alloc() startup_alloc() slab_alloc() uma_zone_slab() uma_zalloc_internal() uma_zcreate() vfs_mountroot() start_init() fork_exit() fork_trampoline() That printf should be mine, from some debugging I was sprinkling around. See also PR amd64/106186 which notes that turning off SMP fixes it (certainly does for me). I haven't tested the turning-off-firewire which was suggested, since I can't do it just from loader.conf apparently. Any ideas on fixing it? --=20 Eric Anholt anholt@FreeBSD.org eric@anholt.net eric.anholt@intel.com --=-3lgX7dtMW1Un7v2MsRqj Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQBGO+CaHUdvYGzw6vcRAjmxAJ9VKLTcr7HyF06+zGLys07qn7EvegCggSyj fCdULNSi+C/DFK71dZcSbY0= =GmuY -----END PGP SIGNATURE----- --=-3lgX7dtMW1Un7v2MsRqj--