FreeBSD 4.8 shuts down under load (backtrace)

Jonathan j.e.drews at worldnet.att.net
Mon Aug 25 21:52:21 PDT 2003


kernel: FreeBSD 4.8-STABLE #0: Mon Aug 25 19:26:01 CDT 2003
compiler: gcc version 2.95.4 20020320 [FreeBSD]
computer:  IBM ThinkPad 600E

My /etc/make.conf file:
 # This make.conf file nust have it's entries indented by one space

 CFLAGS=        -O -pipe
 NOPROFILE=     true
 USA_RESIDENT=  YES
 HAVE_MOTIF=    YES
 NO_LPR=        true # The CUPS printing system is installed
 # eof


Hi:

 My FreeBSD started crashing under heavy load about a week ago. I normally do 
portupgrade while I am using Kde. This has not been a problem until recently.  
To duplicate the conditions, I ran 3 Octave sessions, each inverting a 
2000x2000 random floating point matrix (4,000,000 floats for each Octave 
program). I also had Kde up and had portsd -Uu running at the same time. 
 Here is the kernel backtrace from the crash:

bash-2.05b$ gdb -k kernel.debug vmcore.0
GNU gdb 4.18 (FreeBSD)

 <gdb info cut>

IdlePTD at phsyical address 0x0046e000
initial pcb at physical address 0x003b2320
panicstr: from debugger
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xe
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xca706cc3
stack pointer           = 0x10:0xca706ba4
frame pointer           = 0x10:0xca706ba0
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         = 15472 (sh)
interrupt mask          = none
panic: from debugger


Fatal trap 3: breakpoint instruction fault while in kernel mode
instruction pointer     = 0x8:0xc02e5a10
stack pointer           = 0x10:0xca7069b8
frame pointer           = 0x10:0xca7069c0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, IOPL = 0
current process         = 15472 (sh)
interrupt mask          = none


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xe
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xca706cc3
stack pointer           = 0x10:0xca706ba4
frame pointer           = 0x10:0xca706ba0
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         = 15472 (sh)
interrupt mask          = none
panic: from debugger
Uptime: 38m9s

dumping to dev #ad/0x20001, offset 492512
dump ata0: resetting devices .. done
63 62 61 60 59 58 57 56 55    <snip>


I did a "where"  and this is what I get:

(kgdb) where
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1  0xc01abda7 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:316
#2  0xc01ac1e5 in panic (fmt=0xc031e8c4 "from debugger") at 
/usr/src/sys/kern/kern_shutdown.c:595
#3  0xc0134f0d in db_panic (addr=-898601789, have_addr=0, count=-1, 
modif=0xca706a34 "") at /usr/src/sys/ddb/db_command.c:435
#4  0xc0134ead in db_command (last_cmdp=0xc03703c0, cmd_table=0xc0370200, 
aux_cmd_tablep=0xc03acdf8) at /usr/src/sys/ddb/db_command.c:333
#5  0xc0134f72 in db_command_loop () at /usr/src/sys/ddb/db_command.c:457
#6  0xc01370af in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_trap.c:71
#7  0xc02e57c2 in kdb_trap (type=12, code=0, regs=0xca706b64) at 
/usr/src/sys/i386/i386/db_interface.c:158
#8  0xc02f500c in trap_fatal (frame=0xca706b64, eva=14) at 
/usr/src/sys/i386/i386/trap.c:969
#9  0xc02f4a1a in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = 0, 
tf_esi = -1069833940, tf_ebp = -898602080,
      tf_isp = -898602096, tf_ebx = -898455944, tf_edx = -901929760, tf_ecx = 
1, tf_eax = 14, tf_trapno = 12, tf_err = 2,
      tf_eip = -898601789, tf_cs = 8, tf_eflags = 66118, tf_esp = -1071020156, 
tf_ss = -898455944}) at /usr/src/sys/i386/i386/trap.c:636
#10 0xca706cc3 in ?? ()
#11 0xc0298784 in vm_fault (map=Cannot access memory at address 0x1024e.
) at /usr/src/sys/vm/vm_fault.c:292
Cannot access memory at address 0x10246.
(kgdb)


  Any advice on what I may have misconfigured would be greatly appreciated. I 
followed Michael Lucas' tutorial on preparing a kernel.debug here:

http://www.onlamp.com/pub/a/bsd/2002/04/04/Big_Scary_Daemons.html

   As I say, the laptop worked great until about a week ago, when it 
mysteriously locked up, while doing a portupgrade. Since then I get crashes 
under heavy loads. I did a memtest and a system check and the laptop checked 
out OK.



							Kind regards
							Jonathan
							(a FreeBSD newbie)



More information about the freebsd-stable mailing list