Date: Mon, 21 May 2007 20:13:30 +0100 From: Tom Judge <tom@tomjudge.com> To: freebsd-net@freebsd.org Subject: FAST_IPSEC panic, (sleeping on non sleepable lock?) Message-ID: <4651EF5A.5050807@tomjudge.com>
next in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4651EF5A.5050807>