From owner-freebsd-stable@FreeBSD.ORG Tue Nov 29 15:50:32 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18D761065672 for ; Tue, 29 Nov 2011 15:50:32 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id E413B8FC0C for ; Tue, 29 Nov 2011 15:50:31 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) by cyrus.watson.org (Postfix) with ESMTPSA id 9A42846B3B; Tue, 29 Nov 2011 10:50:31 -0500 (EST) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id F0D39B94D; Tue, 29 Nov 2011 10:50:30 -0500 (EST) From: John Baldwin To: freebsd-stable@freebsd.org, Jack Vogel Date: Tue, 29 Nov 2011 10:50:29 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p8; KDE/4.5.5; amd64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201111291050.30016.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 29 Nov 2011 10:50:31 -0500 (EST) Cc: Mike Andrews Subject: Re: Sporadic 9.0-RC2 boot-time panic X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Nov 2011 15:50:32 -0000 On Monday, November 28, 2011 5:37:27 pm Mike Andrews wrote: > *Sometimes* when booting 9.0-RC2 on *some* of my machines, I'll get one of > the following two panics during multiuser startup, usually while running > the /usr/local/etc/rc.d scripts. (The instruction pointer is always > exactly one of these two, and they look fairly related.) If after two or > three reboots it manages to not panic, the system will run perfectly > stable. > > For some probably-unrelated reason, the dump never finishes in either case. > > First panic (note em0 warning before it): > ----- > em0: discard frame w/o packet header This is odd. I see one bug that could possibly trigger this, but not on x86: Index: if_em.c =================================================================== --- if_em.c (revision 228074) +++ if_em.c (working copy) @@ -4305,8 +4305,10 @@ em_rxeof(struct rx_ring *rxr, int count, int *done #ifndef __NO_STRICT_ALIGNMENT if (adapter->max_frame_size > (MCLBYTES - ETHER_ALIGN) && - em_fixup_rx(rxr) != 0) - goto skip; + em_fixup_rx(rxr) != 0) { + sendmp = NULL; + goto next_desc; + } #endif if (status & E1000_RXD_STAT_VP) { sendmp->m_pkthdr.ether_vtag = @@ -4318,9 +4320,6 @@ em_rxeof(struct rx_ring *rxr, int count, int *done sendmp->m_pkthdr.flowid = rxr->msix; sendmp->m_flags |= M_FLOWID; #endif -#ifndef __NO_STRICT_ALIGNMENT -skip: -#endif rxr->fmp = rxr->lmp = NULL; } next_desc: @@ -4426,6 +4425,7 @@ em_fixup_rx(struct rx_ring *rxr) adapter->dropped_pkts++; m_freem(rxr->fmp); rxr->fmp = NULL; + rxr->lmp = NULL; error = ENOMEM; } } -- John Baldwin