kern/172364: cxbge_vlan_config() Fatal trap 12: page fault while in
kernel mode
Mark Atkinson
atkin901 at gmail.com
Fri Oct 5 16:40:12 UTC 2012
>Number: 172364
>Category: kern
>Synopsis: cxbge_vlan_config() Fatal trap 12: page fault while in kernel mode
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Oct 05 16:40:11 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Mark Atkinson
>Release: 10.0-CURRENT
>Organization:
>Environment:
FreeBSD chelsio 10.0-CURRENT FreeBSD 10.0-CURRENT #10 r241226: Fri Oct 5 08:39:34 PDT 2012 atkinson at chelsio:/usr/obj/usr/src/sys/CXGBETOE amd64
>Description:
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Fast boot: skipping disk checks.
Mounting local file systems:.
Writing entropy file:.
Setting hostname: chelsio.
lagg0: bpf attached
vlan2: bpf attached
vlan97: bpf attached
cxgbe0: link state changed to UP
cxgbe1: link state changed to UP
cxgbe2: link state changed to UP
cxgbe3: link state changed to UP
lagg0: link state changed to UP
Fatal trap 12: page fault while in kernel mode
cpuid = 4; apic id = 04
fault virtual address = 0xa0
fault code = supervisor read data, page not present
instruction pointer = 0x20:0xffffffff819c602d
stack pointer = 0x28:0xffffff8486f256f0
frame pointer = 0x28:0xffffff8486f25710
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 32062 (ifconfig)
[ thread pid 32062 tid 100133 ]
Stopped at cxgbe_vlan_config+0x2d: cmpb $0x87,0xa0(%rax)
db> bt
Tracing pid 32062 tid 100133 td 0xfffffe00116e84b0
cxgbe_vlan_config() at cxgbe_vlan_config+0x2d
lagg_register_vlan() at lagg_register_vlan+0xaa
vlan_config() at vlan_config+0x36b
vlan_ioctl() at vlan_ioctl+0x266
ifioctl() at ifioctl+0x3df
kern_ioctl() at kern_ioctl+0x106
sys_ioctl() at sys_ioctl+0xfd
amd64_syscall() at amd64_syscall+0x32f
Xfast_syscall() at Xfast_syscall+0xf7
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x80118426a, rsp = 0x7fffffffd408, rbp = 0x7fffffffdf2b ---
db> call doadump
Dumping 1345 out of 16337 MB:..2%..11%..21%..31%..41%..52%..61%..71%..81%..91%
Dump complete
= 0
db>
(kgdb) frame 10
#10 0xffffffff819c602d in cxgbe_vlan_config (arg=0xfffffe0008350800,
ifp=0xfffffe0008350800, vid=2)
at /usr/src/sys/modules/cxgbe/if_cxgbe/../../../dev/cxgbe/t4_main.c:3001
3001 vlan = VLAN_DEVAT(ifp, vid);
(kgdb) p ipf
No symbol "ipf" in current context.
(kgdb) p ifp
$1 = (struct ifnet *) 0xfffffe0008350800
(kgdb) p *ifp
$2 = {if_softc = 0xfffffe000860d400, if_l2com = 0xfffffe000863d7c0,
if_vnet = 0x0, if_link = {tqe_next = 0xfffffe0008660800,
tqe_prev = 0xfffffe000863b018},
if_xname = "cxgbe3\000\000\000\000\000\000\000\000\000",
if_dname = 0xfffffe00084fadd8 "cxgbe", if_dunit = 3, if_refcount = 1,
if_addrhead = {tqh_first = 0xfffffe0008644000,
tqh_last = 0xfffffe011f8924c0}, if_pcount = 0, if_carp = 0x0,
if_bpf = 0xfffffe000855f900, if_index = 4, if_index_reserved = 0,
if_vlantrunk = 0x0, if_flags = 34819, if_capabilities = 7096251,
if_capenable = 7079867, if_linkmib = 0x0, if_linkmiblen = 0, if_data = {
ifi_type = 161 '�', ifi_physical = 0 '\0', ifi_addrlen = 6 '\006',
ifi_hdrlen = 14 '\016', ifi_link_state = 2 '\002', ifi_vhid = 0 '\0',
ifi_spare_char2 = 0 '\0', ifi_datalen = 152 '\230', ifi_mtu = 1500,
ifi_metric = 0, ifi_baudrate = 1410065408, ifi_ipackets = 0,
ifi_ierrors = 0, ifi_opackets = 0, ifi_oerrors = 0, ifi_collisions = 0,
ifi_ibytes = 0, ifi_obytes = 0, ifi_imcasts = 0, ifi_omcasts = 0,
ifi_iqdrops = 0, ifi_noproto = 0, ifi_hwassist = 24615, ifi_epoch = 1,
ifi_lastchange = {tv_sec = 1349453623, tv_usec = 195287}},
if_multiaddrs = {tqh_first = 0xfffffe00117b9840,
tqh_last = 0xfffffe020440f440}, if_amcount = 0,
if_output = 0xffffffff81c13070 <lagg_port_output>,
if_input = 0xffffffff8094d560 <ether_input>, if_start = 0,
if_ioctl = 0xffffffff81c14750 <lagg_port_ioctl>,
---Type <return> to continue, or q <return> to quit---
if_init = 0xffffffff819c9560 <cxgbe_init>,
if_resolvemulti = 0xffffffff8094e290 <ether_resolvemulti>,
if_qflush = 0xffffffff819c7d20 <cxgbe_qflush>,
if_transmit = 0xffffffff819cc700 <cxgbe_transmit>, if_reassign = 0,
if_home_vnet = 0x0, if_addr = 0xfffffe0008644000, if_llsoftc = 0x0,
if_drv_flags = 64, if_snd = {ifq_head = 0x0, ifq_tail = 0x0, ifq_len = 0,
ifq_maxlen = 50, ifq_drops = 0, ifq_mtx = {lock_object = {
lo_name = 0xfffffe0008350828 "cxgbe3", lo_flags = 16973824,
lo_data = 0, lo_witness = 0x0}, mtx_lock = 4}, ifq_drv_head = 0x0,
ifq_drv_tail = 0x0, ifq_drv_len = 0, ifq_drv_maxlen = 0, altq_type = 0,
altq_flags = 0, altq_disc = 0x0, altq_ifp = 0xfffffe0008350800,
altq_enqueue = 0, altq_dequeue = 0, altq_request = 0, altq_clfier = 0x0,
altq_classify = 0, altq_tbr = 0x0, altq_cdnr = 0x0},
if_broadcastaddr = 0xffffffff80e6a3c0 "������", if_bridge = 0x0,
if_label = 0x0, if_unused = {0x0, 0x0}, if_afdata = {0x0, 0x0,
0xfffffe000863ea00, 0x0 <repeats 25 times>, 0xfffffe000fb80b80, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, if_afdata_initialized = 2,
if_afdata_lock = {lock_object = {lo_name = 0xffffffff80e69cdb "if_afdata",
lo_flags = 69402624, lo_data = 0, lo_witness = 0x0}, rw_lock = 1},
if_linktask = {ta_link = {stqe_next = 0xfffffe000863b3e0}, ta_pending = 2,
ta_priority = 0, ta_func = 0xffffffff809495b0 <do_link_state_change>,
ta_context = 0xfffffe0008350800}, if_addr_lock = {lock_object = {
lo_name = 0xffffffff80e69cce "if_addr_lock", lo_flags = 69402624,
---Type <return> to continue, or q <return> to quit---
lo_data = 0, lo_witness = 0x0}, rw_lock = 1}, if_clones = {
le_next = 0x0, le_prev = 0x0}, if_groups = {
tqh_first = 0xfffffe0008390100, tqh_last = 0xfffffe0008390108},
if_pf_kif = 0x0, if_lagg = 0xfffffe020411a080, if_description = 0x0,
if_fib = 0, if_alloctype = 6 '\006', if_cspare = "\000\000", if_ispare = {0,
0, 0, 0}, if_pspare = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(kgdb)
#define VLAN_DEVAT(_ifp, _vid) \
(_ifp)->if_vlantrunk != NULL ? (*vlan_devat_p)((_ifp), (_vid)) : NULL
if_vlantrunk == 0x0 in the above dump.
>How-To-Repeat:
boot to single user mode, then exit with the following in rc.conf
# pseudo interfaces
cloned_interfaces="lagg0 vlan2 vlan97"
# lacp group
ifconfig_cxgbe0="up"
ifconfig_cxgbe1="up"
ifconfig_cxgbe2="up"
ifconfig_cxgbe3="up"
ifconfig_lagg0="laggproto lacp laggport cxgbe0 laggport cxgbe1 laggport cxgbe2 laggport cxgbe3"
# vlans
ifconfig_vlan2="inet x.x.x.x/x vlan 2 vlandev lagg0"
ifconfig_vlan97="inet y.y.y.y/y vlan 97 vlandev lagg0"
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list