fatal trap 12

georg at dts.su georg at dts.su
Sat Jun 6 10:39:21 UTC 2009


Hello.

What options I must add to kernel? Can You tell me what I must do when
system crash next time?

> On 6/6/09, georg at dts.su <georg at dts.su> wrote:
>> Hello, Freebsd-questions.
>>
>> After one of new crash I have this:
>>
>> 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 "amd64-marcel-freebsd"...
>>
>> Unread portion of the kernel message buffer:
>>
>>
>> Fatal trap 12: page fault while in kernel mode
>> cpuid = 2; apic id = 02
>> fault virtual address   = 0x0
>> fault code              = supervisor read data, page not present
>> instruction pointer     = 0x8:0xffffffff804c4eb8
>> stack pointer           = 0x10:0xffffff807a0478f0
>> frame pointer           = 0x10:0xffffff807a047930
>> 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         = 32668 (perl5.10.0)
>> Physical memory: 4082 MB
>> Dumping 1647 MB: 1632 1616 1600 1584 1568 1552 1536 1520 1504 1488 1472 1456
>> 1440 1424 1408 1392 1376 1360 1344 1328 1312 1296 1280 1264 1248 1232 1216
>> 1200 1184 1168 1152 1136 1120 1104 1088 1072 1056 1040 1024 1008 992 976 960
>> 944 928 912 896 880 864 848 832 816 800 784 768 752 736 720 704 688 672 656
>> 640 624 608 592 576 560 544 528 512 496 480 464 448 432 416 400 384 368 352
>> 336 320 304 288 272 256 240 224 208 192 176 160 144 128 112 96 80 64 48 32
>> 16
>>
>> Reading symbols from /boot/kernel/accf_http.ko...Reading symbols from
>> /boot/kernel/accf_http.ko.symbols...done.
>> done.
>> Loaded symbols for /boot/kernel/accf_http.ko
>> #0  doadump () at pcpu.h:195
>> 195             __asm __volatile("movq %%gs:0,%0" : "=r" (td));
>> (kgdb) list *0xffffffff804c4eb8
>> 0xffffffff804c4eb8 is in pfs_ioctl
>> (/usr/src/sys/fs/pseudofs/pseudofs_vnops.c:265).
>> 260     static int
>> 261     pfs_ioctl(struct vop_ioctl_args *va)
>> 262     {
>> 263             struct vnode *vn = va->a_vp;
>> 264             struct pfs_vdata *pvd = vn->v_data;
>> 265             struct pfs_node *pn = pvd->pvd_pn;
>> 266             struct proc *proc;
>> 267             int error;
>> 268
>> 269             PFS_TRACE(("%s: %lx", pn->pn_name, va->a_command));
>> (kgdb) backtrace
>> #0  doadump () at pcpu.h:195
>> #1  0xffffffff801c8dac in db_fncall (dummy1=Variable "dummy1" is not
>> available.
>> ) at /usr/src/sys/ddb/db_command.c:516
>> #2  0xffffffff801c92df in db_command (last_cmdp=0xffffffff80b30c88,
>> cmd_table=0x0, dopager=1) at /usr/src/sys/ddb/db_command.c:413
>> #3  0xffffffff801c94f0 in db_command_loop () at
>> /usr/src/sys/ddb/db_command.c:466
>> #4  0xffffffff801cb0d9 in db_trap (type=Variable "type" is not available.
>> ) at /usr/src/sys/ddb/db_main.c:228
>> #5  0xffffffff80554e55 in kdb_trap (type=12, code=0, tf=0xffffff807a047840)
>> at /usr/src/sys/kern/subr_kdb.c:524
>> #6  0xffffffff807fae80 in trap_fatal (frame=0xffffff807a047840, eva=Variable
>> "eva" is not available.
>> ) at /usr/src/sys/amd64/amd64/trap.c:752
>> #7  0xffffffff807fb254 in trap_pfault (frame=0xffffff807a047840, usermode=0)
>> at /usr/src/sys/amd64/amd64/trap.c:673
>> #8  0xffffffff807fbc02 in trap (frame=0xffffff807a047840) at
>> /usr/src/sys/amd64/amd64/trap.c:444
>> #9  0xffffffff807df35e in calltrap () at
>> /usr/src/sys/amd64/amd64/exception.S:209
>> #10 0xffffffff804c4eb8 in pfs_ioctl (va=0xffffff807a047a10) at
>> /usr/src/sys/fs/pseudofs/pseudofs_vnops.c:264
>> #11 0xffffffff805bb1d3 in vn_ioctl (fp=Variable "fp" is not available.
>> ) at vnode_if.h:437
>> #12 0xffffffff80562d02 in kern_ioctl (td=0xffffff0006682000, fd=3,
>> com=1076655123, data=0xffffff00ad2b7d40 "") at file.h:269
>> #13 0xffffffff80563029 in ioctl (td=0xffffff0006682000,
>> uap=0xffffff807a047bf0) at /usr/src/sys/kern/sys_generic.c:571
>> #14 0xffffffff807fb4d6 in syscall (frame=0xffffff807a047c80) at
>> /usr/src/sys/amd64/amd64/trap.c:900
>> #15 0xffffffff807df56b in Xfast_syscall () at
>> /usr/src/sys/amd64/amd64/exception.S:330
>> #16 0x0000000800c9c0ec in ?? ()
>> Previous frame inner to this frame (corrupt stack?)
>> (kgdb)
>>
>>
>> Can You help me? What can I do? Server crash periodicaly...

> Add more debug options to kernel, because dump is not useful
> with corrupted stack.

>>>  For this question, you must debug the kernel by Serial.
>>> when fatal, you use find the error by command "bt".
>>
>>> ------------------
>>> Dean
>>> 2009-06-02
>>
>>> -------------------------------------------------------------
>>> 发件人:georg
>>> 发送日期:2009-06-02 14:51:45
>>> 收件人:freebsd-questions
>>> 抄送:
>>> 主题:fatal trap 12
>>
>>> Hello, Freebsd-questions.
>>
>>>    I use FreeBSD 7.2-STABLE amd64. About month ago system was crashed
>>>    with  "Fatal trap 12"...
>>>    I bay new hardware and install new FreeBSD 7.2-STABLE amd64. cPanel
>>>    and ASSP (anti spam proxy). And one a day or two days have this:
>>
>>>    Fatal trap 12: page fault while in kernel mode
>>>    cpuid: = 0; apic id = 00
>>>    fault virtual address     = 0x8000000000
>>>    fault code                = supervisor write data, page not present
>>>    instruction pointer       = 0x8:0xffffffff8018b839
>>>    stack pointer             = 0x10:0xffffff807a25d190
>>>    frame pointer             = 0x10:0xea5f
>>>    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           = 59397 (perl5.10.0)
>>>    trap number               = 12
>>
>>>    And alway, after crash, I see "current process = perl5.10.0"...
>>
>>>    Can You help me?
>>

 --
Regards,                                  mailto:georg at dts.su
 Yura





More information about the freebsd-questions mailing list