panic with latest fxp changes

From: Tilman Linneweh <tilman_at_arved.de>
Date: Thu, 1 May 2003 16:54:06 +0200
Hi,

I can reproducable panic my machine with CURRENT from yesterday.

if_fxp.c Revision is 1.178

regards
tilman

panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xc0169fee
stack pointer           = 0x10:0xd691d86c
frame pointer           = 0x10:0xd691d888
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 207 (ifconfig)
Dumping 511 MB
ata0: resetting devices ..
malloc() of "1024" with the following non-sleepablelocks held:
exclusive sleep mutex fxp0 (network driver) r = 0 (0xc4055160) locked _at_
/usr/src/sys/dev/fxp/if_fxp.c:2368 
malloc() of "1024" with the following
non-sleepablelocks held: exclusive sleep mutex fxp0 (network driver) r =
0 (0xc4055160) locked _at_ /usr/src/sys/dev/fxp/if_fxp.c:2368 
malloc() of
"16" with the following non-sleepablelocks held: exclusive sleep mutex
fxp0 (network driver) r = 0 (0xc4055160) locked _at_
/usr/src/sys/dev/fxp/if_fxp.c:2368 
malloc() of "1024" with the following
non-sleepablelocks held: exclusive sleep mutex fxp0 (network driver) r =
0 (0xc4055160) locked _at_ /usr/src/sys/dev/fxp/if_fxp.c:2368 
malloc() of
"1024" with the following non-sleepablelocks held: exclusive sleep mutex
fxp0 (network driver) r = 0 (0xc4055160) locked _at_
/usr/src/sys/dev/fxp/if_fxp.c:2368 
done
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304
320 336 352 368 384 400 416 432 448 464 480 496---
Reading symbols from
/usr/obj/usr/src/sys/SAUNA/modules/usr/src/sys/modules/acpi/acpi.ko.deb
ug...done. Loaded symbols for
/usr/obj/usr/src/sys/SAUNA/modules/usr/src/sys/modules/acpi/acpi.ko.deb
ug Reading symbols from
/usr/obj/usr/src/sys/SAUNA/modules/usr/src/sys/modules/if_vlan/if_vlan.
ko.debug...done. Loaded symbols for
/usr/obj/usr/src/sys/SAUNA/modules/usr/src/sys/modules/if_vlan/if_vlan.
ko.debug
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:238
238             dumping++;
(kgdb) where
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:238
#1  0xc0144038 in db_fncall (dummy1=0, dummy2=0, dummy3=-695085352,
    dummy4=0xd691d6a4 "\202ú2ÀµÝ2À¼Ö\221ÖÀÖ\221Ö\220\a")
    at /usr/src/sys/ddb/db_command.c:546
#2  0xc0143e1e in db_command (last_cmdp=0xc03a9360, cmd_table=0x0,
    aux_cmd_tablep=0xc03a3478, aux_cmd_tablep_end=0xc03a347c)
    at /usr/src/sys/ddb/db_command.c:346
#3  0xc0143f0b in db_command_loop () at
#/usr/src/sys/ddb/db_command.c:470 4  0xc01467aa in db_trap (type=12,
#code=0) at /usr/src/sys/ddb/db_trap.c:72 5  0xc0336210 in kdb_trap
#(type=12, code=0, regs=0xd691d82c)
    at /usr/src/sys/i386/i386/db_interface.c:170
#6  0xc034611e in trap_fatal (frame=0xd691d82c, eva=0)
    at /usr/src/sys/i386/i386/trap.c:829
#7  0xc0345e8e in trap_pfault (frame=0xd691d82c, usermode=0, eva=0)
    at /usr/src/sys/i386/i386/trap.c:748
#8  0xc0345ac9 in trap (frame=
      {tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -1006284800, tf_esi
= -2145359566, tf_ebp = -695084920, tf_isp = -695084968, tf_ebx =
-1006283332, tf_edx = -1006284800, tf_ecx = 2368, tf_eax = 0, tf_trapno
= 12, tf_err = 2, tf_eip = -1072259090, tf_cs = 8, tf_eflags = 66118,
tf_esp = 2368, tf_ss = -1006284800})    at
/usr/src/sys/i386/i386/trap.c:433
#9  0xc0337858 in calltrap () at {standard input}:96
#10 0xc0169e31 in fxp_ioctl (ifp=0xc4055000, command=2149607730,
#data=0x0)
    at /usr/src/sys/dev/fxp/if_fxp.c:2403
#11 0xc0271f53 in if_delmulti (ifp=0xc4055000, sa=0x0) at
#/usr/src/sys/net/if.c:1874 12 0xc1da1e20 in vlan_setmulti
#(ifp=0xc4252800) at /usr/src/sys/net/if_vlan.c:160 13 0xc1da2a1b in
#vlan_ioctl (ifp=0xc4252800, cmd=0, data=0x0)
    at /usr/src/sys/net/if_vlan.c:771
#14 0xc0271e90 in if_addmulti (ifp=0xc4252800, sa=0xd691d9b8,
#retifma=0xd691d9b4)
    at /usr/src/sys/net/if.c:1836
#15 0xc02a0a6c in in6_addmulti (maddr6=0xd691da18, ifp=0xc4252800,
#errorp=0xd691da04)
    at /usr/src/sys/netinet6/in6.c:1666
#16 0xc029fc67 in in6_update_ifa (ifp=0xc4252800, ifra=0xd691db18,
#ia=0xc4191a00)
    at /usr/src/sys/netinet6/in6.c:1017
#17 0xc02a27f2 in in6_ifattach_linklocal (ifp=0xc4252800, altifp=0x0)
    at /usr/src/sys/netinet6/in6_ifattach.c:497
#18 0xc02a2f14 in in6_ifattach (ifp=0xc4252800, altifp=0x0)
    at /usr/src/sys/netinet6/in6_ifattach.c:849
#19 0xc02a1433 in in6_if_up (ifp=0xc4252800) at
#/usr/src/sys/netinet6/in6.c:2326 20 0xc02718ec in ifioctl
#(so=0xc424e200, cmd=2151704858, data=0xd691dc60 "vlan3",
    td=0xc15275f0) at /usr/src/sys/net/if.c:1558
#21 0xc023c13c in soo_ioctl (fp=0x0, cmd=0, data=0xd691dc60,
#active_cred=0xc151e280,
    td=0xc15275f0) at /usr/src/sys/kern/sys_socket.c:172
#22 0xc0237c0e in ioctl (td=0xc15275f0, uap=0xd691dd14) at file.h:251
#23 0xc03463ad in syscall (frame=
      {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 0, tf_esi =
-1077936704, tf_ebp = -1077936936, tf_isp = -695083660, tf_ebx =
134869552, tf_edx = 134869600, tf_ecx = 0, tf_eax = 54, tf_trapno = 12,
tf_err = 2, tf_eip = 134537671, tf_cs = 31, tf_eflags = 642, tf_esp =
-1077937044, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1021
#24 0xc03378ad in Xint0x80_syscall () at {standard input}:138
---Can't read userspace from dump, or kernel process---
(kgdb) fr 13
#13 0xc1da2a1b in vlan_ioctl (ifp=0xc4252800, cmd=0, data=0x0)
    at /usr/src/sys/net/if_vlan.c:771
771                     error = vlan_setmulti(ifp);
(kgdb) list
766                             error = vlan_set_promisc(ifp);
767                     break;
768
769             case SIOCADDMULTI:
770             case SIOCDELMULTI:
771                     error = vlan_setmulti(ifp);
772                     break;
773             default:
774                     error = EINVAL;
775             }
(kgdb) fr 12
#12 0xc1da1e20 in vlan_setmulti (ifp=0xc4252800) at
#/usr/src/sys/net/if_vlan.c:160
160                     error = if_delmulti(ifp_p, (struct sockaddr
*)&sdl);(kgdb) list
155
156             /* First, remove any existing filter entries. */
157             while(SLIST_FIRST(&sc->vlan_mc_listhead) != NULL) {
158                     mc = SLIST_FIRST(&sc->vlan_mc_listhead);
159                     bcopy((char *)&mc->mc_addr, LLADDR(&sdl),
ETHER_ADDR_LEN); 160                     error = if_delmulti(ifp_p,
(struct sockaddr *)&sdl); 161                     if (error)
162                             return(error);
163                     SLIST_REMOVE_HEAD(&sc->vlan_mc_listhead,
mc_entries); 164                     free(mc, M_VLAN);
kgdb) fr 11
#11 0xc0271f53 in if_delmulti (ifp=0xc4055000, sa=0x0) at
#/usr/src/sys/net/if.c:1874
1874                    ifp->if_ioctl(ifp, SIOCDELMULTI, 0);
(kgdb) list
1869            /*
1870             * Make sure the interface driver is notified
1871             * in the case of a link layer mcast group being left.
1872             */
1873            if (ifma->ifma_addr->sa_family == AF_LINK && sa == 0)
1874                    ifp->if_ioctl(ifp, SIOCDELMULTI, 0);
1875            splx(s);
1876            free(ifma->ifma_addr, M_IFMADDR);
1877            free(ifma, M_IFMADDR);
1878            if (sa == 0)
(kgdb) fr 10
#10 0xc0169e31 in fxp_ioctl (ifp=0xc4055000, command=2149607730,
#data=0x0)
    at /usr/src/sys/dev/fxp/if_fxp.c:2403
2403                            fxp_mc_setup(sc);
(kgdb) list
2398                    /*
2399                     * Multicast list has changed; set the hardware
filter 2400                     * accordingly.
2401                     */
2402                    if ((sc->flags & FXP_FLAG_ALL_MCAST) == 0)
2403                            fxp_mc_setup(sc);
2404                    /*
2405                     * fxp_mc_setup() can set FXP_FLAG_ALL_MCAST, so
check it 2406                     * again rather than else {}.
2407                     */
(kgdb) p *sc
$4 = {arpcom = {ac_if = {if_softc = 0x0, if_name = 0x0, if_link =
{tqe_next = 0x0,        tqe_prev = 0x0}, if_addrhead = {tqh_first = 0x0,
tqh_last = 0x0}, if_klist = {        slh_first = 0x0}, if_pcount = 0,
if_bpf = 0x0, if_index = 0, if_unit = 0,      if_timer = 0, if_nvlans =
0, if_flags = 0, if_capabilities = 0,      if_capenable = 0, if_ipending
= 0, if_linkmib = 0x0, if_linkmiblen = 0,      if_data = {ifi_type = 0
'\0', ifi_physical = 0 '\0', ifi_addrlen = 0 '\0',        ifi_hdrlen = 0
'\0', ifi_recvquota = 0 '\0', ifi_xmitquota = 0 '\0',        ifi_mtu =
0, ifi_metric = 0, ifi_baudrate = 0, 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 = 0, ifi_unused =
0,        ifi_lastchange = {tv_sec = 0, tv_usec = 0}}, if_multiaddrs = {
        tqh_first = 0x0, tqh_last = 0x0}, if_amcount = 0, if_output = 0,
      if_input = 0, if_start = 0, if_done = 0, if_ioctl = 0, if_watchdog
= 0,      if_poll_recv = 0, if_poll_xmit = 0, if_poll_intren = 0,
if_poll_slowinput = 0,      if_init = 0, if_resolvemulti = 0, if_snd =
{ifq_head = 0x0, ifq_tail = 0x0,        ifq_len = 0, ifq_maxlen = 0,
ifq_drops = 0, ifq_mtx = {mtx_object = {            lo_class = 0x0,
lo_name = 0x0, lo_type = 0x0, lo_flags = 0, lo_list = {             
tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0}, mtx_lock = 0,       
  mtx_recurse = 0, mtx_blocked = {tqh_first = 0x0, tqh_last = 0x0},     
    mtx_contested = {le_next = 0x0, le_prev = 0x0}}}, if_poll_slowq =
0x0,      if_prefixhead = {tqh_first = 0x0, tqh_last = 0x0},
if_broadcastaddr = 0x0,      if_label = {l_flags = 0, l_perpolicy =
{{l_ptr = 0x0, l_long = 0}, {            l_ptr = 0x0, l_long = 0},
{l_ptr = 0x0, l_long = 0}, {l_ptr = 0x0,            l_long = 0}}}},
ac_enaddr = "\0\0\0\0\0", ac_multicnt = 0,    ac_netgraph = 0x0}, mem =
0x0, rtp = 0, rgd = 0, irq = 0x0, ih = 0x0, sc_mtx = {    mtx_object =
{lo_class = 0x0, lo_name = 0x0, lo_type = 0x0, lo_flags = 0,     
lo_list = {tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0}, mtx_lock
= 0,   mtx_recurse = 0, mtx_blocked = {tqh_first = 0x0, tqh_last = 0x0},
    mtx_contested = {le_next = 0x0, le_prev = 0x0}}, sc_st = 0, sc_sh =
0,  fxp_mtag = 0x0, fxp_stag = 0x0, fxp_smap = 0x0, cbl_tag = 0x0,
cbl_map = 0x0,  mcs_tag = 0x0, mcs_map = 0x0, spare_map = 0x0, fxp_desc
= {rx_list = {{        rx_next = 0x0, rx_mbuf = 0x0, rx_map = 0x0,
rx_addr = 0} <repeats 64 times>},    tx_list = {{tx_next = 0x0, tx_cb =
0x0, tx_mbuf = 0x0,        tx_map = 0x0} <repeats 36 times>, {tx_next =
0x0, tx_cb = 0xc40555bc,        tx_mbuf = 0xc406a200, tx_map = 0x0},
{tx_next = 0x0, tx_cb = 0xc40551bc,        tx_mbuf = 0xc40555ac, tx_map
= 0xc4055dbc}, {tx_next = 0xc4055dbc,        tx_cb = 0x0, tx_mbuf =
0xd9b83000, tx_map = 0x727000}, {tx_next = 0x0,        tx_cb = 0x1,
tx_mbuf = 0x1, tx_map = 0xc404ad80}, {tx_next = 0x71ed80,        tx_cb =
0x0, tx_mbuf = 0x0, tx_map = 0xc406a200}, {tx_next = 0x73e200,       
tx_cb = 0x0, tx_mbuf = 0x0, tx_map = 0x0}, {tx_next = 0x0,        tx_cb
= 0xc01699a0, tx_mbuf = 0xc01699c0, tx_map = 0xc404f380}, {       
tx_next = 0xc404a700, tx_cb = 0xc3fcf9d0, tx_mbuf = 0xc3fcfa14,       
tx_map = 0xc40538c0}, {tx_next = 0x3e8, tx_cb = 0x6, tx_mbuf = 0x6,     
  tx_map = 0x0}, {tx_next = 0x0, tx_cb = 0xc, tx_mbuf = 0x429, tx_map =
0x0}, {        tx_next = 0x0, tx_cb = 0x0, tx_mbuf = 0x0, tx_map = 0x0},
{tx_next = 0x0,        tx_cb = 0x20000000, tx_mbuf = 0x9, tx_map = 0x0},
{tx_next = 0x0,        tx_cb = 0x0, tx_mbuf = 0x0, tx_map = 0x0}
<repeats 24 times>, {tx_next = 0x0,        tx_cb = 0x0, tx_mbuf =
0xc03c7774, tx_map = 0xc01b1340}, {tx_next = 0x0,        tx_cb = 0x0,
tx_mbuf = 0x0, tx_map = 0x0} <repeats 44 times>, {        tx_next =
0xc03c777c, tx_cb = 0xc01a1d60, tx_mbuf = 0xc03c7784,        tx_map =
0xc01a1be0}, {tx_next = 0x0, tx_cb = 0x0, tx_mbuf = 0x0,        tx_map =
0x0}, {tx_next = 0x0, tx_cb = 0x0, tx_mbuf = 0x0, tx_map = 0x0}, {      
 tx_next = 0x0, tx_cb = 0x0, tx_mbuf = 0x0, tx_map = 0x0}, {tx_next =
0x0,        tx_cb = 0x0, tx_mbuf = 0x0, tx_map = 0x0}, {tx_next = 0x0,
tx_cb = 0x0,        tx_mbuf = 0x0, tx_map = 0x0}, {tx_next = 0x0, tx_cb
= 0x0, tx_mbuf = 0x0,       tx_map = 0x0}, {tx_next = 0x0, tx_cb = 0x0,
tx_mbuf = 0x0, tx_map = 0x0}, {        tx_next = 0x0, tx_cb = 0x0,
tx_mbuf = 0x0, tx_map = 0x0}, {tx_next = 0x0,        tx_cb = 0x0,
tx_mbuf = 0x0, tx_map = 0x0}, {tx_next = 0x0, tx_cb = 0x0,       
tx_mbuf = 0x0, tx_map = 0x0}}, mcs_tx = {tx_next = 0x0, tx_cb = 0x0,    
 tx_mbuf = 0x0, tx_map = 0x0}, rx_head = 0x0, rx_tail = 0x0, tx_first =
0x0,    tx_last = 0x0, rfa_list = 0x0, cbl_list = 0x0, cbl_addr = 0,
rx_tag = 0x0},  tx_queued = 0, need_mcsetup = 0, fxp_stats = 0x0,
stats_addr = 0, rx_idle_secs = 0,  stat_ch = {callout = 0x0}, mcsp =
0x0, mcs_addr = 0, sc_media = {ifm_mask = 0,    ifm_media = 0, ifm_cur =
0x0, ifm_list = {lh_first = 0x0}, ifm_change = 0,    ifm_status = 0},
miibus = 0x0, dev = 0x0, sysctl_ctx = {tqh_first = 0x0,    tqh_last =
0x0}, sysctl_tree = 0x0, tunable_int_delay = 0,  tunable_bundle_max = 0,
eeprom_size = 0, suspended = 0, cu_resume_bug = 0,  revision = 0, flags
= 0, saved_maps = {0, 0, 0, 0, 0}, saved_biosaddr = 0,  saved_intline =
0 '\0', saved_cachelnsz = 0 '\0', saved_lattimer = 0 '\0',  rfa_size = 0
'\0', tx_cmd = 0}


Received on Thu May 01 2003 - 05:54:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:05 UTC