Panic with IPFilter 4.1.13 using IPSec proxy on FreeBSD 6
Brought to you by:
darren_r
Just recently I enabled the IPSec proxy in my NAT rules for my wife to access her work files via the Cisco VPN client. After about maybe 15 minutes, my system (6.2-STABLE as of July 29th, 2007) panic'd. Before the panic, the VPN was working well.
I placed the panic and the full panic here (http://www.farley.org/freebsd/tmp/ipf-panic/) with details about nifq in fr_movequeue().
The first line in /etc/ipnat.rules is the only line I added. I believe it led to the panic.
map dc0 172.16.16.16/32 -> 67.64.95.205/32 proxy port isakmp ipsec/udp
map dc0 172.16.16.16/32 -> 67.64.95.205/32 portmap tcp/udp 34001:35000
map dc0 172.16.16.16/32 -> 67.64.95.205/32
...
Logged In: YES
user_id=1448875
Originator: NO
It would be good if you could test replacing the IPFilter code in 6.2-STABLE by downloading 4.1.24, doing a BSD/kupgrade, "make freebsd6 && make install" and testing this to see if it still happens.
Logged In: YES
user_id=1448875
Originator: NO
Full panic info below.
kgdb: kvm_nlist(_stopped_cpus):
kgdb: kvm_nlist(_stoppcbs):
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
Ready to go. Enter 'tr' to connect to the remote target
with /dev/cuad0, 'tr /dev/cuad1' to connect to a different port
or 'trf portno' to connect to the remote target with the firewire
interface. portno defaults to 5556.
Type 'getsyms' after connection to load kld symbols.
If you're debugging a local system, you can use 'kldsyms' instead
to load the kld symbols. That's a less obnoxious interface.
Unread portion of the kernel message buffer:
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x74
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0552fcd
stack pointer = 0x28:0xcbfb19dc
frame pointer = 0x28:0xcbfb19e0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 13 (swi1: net)
trap number = 12
panic: page fault
Uptime: 21d14h13m42s
Dumping 255 MB (3 chunks)
chunk 0: 1MB (159 pages) ... ok
chunk 1: 64MB (16381 pages) 49 33 17 ... ok
chunk 2: 191MB (48896 pages) 176 160 144 128 112 96 80 64 48 32 16
#0 doadump () at pcpu.h:165
165 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) getsyms
During symbol reading, Incomplete CFI data; unspecified registers at 0xc052a063.
Id Refs Address Size Name
1 9 0xc0400000 447b4c kernel
2 1 0xc0848000 2464 accf_http.ko
3 1 0xc084b000 64df0 acpi.ko
4 1 0xc237f000 2f000 ipl.ko
5 1 0xc23ef000 c000 if_bridge.ko
6 1 0xc2693000 2000 green_saver.ko
7 1 0xc269f000 4000 nullfs.ko
Select the list above with the mouse, paste into the screen
and then press ^D. Yes, this is annoying.
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/accf_http/accf_http.ko.debug" at
.text_addr = 0xc0848690
.data_addr = 0xc0849cc0
.bss_addr = 0xc0849e14
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/acpi/acpi/acpi.ko.debug" at
.text_addr = 0xc085bcf0
.data_addr = 0xc089a000
.bss_addr = 0xc089c4c0
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/if_bridge/if_bridge.ko.debug" at
.text_addr = 0xc23f17b0
.data_addr = 0xc23fa100
.bss_addr = 0xc23fa440
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/ipl.ko.debug" at
.text_addr = 0xc2387580
.data_addr = 0xc23a9000
.bss_addr = 0xc23aa2e0
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/nullfs/nullfs.ko.debug" at
.text_addr = 0xc26a02f0
.data_addr = 0xc26a2a80
.bss_addr = 0xc26a2e20
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/syscons/green/green_saver.ko.debug" at
.text_addr = 0xc2693500
.data_addr = 0xc26945c8
.bss_addr = 0xc26946b0
(kgdb) bt full
#0 doadump () at pcpu.h:165
During symbol reading, Incomplete CFI data; unspecified registers at 0xc052a063.
No locals.
#1 0xc052a62c in boot (howto=0x104) at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_shutdown.c:409
first_buf_printf = 0x1
#2 0xc052a979 in panic (fmt=0xc0722c68 "%s") at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_shutdown.c:565
td = (struct thread *) 0xc2175a80
bootopt = 0x104
newpanic = 0x0
ap = 0xc2175a80 "HF\027Âà\215\027Â"
buf = "page fault", '\0' <repeats 245 times>
#3 0xc06fcedc in trap_fatal (frame=0xcbfb199c, eva=0x0) at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/trap.c:837
code = 0x28
type = 0xc
ss = 0x28
esp = 0x0
softseg = {
ssd_base = 0x0,
ssd_limit = 0xfffff,
ssd_type = 0x1b,
ssd_dpl = 0x0,
ssd_p = 0x1,
ssd_xx = 0x0,
ssd_xx1 = 0x0,
ssd_def32 = 0x1,
ssd_gran = 0x1
}
msg = 0x0
#4 0xc06fc574 in trap (frame=
{tf_fs = 0x8, tf_es = 0x28, tf_ds = 0x28, tf_edi = 0xc23a8ad8, tf_esi = 0xc2175a80, tf_ebp = 0xcbfb19e0, tf_isp = 0xcbfb19c8, tf_ebx = 0xc216d600, tf_edx = 0xc2175a80, tf_ecx = 0x0, tf_eax = 0x0, tf_trapno = 0xc, tf_err = 0x0, tf_eip = 0xc0552fcd, tf_cs = 0x20, tf_eflags = 0x90007, tf_esp = 0xc2175a80, tf_ss = 0xcbfb1a04})
at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/trap.c:270
td = (struct thread *) 0xc2175a80
p = (struct proc *) 0xc2174648
sticks = 0xc23a7980
i = 0x0
ucode = 0x0
type = 0xc
code = 0x0
eva = 0x74
#5 0xc06e71fa in calltrap () at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/exception.s:139
No locals.
#6 0xc0552fcd in turnstile_setowner (ts=0xc216d600, owner=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/subr_turnstile.c:434
No locals.
#7 0xc055332a in turnstile_wait (lock=0xc2caa028, owner=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/subr_turnstile.c:593
tc = (struct turnstile_chain *) 0xc078e4e0
ts = (struct turnstile *) 0xc216d600
td = (struct thread *) 0xc2175a80
td1 = (struct thread *) 0xc2175a80
#8 0xc051f574 in _mtx_lock_sleep (m=0xc2caa028, tid=0xc2175a80, opts=0x0,
file=0xc23a8ad8 "/usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c", line=0x13d6)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_mutex.c:579
v = 0x0
#9 0xc051f344 in _mtx_lock_flags (m=0x0, opts=0x0, file=0x0, line=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_mutex.c:288
During symbol reading, unsupported const value attribute form: 'DW_FORM_strp'.
No locals.
#10 0xc23a2bbb in fr_movequeue (tqe=0xc2cfbe68, oifq=0xc23a8ad8, nifq=0xc2caa028)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:5078
No locals.
#11 0xc23885ed in nat_update (fin=0xcbfb1b28, nat=0xc2cfbe00, np=0x32)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_nat.c:3596
ifq = (ipftq_t *) 0xc23aa7e0
ifq2 = (ipftq_t *) 0x0
#12 0xc2388990 in fr_natin (fin=0xcbfb1b28, nat=0xc2cfbe00, natadd=0x1, nflags=0x320)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_nat.c:4160
icmp = (icmphdr_t *) 0x0
csump = (u_short *) 0x0
tcp = (tcphdr_t *) 0x0
np = (ipnat_t *) 0xc2c9be14
i = 0x0
#13 0xc238bd4e in fr_checknatin (fin=0xcbfb1b28, passp=0xcbfb1b24)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_nat.c:4040
nflags = 0x320
natadd = 0x1
rval = 0x0
natfailed = 0x0
ifp = (struct ifnet *) 0xc2253000
in = {
s_addr = 0xcd5f4043
}
icmp = (icmphdr_t *) 0x0
tcp = (tcphdr_t *) 0x0
dport = 0x0
np = (ipnat_t *) 0x0
nat = (nat_t *) 0xc2cfbe00
iph = 0xc2175a80
#14 0xc23a3232 in fr_check (ip=0x0, hlen=0xcbfb1b24, ifp=0x0, out=0x0, mp=0xcbfb1c10)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:2466
fdp = (frdest_t *) 0x0
frinfo = {
fin_ifp = 0xc2253000,
fin_fi = {
fi_v = 0x4,
fi_xx = 0x0,
fi_tos = 0x0,
fi_ttl = 0x39,
fi_p = 0x32,
fi_optmsk = 0x0,
fi_src = {
i6 = {0x4b4b39cc, 0x0, 0x0, 0x0},
in4 = {
s_addr = 0x4b4b39cc
},
in6 = {
__u6_addr = {
__u6_addr8 = "Ì9KK", '\0' <repeats 11 times>,
__u6_addr16 = {0x39cc, 0x4b4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
__u6_addr32 = {0x4b4b39cc, 0x0, 0x0, 0x0}
}
},
vptr = {0x4b4b39cc, 0x0},
lptr = {0x4b4b39cc, 0}
},
fi_dst = {
i6 = {0x101010ac, 0x0, 0x0, 0x0},
in4 = {
s_addr = 0x101010ac
},
in6 = {
__u6_addr = {
__u6_addr8 = "¬\020\020\020", '\0' <repeats 11 times>,
__u6_addr16 = {0x10ac, 0x1010, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
__u6_addr32 = {0x101010ac, 0x0, 0x0, 0x0}
}
},
vptr = {0x101010ac, 0x0},
lptr = {0x101010ac, 0}
},
fi_secmsk = 0x0,
fi_auth = 0x0,
fi_flx = 0x0,
fi_tcpmsk = 0x0,
fi_res1 = 0x0
},
fin_dat = {
fid_16 = {0x0, 0x0},
fid_32 = 0x0
},
fin_out = 0x0,
fin_rev = 0x1,
fin_hlen = 0x14,
fin_tcpf = 0x0,
fin_icode = 0x0,
fin_rule = 0xffffffff,
fin_group = "ÿ", '\0' <repeats 14 times>,
fin_fr = 0xc23ab960,
fin_dp = 0xc244502a,
fin_dlen = 0x4c,
fin_plen = 0x60,
fin_ipoff = 0x0,
fin_id = 0xf55,
fin_off = 0x0,
fin_depth = 0x0,
fin_error = 0x33,
fin_nat = 0x0,
fin_state = 0x0,
fin_nattag = 0x0,
fin_ip = 0xc2445016,
fin_mp = 0xcbfb1c10,
fin_m = 0xc389d600
}
pass = 0x8000002
fr = (frentry_t *) 0x0
mc = (mb_t *) 0x0
m = (mb_t *) 0x0
#15 0xc239d9fb in fr_check_wrapper (arg=0x0, mp=0xc2175a80, ifp=0x0, dir=0x1)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_fil_freebsd.c:171
ip = (struct ip *) 0x0
#16 0xc05bd708 in pfil_run_hooks (ph=0xc07914a0, mp=0xcbfb1c68, ifp=0xc2253000, dir=0x1, inp=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/net/pfil.c:139
pfh = (struct packet_filter_hook *) 0xc224d460
m = (struct mbuf *) 0xc389d600
rv = 0x0
#17 0xc05d01d0 in ip_input (m=0xc389d600) at /usr/FreeBSD/6-STABLE/src/sys/netinet/ip_input.c:468
ip = (struct ip *) 0xcd5f4043
ia = (struct in_ifaddr *) 0x0
ifa = (struct ifaddr *) 0xc2175a80
checkif = 0x0
hlen = 0x14
sum = 0x0
dchg = 0x0
odst = {
s_addr = 0xcd5f4043
}
#18 0xc05bd2d9 in netisr_processqueue (ni=0xc0790b38) at /usr/FreeBSD/6-STABLE/src/sys/net/netisr.c:236
m = (struct mbuf *) 0xc389d600
#19 0xc05bd53f in swi_net (dummy=0x0) at /usr/FreeBSD/6-STABLE/src/sys/net/netisr.c:349
ni = (struct netisr *) 0xc0790b38
bits = 0x0
i = 0x0
#20 0xc050f888 in ithread_execute_handlers (p=0xc2174648, ie=0xc2172400)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_intr.c:682
ih = (struct intr_handler *) 0xc216eb00
ihn = (struct intr_handler *) 0x0
#21 0xc050fa06 in ithread_loop (arg=0xc21436f0) at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_intr.c:765
intr_event = (struct intr_thread *) 0xc21436f0
ie = (struct intr_event *) 0xc2172400
td = (struct thread *) 0xc2175a80
p = (struct proc *) 0xc2174648
#22 0xc050e2ff in fork_exit (callout=0xc050f990 <ithread_loop>, arg=0x0, frame=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_fork.c:830
p = (struct proc *) 0xc2174648
td = (struct thread *) 0xc2175a80
#23 0xc06e725c in fork_trampoline () at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/exception.s:208
No locals.
(kgdb) quit
Logged In: YES
user_id=1448875
Originator: NO
Full panic info below.
kgdb: kvm_nlist(_stopped_cpus):
kgdb: kvm_nlist(_stoppcbs):
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
Ready to go. Enter 'tr' to connect to the remote target
with /dev/cuad0, 'tr /dev/cuad1' to connect to a different port
or 'trf portno' to connect to the remote target with the firewire
interface. portno defaults to 5556.
Type 'getsyms' after connection to load kld symbols.
If you're debugging a local system, you can use 'kldsyms' instead
to load the kld symbols. That's a less obnoxious interface.
Unread portion of the kernel message buffer:
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x74
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0552fcd
stack pointer = 0x28:0xcbfb19dc
frame pointer = 0x28:0xcbfb19e0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = resume, IOPL = 0
current process = 13 (swi1: net)
trap number = 12
panic: page fault
Uptime: 21d14h13m42s
Dumping 255 MB (3 chunks)
chunk 0: 1MB (159 pages) ... ok
chunk 1: 64MB (16381 pages) 49 33 17 ... ok
chunk 2: 191MB (48896 pages) 176 160 144 128 112 96 80 64 48 32 16
#0 doadump () at pcpu.h:165
165 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) getsyms
During symbol reading, Incomplete CFI data; unspecified registers at 0xc052a063.
Id Refs Address Size Name
1 9 0xc0400000 447b4c kernel
2 1 0xc0848000 2464 accf_http.ko
3 1 0xc084b000 64df0 acpi.ko
4 1 0xc237f000 2f000 ipl.ko
5 1 0xc23ef000 c000 if_bridge.ko
6 1 0xc2693000 2000 green_saver.ko
7 1 0xc269f000 4000 nullfs.ko
Select the list above with the mouse, paste into the screen
and then press ^D. Yes, this is annoying.
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/accf_http/accf_http.ko.debug" at
.text_addr = 0xc0848690
.data_addr = 0xc0849cc0
.bss_addr = 0xc0849e14
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/acpi/acpi/acpi.ko.debug" at
.text_addr = 0xc085bcf0
.data_addr = 0xc089a000
.bss_addr = 0xc089c4c0
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/if_bridge/if_bridge.ko.debug" at
.text_addr = 0xc23f17b0
.data_addr = 0xc23fa100
.bss_addr = 0xc23fa440
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/ipl.ko.debug" at
.text_addr = 0xc2387580
.data_addr = 0xc23a9000
.bss_addr = 0xc23aa2e0
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/nullfs/nullfs.ko.debug" at
.text_addr = 0xc26a02f0
.data_addr = 0xc26a2a80
.bss_addr = 0xc26a2e20
add symbol table from file "/usr/FreeBSD/6-STABLE/obj/usr/FreeBSD/6-STABLE/src/sys/GW/modules/usr/FreeBSD/6-STABLE/src/sys/modules/syscons/green/green_saver.ko.debug" at
.text_addr = 0xc2693500
.data_addr = 0xc26945c8
.bss_addr = 0xc26946b0
(kgdb) bt full
#0 doadump () at pcpu.h:165
During symbol reading, Incomplete CFI data; unspecified registers at 0xc052a063.
No locals.
#1 0xc052a62c in boot (howto=0x104) at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_shutdown.c:409
first_buf_printf = 0x1
#2 0xc052a979 in panic (fmt=0xc0722c68 "%s") at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_shutdown.c:565
td = (struct thread *) 0xc2175a80
bootopt = 0x104
newpanic = 0x0
ap = 0xc2175a80 "HF\027Âà\215\027Â"
buf = "page fault", '\0' <repeats 245 times>
#3 0xc06fcedc in trap_fatal (frame=0xcbfb199c, eva=0x0) at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/trap.c:837
code = 0x28
type = 0xc
ss = 0x28
esp = 0x0
softseg = {
ssd_base = 0x0,
ssd_limit = 0xfffff,
ssd_type = 0x1b,
ssd_dpl = 0x0,
ssd_p = 0x1,
ssd_xx = 0x0,
ssd_xx1 = 0x0,
ssd_def32 = 0x1,
ssd_gran = 0x1
}
msg = 0x0
#4 0xc06fc574 in trap (frame=
{tf_fs = 0x8, tf_es = 0x28, tf_ds = 0x28, tf_edi = 0xc23a8ad8, tf_esi = 0xc2175a80, tf_ebp = 0xcbfb19e0, tf_isp = 0xcbfb19c8, tf_ebx = 0xc216d600, tf_edx = 0xc2175a80, tf_ecx = 0x0, tf_eax = 0x0, tf_trapno = 0xc, tf_err = 0x0, tf_eip = 0xc0552fcd, tf_cs = 0x20, tf_eflags = 0x90007, tf_esp = 0xc2175a80, tf_ss = 0xcbfb1a04})
at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/trap.c:270
td = (struct thread *) 0xc2175a80
p = (struct proc *) 0xc2174648
sticks = 0xc23a7980
i = 0x0
ucode = 0x0
type = 0xc
code = 0x0
eva = 0x74
#5 0xc06e71fa in calltrap () at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/exception.s:139
No locals.
#6 0xc0552fcd in turnstile_setowner (ts=0xc216d600, owner=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/subr_turnstile.c:434
No locals.
#7 0xc055332a in turnstile_wait (lock=0xc2caa028, owner=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/subr_turnstile.c:593
tc = (struct turnstile_chain *) 0xc078e4e0
ts = (struct turnstile *) 0xc216d600
td = (struct thread *) 0xc2175a80
td1 = (struct thread *) 0xc2175a80
#8 0xc051f574 in _mtx_lock_sleep (m=0xc2caa028, tid=0xc2175a80, opts=0x0,
file=0xc23a8ad8 "/usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c", line=0x13d6)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_mutex.c:579
v = 0x0
#9 0xc051f344 in _mtx_lock_flags (m=0x0, opts=0x0, file=0x0, line=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_mutex.c:288
During symbol reading, unsupported const value attribute form: 'DW_FORM_strp'.
No locals.
#10 0xc23a2bbb in fr_movequeue (tqe=0xc2cfbe68, oifq=0xc23a8ad8, nifq=0xc2caa028)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:5078
No locals.
#11 0xc23885ed in nat_update (fin=0xcbfb1b28, nat=0xc2cfbe00, np=0x32)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_nat.c:3596
ifq = (ipftq_t *) 0xc23aa7e0
ifq2 = (ipftq_t *) 0x0
#12 0xc2388990 in fr_natin (fin=0xcbfb1b28, nat=0xc2cfbe00, natadd=0x1, nflags=0x320)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_nat.c:4160
icmp = (icmphdr_t *) 0x0
csump = (u_short *) 0x0
tcp = (tcphdr_t *) 0x0
np = (ipnat_t *) 0xc2c9be14
i = 0x0
#13 0xc238bd4e in fr_checknatin (fin=0xcbfb1b28, passp=0xcbfb1b24)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_nat.c:4040
nflags = 0x320
natadd = 0x1
rval = 0x0
natfailed = 0x0
ifp = (struct ifnet *) 0xc2253000
in = {
s_addr = 0xcd5f4043
}
icmp = (icmphdr_t *) 0x0
tcp = (tcphdr_t *) 0x0
dport = 0x0
np = (ipnat_t *) 0x0
nat = (nat_t *) 0xc2cfbe00
iph = 0xc2175a80
#14 0xc23a3232 in fr_check (ip=0x0, hlen=0xcbfb1b24, ifp=0x0, out=0x0, mp=0xcbfb1c10)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:2466
fdp = (frdest_t *) 0x0
frinfo = {
fin_ifp = 0xc2253000,
fin_fi = {
fi_v = 0x4,
fi_xx = 0x0,
fi_tos = 0x0,
fi_ttl = 0x39,
fi_p = 0x32,
fi_optmsk = 0x0,
fi_src = {
i6 = {0x4b4b39cc, 0x0, 0x0, 0x0},
in4 = {
s_addr = 0x4b4b39cc
},
in6 = {
__u6_addr = {
__u6_addr8 = "Ì9KK", '\0' <repeats 11 times>,
__u6_addr16 = {0x39cc, 0x4b4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
__u6_addr32 = {0x4b4b39cc, 0x0, 0x0, 0x0}
}
},
vptr = {0x4b4b39cc, 0x0},
lptr = {0x4b4b39cc, 0}
},
fi_dst = {
i6 = {0x101010ac, 0x0, 0x0, 0x0},
in4 = {
s_addr = 0x101010ac
},
in6 = {
__u6_addr = {
__u6_addr8 = "¬\020\020\020", '\0' <repeats 11 times>,
__u6_addr16 = {0x10ac, 0x1010, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
__u6_addr32 = {0x101010ac, 0x0, 0x0, 0x0}
}
},
vptr = {0x101010ac, 0x0},
lptr = {0x101010ac, 0}
},
fi_secmsk = 0x0,
fi_auth = 0x0,
fi_flx = 0x0,
fi_tcpmsk = 0x0,
fi_res1 = 0x0
},
fin_dat = {
fid_16 = {0x0, 0x0},
fid_32 = 0x0
},
fin_out = 0x0,
fin_rev = 0x1,
fin_hlen = 0x14,
fin_tcpf = 0x0,
fin_icode = 0x0,
fin_rule = 0xffffffff,
fin_group = "ÿ", '\0' <repeats 14 times>,
fin_fr = 0xc23ab960,
fin_dp = 0xc244502a,
fin_dlen = 0x4c,
fin_plen = 0x60,
fin_ipoff = 0x0,
fin_id = 0xf55,
fin_off = 0x0,
fin_depth = 0x0,
fin_error = 0x33,
fin_nat = 0x0,
fin_state = 0x0,
fin_nattag = 0x0,
fin_ip = 0xc2445016,
fin_mp = 0xcbfb1c10,
fin_m = 0xc389d600
}
pass = 0x8000002
fr = (frentry_t *) 0x0
mc = (mb_t *) 0x0
m = (mb_t *) 0x0
#15 0xc239d9fb in fr_check_wrapper (arg=0x0, mp=0xc2175a80, ifp=0x0, dir=0x1)
at /usr/FreeBSD/6-STABLE/src/sys/modules/ipfilter/../../contrib/ipfilter/netinet/ip_fil_freebsd.c:171
ip = (struct ip *) 0x0
#16 0xc05bd708 in pfil_run_hooks (ph=0xc07914a0, mp=0xcbfb1c68, ifp=0xc2253000, dir=0x1, inp=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/net/pfil.c:139
pfh = (struct packet_filter_hook *) 0xc224d460
m = (struct mbuf *) 0xc389d600
rv = 0x0
#17 0xc05d01d0 in ip_input (m=0xc389d600) at /usr/FreeBSD/6-STABLE/src/sys/netinet/ip_input.c:468
ip = (struct ip *) 0xcd5f4043
ia = (struct in_ifaddr *) 0x0
ifa = (struct ifaddr *) 0xc2175a80
checkif = 0x0
hlen = 0x14
sum = 0x0
dchg = 0x0
odst = {
s_addr = 0xcd5f4043
}
#18 0xc05bd2d9 in netisr_processqueue (ni=0xc0790b38) at /usr/FreeBSD/6-STABLE/src/sys/net/netisr.c:236
m = (struct mbuf *) 0xc389d600
#19 0xc05bd53f in swi_net (dummy=0x0) at /usr/FreeBSD/6-STABLE/src/sys/net/netisr.c:349
ni = (struct netisr *) 0xc0790b38
bits = 0x0
i = 0x0
#20 0xc050f888 in ithread_execute_handlers (p=0xc2174648, ie=0xc2172400)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_intr.c:682
ih = (struct intr_handler *) 0xc216eb00
ihn = (struct intr_handler *) 0x0
#21 0xc050fa06 in ithread_loop (arg=0xc21436f0) at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_intr.c:765
intr_event = (struct intr_thread *) 0xc21436f0
ie = (struct intr_event *) 0xc2172400
td = (struct thread *) 0xc2175a80
p = (struct proc *) 0xc2174648
#22 0xc050e2ff in fork_exit (callout=0xc050f990 <ithread_loop>, arg=0x0, frame=0x0)
at /usr/FreeBSD/6-STABLE/src/sys/kern/kern_fork.c:830
p = (struct proc *) 0xc2174648
td = (struct thread *) 0xc2175a80
#23 0xc06e725c in fork_trampoline () at /usr/FreeBSD/6-STABLE/src/sys/i386/i386/exception.s:208
No locals.
(kgdb) quit