From owner-freebsd-amd64@FreeBSD.ORG Fri Nov 1 17:25:27 2013 Return-Path: Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 3D84D7C3 for ; Fri, 1 Nov 2013 17:25:27 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 17F252BBF for ; Fri, 1 Nov 2013 17:25:27 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id D55E6B988; Fri, 1 Nov 2013 13:25:24 -0400 (EDT) From: John Baldwin To: Torbjorn Granlund Subject: Re: amd64/183397: Kernel panic at first incoming ssh Date: Fri, 1 Nov 2013 13:22:35 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20130906; KDE/4.5.5; amd64; ; ) References: <201310312350.r9VNo1gE056086@freefall.freebsd.org> <201311010921.57769.jhb@freebsd.org> <86y558ysnd.fsf@shell.gmplib.org> In-Reply-To: <86y558ysnd.fsf@shell.gmplib.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201311011322.35869.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 01 Nov 2013 13:25:24 -0400 (EDT) Cc: freebsd-amd64@freebsd.org X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Nov 2013 17:25:27 -0000 On Friday, November 01, 2013 12:48:54 pm Torbjorn Granlund wrote: > John Baldwin writes: > > Can you fire up gdb against your 64-bit kernel file (e.g. gdb > /boot/kernel/kernel) and do 'l *xn_intr+0x7d'? > > I'm afraid my ignorance of how to debug the kernel will show itself > here. > > I did this: > > 1. booted the system. > 2. logged in as root on the (vnc) console. > 3. issued the command "gdb /boot/kernel/kernel" > 4. Issued the above command and got this printout: > > (gdb) l *xn_intr+0x7d > 0xffffffff8079fb7d is in xn_intr (atomic.h:161). > 156 atomic.h: No such file ot directory. > in atomic.h > (gdb) Hummm, I assume you can't get a crashdump when this happens? atomic.h means it is likely acquiring a lock: static void xn_intr(void *xsc) { struct netfront_info *np = xsc; struct ifnet *ifp = np->xn_ifp; #if 0 if (!(np->rx.rsp_cons != np->rx.sring->rsp_prod && likely(netfront_carrier_ok(np)) && ifp->if_drv_flags & IFF_DRV_RUNNING)) return; #endif if (RING_HAS_UNCONSUMED_RESPONSES(&np->tx)) { XN_TX_LOCK(np); xn_txeof(np); XN_TX_UNLOCK(np); } XN_RX_LOCK(np); xn_rxeof(np); XN_RX_UNLOCK(np); Either the XN_TX_LOCK() or XN_RX_LOCK(). It's hard to narrow down where the corruption lies without a dump. -- John Baldwin