panic in rt2860_drain_stats_fifo()
Jeremie Le Hen
jlh at FreeBSD.org
Sun Jan 11 12:02:33 UTC 2015
Hi,
I've got hit by this panic numerous times over the last few months.
I've tried to debug it, but I couldn't figure out what the issue was.
It is not reproducible, sometimes the machine will work correctly for
weeks, sometimes it will happen within a few hours after a reboot.
See the attached file for the backtrace and some debugging information.
The issue is that "ni->ni_vap" is 0xdeadcode. But
"ic->ic_node_alloc()" is only called from ieee80211_alloc_node() and
ieee80211_tmp_node() which both seem to initialize "ni_vap" correctly,
which means the bad value comes from higher in the stack but I
couldn't figure out where.
--
Jeremie Le Hen
jlh at FreeBSD.org
-------------- next part --------------
(kgdb) bt
#0 doadump (textdump=Unhandled dwarf expression opcode 0x93
) at pcpu.h:219
#1 0xffffffff80310d66 in db_fncall (dummy1=<value optimized out>,
dummy2=<value optimized out>, dummy3=<value optimized out>,
dummy4=<value optimized out>) at /usr/src-svn/sys/ddb/db_command.c:568
#2 0xffffffff80310a4c in db_command (cmd_table=0x0)
at /usr/src-svn/sys/ddb/db_command.c:440
#3 0xffffffff803107b4 in db_command_loop ()
at /usr/src-svn/sys/ddb/db_command.c:493
#4 0xffffffff803132f0 in db_trap (type=<value optimized out>, code=Unhandled dwarf expression opcode 0x93
)
at /usr/src-svn/sys/ddb/db_main.c:251
#5 0xffffffff806f60ae in kdb_trap (type=Unhandled dwarf expression opcode 0x93
)
at /usr/src-svn/sys/kern/subr_kdb.c:654
#6 0xffffffff80a31909 in trap_fatal (frame=0xfffffe00e50189b0,
eva=<value optimized out>) at /usr/src-svn/sys/amd64/amd64/trap.c:862
#7 0xffffffff80a315be in trap (frame=<value optimized out>)
at /usr/src-svn/sys/amd64/amd64/trap.c:201
#8 0xffffffff80a11882 in calltrap ()
at /usr/src-svn/sys/amd64/amd64/exception.S:235
#9 0xffffffff804afaeb in rt2860_drain_stats_fifo (sc=0xfffffe0000d56000)
at /usr/src-svn/sys/dev/ral/rt2860.c:1128
#10 0xffffffff804af2a6 in rt2860_intr (arg=0xfffffe0000d56000)
at /usr/src-svn/sys/dev/ral/rt2860.c:1435
#11 0xffffffff80683ab1 in intr_event_execute_handlers (
p=<value optimized out>, ie=0xfffff80002ae2200)
at /usr/src-svn/sys/kern/kern_intr.c:1241
#12 0xffffffff8068446c in ithread_loop (arg=0xfffff80002b2de20)
at /usr/src-svn/sys/kern/kern_intr.c:1254
#13 0xffffffff80681454 in fork_exit (
callout=0xffffffff806843c0 <ithread_loop>, arg=0xfffff80002b2de20,
frame=0xfffffe00e5018c00) at /usr/src-svn/sys/kern/kern_fork.c:996
#14 0xffffffff80a11dbe in fork_trampoline ()
at /usr/src-svn/sys/amd64/amd64/exception.S:610
#15 0x0000000000000000 in ?? ()
Current language: auto; currently minimal
(kgdb) frame 9
#9 0xffffffff804afaeb in rt2860_drain_stats_fifo (sc=0xfffffe0000d56000)
at /usr/src-svn/sys/dev/ral/rt2860.c:1128
1128 ieee80211_ratectl_tx_complete(ni->ni_vap, ni,
(kgdb) print *ni [60/1893]
$1 = {ni_vap = 0xdeadc0dedeadc0de, ni_ic = 0xdeadc0dedeadc0de,
ni_table = 0xdeadc0dedeadc0de, ni_list = {tqe_next = 0xdeadc0dedeadc0de,
tqe_prev = 0xdeadc0dedeadc0de}, ni_hash = {le_next = 0xdeadc0dedeadc0de,
le_prev = 0xdeadc0dedeadc0de}, ni_refcnt = 3735929054,
ni_scangen = 3735929054, ni_flags = 3735929054, ni_associd = 49374,
ni_vlan = 57005, ni_txpower = 49374, ni_authmode = 173 '���',
ni_ath_flags = 222 '���', ni_ath_defkeyix = 49374,
ni_txparms = 0xdeadc0dedeadc0de, ni_jointime = 3735929054,
ni_challenge = 0xdeadc0dedeadc0de, ni_ies = {
wpa_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
rsn_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
wme_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
ath_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
htcap_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
htinfo_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
tdma_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
meshid_ie = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
spare = {0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>},
data = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>,
len = -559038242}, ni_txseqs = {49374, 57005, 49374, 57005, 49374, 57005,
49374, 57005, 49374, 57005, 49374, 57005, 49374, 57005, 49374, 57005,
49374}, ni_rxseqs = {57005, 49374, 57005, 49374, 57005, 49374, 57005,
49374, 57005, 49374, 57005, 49374, 57005, 49374, 57005, 49374, 57005},
ni_rxfragstamp = 3735929054, ni_rxfrag = {0xdeadc0dedeadc0de,
0xdeadc0dedeadc0de, 0xdeadc0dedeadc0de}, ni_ucastkey = {
wk_keylen = 222 '���', wk_pad = 192 '���', wk_flags = 57005,
wk_keyix = 49374, wk_rxkeyix = 57005,
wk_key = "������������������������������������������������������������������������������������������������", wk_keyrsc = {
16045693110842147038 <repeats 17 times>},
wk_keytsc = 16045693110842147038, wk_cipher = 0xdeadc0dedeadc0de,
wk_private = 0xdeadc0dedeadc0de, wk_macaddr = "������������������"},
ni_avgrssi = 3735929054, ni_noise = -34 '���', ni_mimo_rssi_ctl = {
3735929054, 3735929054, 3735929054}, ni_mimo_rssi_ext = {3735929054,
3735929054, 3735929054}, ni_mimo_noise_ctl = "���������",
ni_mimo_noise_ext = "���������", ni_mimo_chains = 173 '���', ni_macaddr = "������������������",
ni_bssid = "������������������", ni_tstamp = {data = "������������������������",
tsf = 16045693110842147038}, ni_intval = 49374, ni_capinfo = 57005,
ni_esslen = 222 '���', ni_essid = "������������������������������������������������������������������������������������������������",
ni_rates = {rs_nrates = 192 '���', rs_rates = "���������������������������������������������"},
ni_chan = 0xdeadc0dedeadc0de, ni_fhdwell = 49374, ni_fhindex = 173 '���',
ni_erp = 49374, ni_timoff = 57005, ni_dtim_period = 222 '���',
ni_dtim_count = 192 '���', ni_meshidlen = 173 '���',
ni_meshid = "������������������������������������������������������������������������������������������������", ni_mlstate = 3735929054,
ni_mllid = 49374, ni_mlpid = 57005, ni_mltimer = {c_links = {le = {
le_next = 0xdeadc0dedeadc0de, le_prev = 0xdeadc0dedeadc0de}, sle = {
sle_next = 0xdeadc0dedeadc0de}, tqe = {tqe_next = 0xdeadc0dedeadc0de,
tqe_prev = 0xdeadc0dedeadc0de}}, c_time = -2401050962867404578,
c_precision = -2401050962867404578, c_arg = 0xdeadc0dedeadc0de,
c_func = 0xdeadc0dedeadc0de, c_lock = 0xdeadc0dedeadc0de,
c_flags = -559038242, c_cpu = -559038242}, ni_mlrcnt = 222 '���',
ni_mltval = 192 '���', ni_mlhtimer = {c_links = {le = {
le_next = 0xdeadc0dedeadc0de, le_prev = 0xdeadc0dedeadc0de}, sle = {
sle_next = 0xdeadc0dedeadc0de}, tqe = {tqe_next = 0xdeadc0dedeadc0de,
tqe_prev = 0xdeadc0dedeadc0de}}, c_time = -2401050962867404578,
c_precision = -2401050962867404578, c_arg = 0xdeadc0dedeadc0de,
c_func = 0xdeadc0dedeadc0de, c_lock = 0xdeadc0dedeadc0de,
c_flags = -559038242, c_cpu = -559038242}, ni_mlhcnt = 222 '���',
ni_htcap = 57005, ni_htparam = 222 '���', ni_htctlchan = 192 '���',
ni_ht2ndchan = 173 '���', ni_htopmode = 222 '���', ni_htstbc = 222 '���',
ni_chw = 192 '���', ni_htrates = {rs_nrates = 173 '���',
rs_rates = "������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������"}, ni_tx_ampdu = {{txa_ni = 0xdeadc0dedeadc0de,
txa_flags = 49374, txa_tid = 173 '���', txa_token = 222 '���',
txa_lastsample = -559038242, txa_pkts = -559038242,
txa_avgpps = -559038242, txa_qbytes = -559038242, txa_qframes = -16162,
txa_start = 57005, txa_seqpending = 49374, txa_wnd = 57005,
txa_attempts = 222 '���', txa_nextrequest = -559038242, txa_timer = {
c_links = {le = {le_next = 0xdeadc0dedeadc0de,
le_prev = 0xdeadc0dedeadc0de}, sle = {
sle_next = 0xdeadc0dedeadc0de}, tqe = {
tqe_next = 0xdeadc0dedeadc0de, tqe_prev = 0xdeadc0dedeadc0de}},
c_time = -2401050962867404578, c_precision = -2401050962867404578,
c_arg = 0xdeadc0dedeadc0de, c_func = 0xdeadc0dedeadc0de,
c_lock = 0xdeadc0dedeadc0de, c_flags = -559038242,
c_cpu = -559038242}, txa_private = 0xdeadc0dedeadc0de, txa_pad = {
16045693110842147038, 16045693110842147038, 16045693110842147038,
16045693110842147038}} <repeats 16 times>}, ni_rx_ampdu = {{
rxa_flags = -559038242, rxa_qbytes = -559038242, rxa_qframes = -16162,
rxa_seqstart = 57005, rxa_start = 49374, rxa_wnd = 57005,
rxa_age = -559038242, rxa_nframes = -559038242, rxa_m = {
0xdeadc0dedeadc0de <repeats 64 times>},
rxa_private = 0xdeadc0dedeadc0de, rxa_pad = {16045693110842147038,
16045693110842147038, 16045693110842147038}} <repeats 16 times>},
ni_inact = -16162, ni_inact_reload = -8531, ni_txrate = -559038242,
ni_psq = {psq_lock = {lock_object = {
lo_name = 0xdeadc0dedeadc0de <Address 0xdeadc0dedeadc0de out of bounds>
, lo_flags = 3735929054, lo_data = 3735929054,
lo_witness = 0xdeadc0dedeadc0de}, mtx_lock = 16045693110842147038},
psq_len = -559038242, psq_maxlen = -559038242, psq_drops = -559038242,
psq_head = {{head = 0xdeadc0dedeadc0de, tail = 0xdeadc0dedeadc0de,
len = -559038242}, {head = 0xdeadc0dedeadc0de,
tail = 0xdeadc0dedeadc0de, len = -559038242}}}, ni_stats = {
ns_rx_data = 3735929054, ns_rx_mgmt = 3735929054,
ns_rx_ctrl = 3735929054, ns_rx_ucast = 3735929054,
ns_rx_mcast = 3735929054, ns_rx_bytes = 16045693110842147038,
ns_rx_beacons = 16045693110842147038, ns_rx_proberesp = 3735929054,
ns_rx_dup = 3735929054, ns_rx_noprivacy = 3735929054,
ns_rx_wepfail = 3735929054, ns_rx_demicfail = 3735929054,
ns_rx_decap = 3735929054, ns_rx_defrag = 3735929054,
ns_rx_disassoc = 3735929054, ns_rx_deauth = 3735929054,
ns_rx_action = 3735929054, ns_rx_decryptcrc = 3735929054,
ns_rx_unauth = 3735929054, ns_rx_unencrypted = 3735929054,
ns_rx_drop = 3735929054, ns_tx_data = 3735929054,
ns_tx_mgmt = 3735929054, ns_tx_ctrl = 3735929054,
ns_tx_ucast = 3735929054, ns_tx_mcast = 3735929054,
ns_tx_bytes = 16045693110842147038, ns_tx_probereq = 3735929054,
ns_tx_novlantag = 3735929054, ns_tx_vlanmismatch = 3735929054,
ns_ps_discard = 3735929054, ns_tx_assoc = 3735929054,
ns_tx_assoc_fail = 3735929054, ns_tx_auth = 3735929054,
ns_tx_auth_fail = 3735929054, ns_tx_deauth = 3735929054,
ns_tx_deauth_code = 3735929054, ns_tx_disassoc = 3735929054,
ns_tx_disassoc_code = 3735929054, ns_spare = {3735929054, 3735929054,
3735929054, 3735929054, 3735929054, 3735929054, 3735929054,
3735929054}}, ni_wdsvap = 0xdeadc0dedeadc0de,
ni_rctls = 0xdeadc0dedeadc0de, ni_spare = {16045693110842147038,
16045693110842147038, 16045693110842147038}}
More information about the freebsd-current
mailing list