FAST_IPSEC panic, (sleeping on non sleepable lock?)
Tom Judge
tom at tomjudge.com
Mon May 21 19:11:44 UTC 2007
Hi,
I had a crash on a VPN router today running FAST_IPSEC. The message on
the console was something along the lines of panic sleeping on a non
sleepable lock. The system was a 6.2 RELEASE system running AMD64.
Here is a back trace. Should I open a PR about this?
Tom
> uname -a
FreeBSD narthex.mintel.co.uk 6.2-RELEASE FreeBSD 6.2-RELEASE #1: Fri May
11 11:23:27 BST 2007
root at roley.mintel.co.uk:/usr/obj/usr/src/sys/NARTHEX amd64
Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address = 0x32
fault code = supervisor read, page not present
instruction pointer = 0x8:0xffffffff803b95d5
stack pointer = 0x10:0xffffffffb42333d0
frame pointer = 0x10:0x32
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 72833 (ospfd)
trap number = 12
panic: page fault
cpuid = 1
Uptime: 10d4h31m47s
Dumping 2047 MB (2 chunks)
bt
#0 doadump () at pcpu.h:172
#1 0x0000000000000004 in ?? ()
#2 0xffffffff802adcc7 in boot (howto=260) at
/usr/src/sys/kern/kern_shutdown.c:409
#3 0xffffffff802ae361 in panic (fmt=0xffffff006501b980 "X\223\177b") at
/usr/src/sys/kern/kern_shutdown.c:565
#4 0xffffffff8042bf2f in trap_fatal (frame=0xffffff006501b980,
eva=18446742975850451800) at /usr/src/sys/amd64/amd64/trap.c:660
#5 0xffffffff8042c24f in trap_pfault (frame=0xffffffffb4233320,
usermode=0) at /usr/src/sys/amd64/amd64/trap.c:573
#6 0xffffffff8042c503 in trap (frame=
{tf_rdi = 0, tf_rsi = -1097955426304, tf_rdx = 0, tf_rcx = 7,
tf_r8 = -310838263659101680, tf_r9 = 6, tf_rax = 11, tf_rbx = 7, tf_rbp
= 50, tf_r10 = -2141088480, tf_r11 = 0, tf_r12 = 0, tf_r13 =
-1097953206272, tf_r14 = -1097955424648, tf_r15 = -1097955426304,
tf_trapno = 12, tf_addr = 50, tf_flags = -2143583294, tf_err = 0, tf_rip
= -2143578667, tf_cs = 8, tf_rflags = 66050, tf_rsp = -1272761376, tf_ss
= 16}) at /usr/src/sys/amd64/amd64/trap.c:352
#7 0xffffffff8041769b in calltrap () at
/usr/src/sys/amd64/amd64/exception.S:168
#8 0xffffffff803b95d5 in swcr_process (arg=0x0, crp=0xffffff005ce3a000,
hint=0) at /usr/src/sys/opencrypto/cryptosoft.c:910
#9 0xffffffff803b84c4 in crypto_invoke (cap=0xffffff0000918400,
crp=0xffffff005ce3a000, hint=0) at /usr/src/sys/opencrypto/crypto.c:891
#10 0xffffffff803b8625 in crypto_dispatch (crp=0xffffff005ce3a000) at
/usr/src/sys/opencrypto/crypto.c:726
#11 0xffffffff8037ec91 in esp_output (m=0x80, isr=0xffffff0060597a00,
mp=0x0, skip=20, protoff=9) at /usr/src/sys/netipsec/xform_esp.c:871
#12 0xffffffff80370865 in ipsec4_process_packet (m=0xffffff0061e1f500,
isr=0xffffff0061e1f5ac, flags=0, tunalready=0)
at /usr/src/sys/netipsec/ipsec_output.c:485
#13 0xffffffff8035be0f in ip_output (m=0xffffff0061e1f500, opt=0x0,
ro=0xffffff0058fecc60, flags=0, imo=0x0, inp=0x0)
at /usr/src/sys/netinet/ip_output.c:625
#14 0xffffffff80351c9f in in_gif_output (ifp=0xffffff00627db800,
family=1556201472, m=0xffffff0061e1f500) at
/usr/src/sys/netinet/in_gif.c:231
#15 0xffffffff80337840 in gif_output (ifp=0xffffff00627db800,
m=0xffffff0061e1f500, dst=0xffffffffb42338f8, rt=0x7) at
/usr/src/sys/net/if_gif.c:463
#16 0xffffffff8035c1fe in ip_output (m=0xffffff0061e1f500, opt=0x4000,
ro=0xffffffffb42338f0, flags=35, imo=0xffffff0052da3900,
inp=0xffffff005e2a64c0)
at /usr/src/sys/netinet/ip_output.c:777
#17 0xffffffff8035cab1 in rip_output (m=0xffffff0061e1f500,
so=0xffffff005cc1c000, dst=4) at /usr/src/sys/netinet/raw_ip.c:335
#18 0xffffffff8035dcfb in rip_send (so=0xffffff005c76fc08,
flags=1556201472, m=0xffffff0061e1f500, nam=0xffffff0066f13040,
control=0xfbafae3f00000210,
td=0x6) at /usr/src/sys/netinet/raw_ip.c:800
#19 0xffffffff802f41de in sosend (so=0xffffff005c76fc08,
addr=0xffffff0066f13040, uio=0xffffffffb4233a70, top=0xffffff0061e1f500,
control=0x0, flags=0,
td=0xffffff006501b980) at /usr/src/sys/kern/uipc_socket.c:836
#20 0xffffffff802fbc69 in kern_sendit (td=0xffffff006501b980, s=5,
mp=0xffffffffb4233b30, flags=0, control=0x0, segflg=64)
at /usr/src/sys/kern/uipc_syscalls.c:772
#21 0xffffffff802fd077 in sendit (td=0xffffff006501b980, s=5,
mp=0xffffffffb4233b30, flags=0) at /usr/src/sys/kern/uipc_syscalls.c:712
#22 0xffffffff802fd276 in sendmsg (td=0xffffff006501b980,
uap=0xffffffffb4233bc0) at /usr/src/sys/kern/uipc_syscalls.c:920
#23 0xffffffff8042cd81 in syscall (frame=
{tf_rdi = 5, tf_rsi = 140737488348496, tf_rdx = 0, tf_rcx = 44,
tf_r8 = 0, tf_r9 = 140737488348120, tf_rax = 28, tf_rbx =
140737488348736, tf_rbp = 5907296, tf_r10 = 0, tf_r11 = 6011904, tf_r12
= 1, tf_r13 = 5826048, tf_r14 = 5705728, tf_r15 = 140737488348544,
tf_trapno = 22, tf_addr = 0, tf_flags = 338055, tf_err = 2, tf_rip =
34372048476, tf_cs = 43, tf_rflags = 518, tf_rsp = 140737488348296,
tf_ss = 35}) at /usr/src/sys/amd64/amd64/trap.c:792
#24 0xffffffff80417838 in Xfast_syscall () at
/usr/src/sys/amd64/amd64/exception.S:270
#25 0x0000000800bbd65c in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) frame 8
#8 0xffffffff803b95d5 in swcr_process (arg=0x0, crp=0xffffff005ce3a000,
hint=0) at /usr/src/sys/opencrypto/cryptosoft.c:910
910 for (sw = swcr_sessions[lid];
(kgdb) list
905 * XXX (or rather, we can but it won't give us
the right
906 * XXX results). To do that, we'd need some way
of differentiating
907 * XXX between the various instances of an
algorithm (so we can
908 * XXX locate the correct crypto context).
909 */
910 for (sw = swcr_sessions[lid];
911 sw && sw->sw_alg != crd->crd_alg;
912 sw = sw->sw_next)
913 ;
914
More information about the freebsd-net
mailing list