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@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@fork-pooh:~$ sudo pciconf -l -bcev
...
em0@pci0:0:3:0: class=0x02 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 0xf000, 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@fork-pooh:/usr/src$ sudo svn up -r 238770
Password:
Updating '.':
Usys/netinet/ip_carp.c
Usys/dev/e1000/if_lem.c
Usys/dev/usb/serial/uplcom.c
Usys/dev/usb/usbdevs
Updated to revision 238770.
dave@fork-pooh:/usr/src$ cd /usr/obj/
dave@fork-pooh:/usr/obj$ sudo chflags -R noschg *
dave@fork-pooh:/usr/obj$ sudo rm -rf *
dave@fork-pooh:/usr/obj$ cd /usr/src/
dave@fork-pooh:/usr/src$ sudo make buildkernel
dave@fork-pooh:/usr/src$ make installkernel
dave@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 @
/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 ]
pgpLtbpRUtYlz.pgp
Description: PGP signature