tcp hostcache and ip fastforward for review

Hajimu UMEMOTO ume at mahoroba.org
Tue Nov 11 12:00:54 PST 2003


Hi,

>>>>> On Tue, 11 Nov 2003 19:26:41 +0100
>>>>> Andre Oppermann <oppermann at pipeline.ch> said:

oppermann> I have fixed the panic. It was a stupid braino in the test whether
oppermann> we have to free the allocated route. It was trying to free a null
oppermann> pointer route which obviously doesn't work. :-^

oppermann> The updated patch is here:

oppermann>  http://www.nrg4u.com/freebsd/tcphostcache+ipfastforward-20031111.patch

oppermann> If you could try again please?

It panics at another point on boot.

panic: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x7d1efae8
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xc058e2bf
stack pointer           = 0x10:0xd2e5e84c
frame pointer           = 0x10:0xd2e5e874
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         = 10384 (racoon)
trap number             = 12
panic: page fault


#0  doadump ()
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/kern_shutdown.c:240
240             dumping++;
(kgdb) bt
#0  doadump ()
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/kern_shutdown.c:240
#1  0xc04fad80 in boot (howto=260)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/kern_shutdown.c:372
#2  0xc04fb168 in panic ()
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/kern_shutdown.c:550
#3  0xc05441e1 in bremfreel (bp=0xcae402a8)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_bio.c:647
#4  0xc05440eb in bremfree (bp=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_bio.c:629
#5  0xc054f1a9 in cluster_wbuild (vp=0xc3c1ca44, size=16384, start_lbn=1,
    len=1) at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_cluster.c:804
#6  0xc054ecf1 in cluster_write (bp=0xcae402a8, filesize=32768, seqcount=127)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_cluster.c:590
#7  0xc05fb428 in ffs_write (ap=0xd2e5e33c)
    at /usr/home/ume/cvs/freefall/current/src/sys/ufs/ffs/ffs_vnops.c:748
#8  0xc062cd53 in vnode_pager_generic_putpages (vp=0xc3c1ca44, m=0xd2e5e480,
    bytecount=4096, flags=12, rtvals=0xd2e5e440) at vnode_if.h:432
#9  0xc05507c0 in vop_stdputpages (ap=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_default.c:813
#10 0xc054fb98 in vop_defaultop (ap=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_default.c:161
#11 0xc060a208 in ufs_vnoperate (ap=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/ufs/ufs/ufs_vnops.c:2793
#12 0xc062ca88 in vnode_pager_putpages (object=0xc3c20b90, m=0x0, count=0,
    sync=12, rtvals=0x0) at vnode_if.h:1357
#13 0xc0623b1e in vm_pageout_flush (mc=0xd2e5e480, count=1, flags=12)
    at /usr/home/ume/cvs/freefall/current/src/sys/vm/vm_pager.h:146
#14 0xc061dac6 in vm_object_page_collect_flush (object=0xc3c20b90,
    p=0xc14e54f0, curgeneration=1, pagerflags=12)
---Type <return> to continue, or q <return> to quit---
    at /usr/home/ume/cvs/freefall/current/src/sys/vm/vm_object.c:948
#15 0xc061d4be in vm_object_page_clean (object=0xc3c20b90, start=7, end=0,
    flags=4) at /usr/home/ume/cvs/freefall/current/src/sys/vm/vm_object.c:747
#16 0xc055d5b9 in vfs_msync (mp=0xc3a4ac00, flags=2)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_subr.c:3235
#17 0xc055e769 in sync (td=0xc06e6fa0, uap=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/vfs_syscalls.c:140
#18 0xc04fa88d in boot (howto=256)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/kern_shutdown.c:281
#19 0xc04fb168 in panic ()
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/kern_shutdown.c:550
#20 0xc0662326 in trap_fatal (frame=0xd2e5e80c, eva=0)
    at /usr/home/ume/cvs/freefall/current/src/sys/i386/i386/trap.c:821
#21 0xc0661fc2 in trap_pfault (frame=0xd2e5e80c, usermode=0, eva=2099182312)
    at /usr/home/ume/cvs/freefall/current/src/sys/i386/i386/trap.c:735
#22 0xc0661b15 in trap (frame=
      {tf_fs = 24, tf_es = -756744176, tf_ds = -1067319280, tf_edi = -756684608, tf_esi = 2099182272, tf_ebp = -756684684, tf_isp = -756684744, tf_ebx = 1500, tf_edx = -1014756864, tf_ecx = -1014277120, tf_eax = 4, tf_trapno = 12, tf_err = 2, tf_eip = -1067916609, tf_cs = 8, tf_eflags = 68103, tf_esp = -756684268, tf_ss = -1013112832})
    at /usr/home/ume/cvs/freefall/current/src/sys/i386/i386/trap.c:420
#23 0xc0652e08 in calltrap () at {standard input}:94
#24 0xc058e637 in tcp_hc_getmtu (inc=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/netinet/tcp_hostcache.c:420
#25 0xc05bce17 in ip6_getpmtu (ro_pmtu=0x7d1efac0, ro=0x0, ifp=0xc38b5c00,
    dst=0xd2e5e9e0, mtup=0x0, alwaysfragp=0xd2e5e980)
    at /usr/home/ume/cvs/freefall/current/src/sys/netinet6/ip6_output.c:1400
#26 0xc05bbf1f in ip6_output (m0=0xd2e5eaa0, opt=0xd2e5eaa0, ro=0xd2e5ea10,
    flags=0, im6o=0x0, ifpp=0x0, inp=0xc3b2d900)
---Type <return> to continue, or q <return> to quit---
    at /usr/home/ume/cvs/freefall/current/src/sys/netinet6/ip6_output.c:830
#27 0xc05cf5b9 in udp6_output (in6p=0xc3b2d900, m=0xc19a0b00,
    addr6=0xc19a0bf8, control=0xc199db00, td=0xc3840a00)
    at /usr/home/ume/cvs/freefall/current/src/sys/netinet6/udp6_output.c:297
#28 0xc05d03ce in udp6_send (so=0xc3c1b110, flags=0, m=0xc19a0a00,
    addr=0xc39bb5e0, control=0xc199db00, td=0xc3840a00)
    at /usr/home/ume/cvs/freefall/current/src/sys/netinet6/udp6_usrreq.c:758
#29 0xc053a62d in sosend (so=0xc3c1b110, addr=0xc39bb5e0, uio=0xd2e5ebf4,
    top=0xc19a0a00, control=0xc199db00, flags=0, td=0xc3840a00)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/uipc_socket.c:715
#30 0xc053ef7c in kern_sendit (td=0xc3840a00, s=6, mp=0xd2e5eca4, flags=0,
    control=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/uipc_syscalls.c:722
#31 0xc053ed9e in sendit (td=0x0, s=0, mp=0xd2e5eca4, flags=0)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/uipc_syscalls.c:662
#32 0xc053f393 in sendmsg (td=0x0, uap=0xd2e5ed10)
    at /usr/home/ume/cvs/freefall/current/src/sys/kern/uipc_syscalls.c:900
#33 0xc06626b0 in syscall (frame=
      {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = -1077941600, tf_esi = 2, tf_ebp = -1077941400, tf_isp = -756683404, tf_ebx = 0, tf_edx = 27, tf_ecx = -1077942160, tf_eax = 28, tf_trapno = 0, tf_err = 2, tf_eip = 673524543, tf_cs = 31, tf_eflags = 658, tf_esp = -1077941956, tf_ss = 47})
    at /usr/home/ume/cvs/freefall/current/src/sys/i386/i386/trap.c:1010
#34 0xc0652e5d in Xint0x80_syscall () at {standard input}:136
---Can't read userspace from dump, or kernel process---
 
(kgdb) frame 24
#24 0xc058e637 in tcp_hc_getmtu (inc=0x0)
    at /usr/home/ume/cvs/freefall/current/src/sys/netinet/tcp_hostcache.c:420
420             hc_entry = tcp_hc_lookup(inc);
(kgdb)

Sincerely,

--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume at mahoroba.org  ume at bisd.hitachi.co.jp  ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/


More information about the freebsd-net mailing list