Sporadic 9.0-RC2 boot-time panic
Mike Andrews
mandrews at bit0.com
Tue Nov 29 20:28:23 UTC 2011
On 11/29/2011 10:50 AM, John Baldwin wrote:
> 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:
This is amd64, which of course depending on what you meant by "not on
x86" may or may not be the same thing ;-)
This is with RELENG_9_0 sources built yesterday morning (Nov 28).
Kernel config's reasonably close to GENERIC with many unused drivers
removed. Hardware is Supermicro X8STi-F -- we do have other (older)
systems we haven't yet tried upgrading that have slightly different em
revs -- maybe I'll try one of those today just to see if it's 82574L
specific.
em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xdc00-0xdc1f mem
0xfbce0000-0xfbcfffff,0xfbcdc000-0xfbcdffff irq 16 at device 0.0 on pci1
em0: Using MSIX interrupts with 3 vectors
em0: Ethernet address: 00:25:90:xx:xx:xx
em1: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xec00-0xec1f mem
0xfbde0000-0xfbdfffff,0xfbddc000-0xfbddffff irq 16 at device 0.0 on pci2
em1: Using MSIX interrupts with 3 vectors
em1: Ethernet address: 00:25:90:xx:xx:xx
em0 at pci0:1:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00
hdr=0x00
vendor = 'Intel Corporation'
device = '82574L Gigabit Network Connection'
class = network
subclass = ethernet
bar [10] = type Memory, range 32, base 0xfbce0000, size 131072,
enabled
bar [18] = type I/O Port, range 32, base 0xdc00, size 32, enabled
bar [1c] = type Memory, range 32, base 0xfbcdc000, size 16384,
enabled
cap 01[c8] = powerspec 2 supports D0 D3 current D0
cap 05[d0] = MSI supports 1 message, 64 bit
cap 10[e0] = PCI-Express 1 endpoint max data 128(256) link x1(x1)
cap 11[a0] = MSI-X supports 5 messages in map 0x1c enabled
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
em1 at pci0:2:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00
hdr=0x00
vendor = 'Intel Corporation'
device = '82574L Gigabit Network Connection'
class = network
subclass = ethernet
bar [10] = type Memory, range 32, base 0xfbde0000, size 131072,
enabled
bar [18] = type I/O Port, range 32, base 0xec00, size 32, enabled
bar [1c] = type Memory, range 32, base 0xfbddc000, size 16384,
enabled
cap 01[c8] = powerspec 2 supports D0 D3 current D0
cap 05[d0] = MSI supports 1 message, 64 bit
cap 10[e0] = PCI-Express 1 endpoint max data 128(256) link x1(x1)
cap 11[a0] = MSI-X supports 5 messages in map 0x1c enabled
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
>
> 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;
> }
> }
>
>
More information about the freebsd-stable
mailing list