Panic on boot after svn update

From: David J. Weller-Fahy <dave-lists-freebsd-current_at_weller-fahy.com>
Date: Sun, 29 Jul 2012 00:53:55 -0400
So, I recently updated and encountered a panic on boot which is
reproducible, and wanted to see if anyone's encountered this before I
file a PR.  I found a problem in (I think) recent changes to the e1000
driver.  I'm running FreeBSD 10-CURRENT as a VirtualBox guest.

#v+
FreeBSD fork-pooh 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r238764: Sat Jul 28 17:21:47 EDT 2012     root_at_fork-pooh:/usr/obj/usr/src/sys/GENERIC  amd64
#v-

I have the Adapter Type set to, "Intel PRO/1000 MT Desktop (82540EM)", and the
following card is detected by pciconf.

#v+
dave_at_fork-pooh:~$ sudo pciconf -l -bcev
...
em0_at_pci0:0:3:0: class=0x020000 card=0x001e8086 chip=0x100e8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82540EM Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
    bar   [10] = type Memory, range 32, base 0xf0000000, size 131072, enabled
    bar   [18] = type I/O Port, range 32, base 0xd010, size  8, enabled
    cap 01[dc] = powerspec 2  supports D0 D3  current D0
    cap 07[e4] = PCI-X supports 2048 burst read, 1 split transaction
...
#v-

With revision 238764 the system boots and connects to the network with no
problem.  However, if I update to 238770 (as for why 238770, last revision
which touched if_lem.c [1])...

[1]: http://svnweb.freebsd.org/base/head/sys/dev/e1000/if_lem.c?view=log

#v+
dave_at_fork-pooh:/usr/src$ sudo svn up -r 238770
Password:
Updating '.':
U    sys/netinet/ip_carp.c
U    sys/dev/e1000/if_lem.c
U    sys/dev/usb/serial/uplcom.c
U    sys/dev/usb/usbdevs
Updated to revision 238770.
dave_at_fork-pooh:/usr/src$ cd /usr/obj/
dave_at_fork-pooh:/usr/obj$ sudo chflags -R noschg *
dave_at_fork-pooh:/usr/obj$ sudo rm -rf *
dave_at_fork-pooh:/usr/obj$ cd /usr/src/
dave_at_fork-pooh:/usr/src$ sudo make buildkernel
dave_at_fork-pooh:/usr/src$ make installkernel
dave_at_fork-pooh:/usr/src$ sudo shutdown -r now
...
#v-

Upon reboot, I see...

#v+
...
Updating motd:.
Starting ntpd.
panic: _mtx_lock_sleep: recursed on non-recursive mutex em0 _at_
/usr/src/sys/dev/e1000/if_lem.c:881

cpuid = 0
KDB: enter: panic
[ thread pid 12 tid 100025 ]
Stopped at      kdb_enter+0x3b: movq    $0,0x9c4752(%rip)
#v-

After changing the Network Adapter (in VirtualBox) to "PCnet-PCI II
(Am79C970A)" the system boots up correctly (on the same revision), and the
network is functional.

What other information would be useful in figuring out what's wrong?

Regards,
-- 
dave [ please don't CC me ]

Received on Sun Jul 29 2012 - 03:00:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:29 UTC