Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2009 15:50:32 GMT
From:      Vladimir Nikiforov <vnikiforov@premvtk.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/139571: Fatal trap 12: page fault while in kernel in process swi1: net on 7.1-RELEASE-p6
Message-ID:  <200910131550.n9DFoWeI036484@www.freebsd.org>
Resent-Message-ID: <200910131600.n9DG09wS079027@freefall.freebsd.org>

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

>Number:         139571
>Category:       kern
>Synopsis:       Fatal trap 12: page fault while in kernel in process swi1: net on 7.1-RELEASE-p6
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 13 16:00:09 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Vladimir Nikiforov
>Release:        7.1-RELEASE-p6
>Organization:
Premier VTK
>Environment:
FreeBSD 7.1-RELEASE-p6 FreeBSD 7.1-RELEASE-p6 #1: Tue Oct 13 18:49:57 YEKST 2009     user@host:/usr/obj/usr/src/sys/my_kern  i386

>Description:
we got ISP based VPN service to connect all offices around the city.
it's secured by IPSEC based on FreeBSD routers on every office.
today, at 17-00 core router started to give me the following:

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0xc
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc06fcba0
stack pointer           = 0x28:0xd441386c
frame pointer           = 0x28:0xd4413884
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         = 12 (swi1: net)
trap number             = 12
panic: page fault
cpuid = 0
Uptime: 19m22s
Physical memory: 486 MB
Dumping 46 MB: 31 15

Reading symbols from /boot/kernel/warp_saver.ko...Reading symbols from /boot/kernel/warp_saver.ko.symbols...do
done.
Loaded symbols for /boot/kernel/warp_saver.ko
#0  doadump () at pcpu.h:196
<------>in pcpu.h

the router's hardware is old compaq server, i've tried to change it to comparatively new backup core router machine - but again when connecting ISP's VPN ethernet cable backup router faulting just with the same error as original router.

FreeBSD versions are the same on both routers as well as kernels and configs, just hardware differs. 

(kgdb) bt full
#0  doadump () at pcpu.h:196
No locals.
#1  0xc069c2b6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
<------>_ep = (kgdb) quit

(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc069c2b6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc069c720 in panic (fmt=0x104 <Address 0x104 out of bounds>) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc08ea311 in trap_fatal (frame=0xc28ff8c0, eva=12) at /usr/src/sys/i386/i386/trap.c:939
#4  0xc08ea68a in trap_pfault (frame=0xd441382c, usermode=0, eva=12) at /usr/src/sys/i386/i386/trap.c:852
#5  0xc08eb04b in trap (frame=0xd441382c) at /usr/src/sys/i386/i386/trap.c:530
#6  0xc08c7e2b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#7  0xc06fcba0 in m_copydata (m=0x0, off=13, len=3, cp=0xd44138d9 "9A&#1090;") at /usr/src/sys/kern/uipc_mbuf.c:808
#8  0xc07d8d40 in esp_input_cb (crp=0xc2ef93fc) at /usr/src/sys/netipsec/xform_esp.c:595
#9  0xc07dcf71 in crypto_done (crp=0xc2ef93fc) at /usr/src/sys/opencrypto/crypto.c:1148
#10 0xc07e00d9 in swcr_process (dev=0xc29b0300, crp=0xc2ef93fc, hint=0)
    at /usr/src/sys/opencrypto/cryptosoft.c:975
#11 0xc07de417 in crypto_invoke (cap=) at cryptodev_if.h:53
#12 0xc07df363 in crypto_dispatch (crp=0xc2ef93fc) at /usr/src/sys/opencrypto/crypto.c:798
#13 0xc07da1b1 in esp_input (m=0xc2dcea00, sav=0xc2eca680, skip=20, protoff=9)
    at /usr/src/sys/netipsec/xform_esp.c:429
#14 0xc07c8dbc in ipsec4_common_input (m=0xc2dcea00) at /usr/src/sys/netipsec/ipsec_input.c:218
#15 0xc07c8e30 in esp4_input (m=0xc2dcea00, off=20) at /usr/src/sys/netipsec/ipsec_input.c:258
#16 0xc07ad4ee in ip_input (m=0xc2dcea00) at /usr/src/sys/netinet/ip_input.c:665
#17 0xc075bc9c in netisr_processqueue (ni=0xc0a0ffb8) at /usr/src/sys/net/netisr.c:143
#18 0xc075bfe2 in swi_net (dummy=0x0) at /usr/src/sys/net/netisr.c:256
#19 0xc0678a8e in ithread_loop (arg=0xc28fc220) at /usr/src/sys/kern/kern_intr.c:1088
#20 0xc067508c in fork_exit (callout=0xc0678960 <ithread_loop>, arg=0xc28fc220, frame=0xd4413d38)
    at /usr/src/sys/kern/kern_fork.c:804
#21 0xc08c7ea0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:264


(kgdb) frame 7
#7  0xc06fcba0 in m_copydata (m=0x0, off=13, len=3, cp=0xd44138d9 "9A&#1090;") at /usr/src/sys/kern/uipc_mbuf.c:808
808                     if (off < m->m_len)


list *0xc06fcba0
0xc06fcba0 is in m_copydata (/usr/src/sys/kern/uipc_mbuf.c:808).
803
804             KASSERT(off >= 0, ("m_copydata, negative off %d", off));
805             KASSERT(len >= 0, ("m_copydata, negative len %d", len));
806             while (off > 0) {
807                     KASSERT(m != NULL, ("m_copydata, offset > size of mbuf chain"));
808                     if (off < m->m_len)
809                             break;
810                     off -= m->m_len;
811                     m = m->m_next;
812             }

Please assist it's a production router! :(((
>How-To-Repeat:
just reconnect ISP's cable
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



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