Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 May 2002 17:03:58 +0200 (CEST)
From:      BOUWSMA Beery <freebsd-misuser@dcf77-zeit.netscum.dyndns.dk>
To:        freebsd-stable@freebsd.org
Subject:   Panic in IPv6...
Message-ID:  <200205301503.g4UF3wT15721@beerswilling.netscum.dyndns.dk>

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

Howdy, I just saw a panic with 4.5-STABLE built around 10.March

I have a DHCP-assigned address, from which I derive a 6to4 IPv6
address assigned to the stf0 interface.

What happened this time was that the IPv4-assigned address from
DHCP changed, and I wasn't paying attention (also, I hadn't hacked
things to change everything as I should)

Of course, the IPv6 network seemed to be down.  So I brought up a
gif tunnel, then did a `netstat -nr' command, and *POW*


Here's the trace


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xef920220
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc01e69cb
stack pointer           = 0x10:0xc7269b9c
frame pointer           = 0x10:0xc7269bb4
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         = 338 (bplay)
interrupt mask          =
trap number             = 12
panic: page fault


[...]

#4  0xc028e97d in trap_pfault (frame=0xc7269b5c, usermode=0, eva=4019323424)
    at /usr/src/sys/i386/i386/trap.c:859
#5  0xc028e4f7 in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16,
      tf_edi = -275643904, tf_esi = -1053182208, tf_ebp = -953771084,
      tf_isp = -953771128, tf_ebx = -1053657088, tf_edx = -1053179624,
      tf_ecx = -1070262636, tf_eax = -1053657312, tf_trapno = 12, tf_err = 0,
      tf_eip = -1071748661, tf_cs = 8, tf_eflags = 66182, tf_esp = 0,
      tf_ss = -1071748756}) at /usr/src/sys/i386/i386/trap.c:458
#6  0xc01e69cb in nd6_timer (ignored_arg=0x0)
    at /usr/src/sys/netinet6/nd6.c:445
#7  0xc0173ead in softclock () at /usr/src/sys/kern/kern_timeout.c:131
#8  0xc0282f5f in doreti_swi ()
#9  0xc0177aa9 in diskstrategy (bp=0xc2886074)
    at /usr/src/sys/kern/subr_disk.c:251
#10 0xc01a6e58 in spec_strategy (ap=0xc7269ca4)
    at /usr/src/sys/miscfs/specfs/spec_vnops.c:479
#11 0xc01a6881 in spec_vnoperate (ap=0xc7269ca4)
    at /usr/src/sys/miscfs/specfs/spec_vnops.c:119
#12 0xc0214c01 in ufs_vnoperatespec (ap=0xc7269ca4)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2440
#13 0xc0214501 in ufs_strategy (ap=0xc7269ce8) at vnode_if.h:944
#14 0xc0214bd1 in ufs_vnoperate (ap=0xc7269ce8)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2422
#15 0xc0193966 in bwrite (bp=0xc2886074) at vnode_if.h:944
#16 0xc01990b6 in vop_stdbwrite (ap=0xc7269d24)
    at /usr/src/sys/kern/vfs_default.c:331
#17 0xc0198f11 in vop_defaultop (ap=0xc7269d24)
    at /usr/src/sys/kern/vfs_default.c:150
#18 0xc0214bd1 in ufs_vnoperate (ap=0xc7269d24)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2422
#19 0xc0193cb6 in bawrite (bp=0xc2886074) at vnode_if.h:1193
#20 0xc019877f in cluster_wbuild (vp=0xc7254780, size=65536, start_lbn=89454,
    len=2) at /usr/src/sys/kern/vfs_cluster.c:945
#21 0xc01982a2 in cluster_write (bp=0xc28ce014, filesize=5862457344,
    seqcount=127) at /usr/src/sys/kern/vfs_cluster.c:576
#22 0xc020d876 in ffs_write (ap=0xc7269e64)
    at /usr/src/sys/ufs/ufs/ufs_readwrite.c:544
#23 0xc01a2dae in vn_write (fp=0xc150fac0, uio=0xc7269ed4, cred=0xc13f8480,
    flags=0, p=0xc6707520) at vnode_if.h:363
#24 0xc017cd8d in dofilewrite (p=0xc6707520, fp=0xc150fac0, fd=3,
    buf=0x30058000, nbyte=65536, offset=-1, flags=0)
    at /usr/src/sys/sys/file.h:162
---Type <return> to continue, or q <return> to quit---
#25 0xc017cc46 in write (p=0xc6707520, uap=0xc7269f80)
    at /usr/src/sys/kern/sys_generic.c:329
#26 0xc028ef85 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47,
      tf_edi = 65536, tf_esi = 1, tf_ebp = -1077937404, tf_isp = -953770028,
      tf_ebx = 0, tf_edx = 3, tf_ecx = 805666816, tf_eax = 4, tf_trapno = 7,
      tf_err = 2, tf_eip = 672002840, tf_cs = 31, tf_eflags = 518,
      tf_esp = -1077937464, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1167
#27 0xc0281b45 in Xint0x80_syscall ()
#28 0x8049228 in ?? ()
#29 0x8048add in ?? ()


This is the IPv6-related line of interest

#6  0xc01e69cb in nd6_timer (ignored_arg=0x0)
    at /usr/src/sys/netinet6/nd6.c:445
445                     if ((ifp = rt->rt_ifp) == NULL) {


date of source is  nd6.c,v 1.2.2.10 2001/12/20 10:30:19 ru


Anyone care to give a quick tutorial on what more I want to look
at?  I see that
(kgdb) p ifp
$6 = (struct ifnet *) 0xef920200
and
(kgdb) p *rt
$8 = {rt_nodes = {{rn_mklist = 0xc13b9c00, rn_parent = 0xa4, rn_bit = 1,
[...]
  rt_flags = 2148269631, rt_ifp = 0xef920200, rt_ifa = 0x0,
and
(kgdb) p rt->rt_ifp
$9 = (struct ifnet *) 0xef920200
but
(kgdb) p *ifp
Cannot access memory at address 0xef920200.
(same for *rt->rt_ifp) if that means anything.


Feel free to tell me to update; I need a good kick in the pants


thanks
barry bouwsma


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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