fatal trap 12

georg at dts.su georg at dts.su
Sat Jun 6 11:44:42 UTC 2009


Hello.

I have this options in kernel:

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         KDB
options         DDB
options         GDB

What I need more in kernel conf?

> 2009/6/6 <georg at dts.su>

>> 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
>>
>>
>>
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to "
>> freebsd-questions-unsubscribe at freebsd.org"
>>
> Hello georg,

> Here is the glossary of debugging kernel options:
> http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug-options.html
> .

> v




Regards,                                  mailto:georg at dts.su
Yura




More information about the freebsd-questions mailing list