Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 May 2012 10:54:05 +0700
From:      Alexey Dokuchaev <danfe@nsu.ru>
To:        stable@freebsd.org
Subject:   panic with if_iwi(4) upon "netif restart"
Message-ID:  <20120507035405.GA47351@regency.nsu.ru>

next in thread | raw e-mail | index | archive | help
Folks,

Weird panic occurs to me here with iwi(4) based laptop when trying to hook
up to WPA-protected network with "service netif restart".  Kernel and
userland are not strictly in sync, with the latter lagging behind couple
of months, but presumably this fact should not matter on stable branch.

I was only able to get online by manually running wpa_supplicant(8) and
dhclient(8).  if_iwi(4) loaded after system fully boots (i.e. manually after
login).

# kgdb /boot/kernel/kernel /var/crash/vmcore.0
...
(kgdb) bt
#0  doadump () at pcpu.h:231
#1  0xc045cc37 in db_fncall (dummy1=1, dummy2=0, dummy3=-1065923936,
    dummy4=0xe787e8a4 "") at /home/danfe/fbsd/src/8/sys/ddb/db_command.c:548
#2  0xc045d014 in db_command (last_cmdp=0xc071a0fc, cmd_table=0x0, dopager=1)
    at /home/danfe/fbsd/src/8/sys/ddb/db_command.c:445
#3  0xc045d152 in db_command_loop ()
    at /home/danfe/fbsd/src/8/sys/ddb/db_command.c:498
#4  0xc045ef0e in db_trap (type=12, code=0)
    at /home/danfe/fbsd/src/8/sys/ddb/db_main.c:229
#5  0xc051009e in kdb_trap (type=12, code=0, tf=0xe787eb1c)
    at /home/danfe/fbsd/src/8/sys/kern/subr_kdb.c:548
#6  0xc06789ef in trap_fatal (frame=0xe787eb1c, eva=3319362005)
    at /home/danfe/fbsd/src/8/sys/i386/i386/trap.c:972
#7  0xc0678d56 in trap_pfault (frame=0xe787eb1c, usermode=0, eva=3319362005)
    at /home/danfe/fbsd/src/8/sys/i386/i386/trap.c:894
#8  0xc0679bba in trap (frame=0xe787eb1c)
    at /home/danfe/fbsd/src/8/sys/i386/i386/trap.c:562
#9  0xc06643cc in calltrap ()
    at /home/danfe/fbsd/src/8/sys/i386/i386/exception.s:168
#10 0xc5cf0b48 in iwi_auth_and_assoc (sc=0xc521e800, vap=0xc5bf9000)
    at /home/danfe/fbsd/src/8/sys/modules/iwi/../../dev/iwi/if_iwi.c:2888
#11 0xc5cf125c in iwi_newstate (vap=0xc5bf9000, nstate=IEEE80211_S_AUTH,
    arg=192)
    at /home/danfe/fbsd/src/8/sys/modules/iwi/../../dev/iwi/if_iwi.c:1005
#12 0xc5d15848 in ieee80211_newstate_cb (xvap=0xc5bf9000, npending=1)
    at /home/danfe/fbsd/src/8/sys/modules/wlan/../../net80211/ieee80211_proto.c:1652
#13 0xc051abfe in taskqueue_run_locked (queue=0xc5c432c0)
    at /home/danfe/fbsd/src/8/sys/kern/subr_taskqueue.c:250
#14 0xc051b222 in taskqueue_thread_loop (arg=0xc54e2074)
    at /home/danfe/fbsd/src/8/sys/kern/subr_taskqueue.c:387
#15 0xc04b6eb9 in fork_exit (callout=0xc051b1a0 <taskqueue_thread_loop>,
    arg=0xc54e2074, frame=0xe787ed28)
    at /home/danfe/fbsd/src/8/sys/kern/kern_fork.c:876
#16 0xc0664474 in fork_trampoline ()
    at /home/danfe/fbsd/src/8/sys/i386/i386/exception.s:275
(kgdb) f 11
#11 0xc5cf125c in iwi_newstate (vap=0xc5bf9000, nstate=IEEE80211_S_AUTH,
    arg=192)
    at /home/danfe/fbsd/src/8/sys/modules/iwi/../../dev/iwi/if_iwi.c:1005
1005                    iwi_auth_and_assoc(sc, vap);
(kgdb) l
1000                     * for the ASSOC status to come back from the firmware.
1001                     * Otherwise we need to issue the association request.
1002                     */
1003                    if (vap->iv_state == IEEE80211_S_AUTH)
1004                            break;
1005                    iwi_auth_and_assoc(sc, vap);
1006                    break;
1007            default:
1008                    break;
1009            }
(kgdb) f 10
#10 0xc5cf0b48 in iwi_auth_and_assoc (sc=0xc521e800, vap=0xc5bf9000)
    at /home/danfe/fbsd/src/8/sys/modules/iwi/../../dev/iwi/if_iwi.c:2888
2888            rs.nrates = ni->ni_rates.rs_nrates;
(kgdb) l
2883
2884            /* the rate set has already been "negotiated" */
2885            memset(&rs, 0, sizeof rs);
2886            rs.mode = mode;
2887            rs.type = IWI_RATESET_TYPE_NEGOTIATED;
2888            rs.nrates = ni->ni_rates.rs_nrates;
2889            if (rs.nrates > IWI_RATESET_SIZE) {
2890                    DPRINTF(("Truncating negotiated rate set from %u\n",
2891                        rs.nrates));
2892                    rs.nrates = IWI_RATESET_SIZE;

Feel free to ask for more information.

./danfe



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120507035405.GA47351>