Hi, Today I had a -CURRENT machine panic on me with a page fault, and something happened that I have seen before: the machine refused to come up afterwards. Closer inspection revealed that the MBR on the boot disk was totally zapped, filled with seemingly random characters. Luckily the disk label was still intact, allowing me to recover the machine reasonably easy. The MBRs on the other disks (see attached dmesg.txt for more info) wasn't touched by the panic.
Note that all disks in this machine are Dangerously Dedicated (see attached fdisk-ad[023].txt). I hope that's not totally unsupported, but what I do observe is that all these DD partitions seem to start at offset 0 instead of 1, thereby making the MBR actually part of the partition itself. Could this be a reason for something (GEOM?) stomping over the MBR when the box panics? Btw, this panic was a page fault, and I got the nice 'giving up on xxx buffers' message too... :( It seems to have panicked somewhere in the IPv6 stack (see panic.txt for more info), I think I read somewhere that this has been fixed already? If so, I'll just cvsup and hope it doesn't happen again... Anyhow, I'll be keeping some extra spare backups of all my bootsectors and disklabels. :) Cheers, Dimitry
Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.1-CURRENT #0: Fri Oct 17 13:39:52 CEST 2003 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/TENSOR Preloaded elf kernel "/boot/kernel/kernel" at 0xc075e000. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Pentium/P54C (150.00-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x52c Stepping = 12 Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8> real memory = 67108864 (64 MB) avail memory = 59912192 (57 MB) Intel Pentium detected, installing workaround for F00F bug netsmb_dev: loaded npx0: [FAST] npx0: <math processor> on motherboard npx0: INT 16 interface pcibios: BIOS version 2.10 Using $PIR table, 5 entries at 0xc00fdae0 pcib0: <Host to PCI bridge> at pcibus 0 on motherboard pci0: <PCI bus> on pcib0 pci_cfgintr: 0:15 INTA BIOS irq 11 pci_cfgintr: 0:16 INTA BIOS irq 10 pci_cfgintr: 0:17 INTA BIOS irq 9 isab0: <PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX3 WDMA2 controller> port 0xf000-0xf00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata0: [MPSAFE] ata1: at 0x170 irq 15 on atapci0 ata1: [MPSAFE] pci0: <display, VGA> at device 15.0 (no driver attached) fxp0: <Intel 82559 Pro/100 Ethernet> port 0x6100-0x613f mem 0xe4000000-0xe40fffff,0xe4201000-0xe4201fff irq 10 at device 16.0 on pci0 fxp0: Ethernet address 00:d0:b7:a0:8c:26 miibus0: <MII bus> on fxp0 inphy0: <i82555 10/100 media interface> on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp1: <Intel 82559 Pro/100 Ethernet> port 0x6200-0x623f mem 0xe4100000-0xe41fffff,0xe4200000-0xe4200fff irq 9 at device 17.0 on pci0 fxp1: Ethernet address 00:d0:b7:a0:8b:0a miibus1: <MII bus> on fxp1 inphy1: <i82555 10/100 media interface> on miibus1 inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold ppbus0: <Parallel port bus> on ppc0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x100> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A, console sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 unknown: <PNP0303> can't assign resources (port) unknown: <PNP0501> can't assign resources (port) unknown: <PNP0700> can't assign resources (port) unknown: <PNP0401> can't assign resources (port) unknown: <PNP0501> can't assign resources (port) Timecounter "TSC" frequency 150000888 Hz quality 800 Timecounters tick every 10.000 msec IPsec: Initialized Security Association Processing. IP Filter: v3.4.31 initialized. Default = block all, Logging = enabled GEOM: create disk ad0 dp=0xc1607d70 ad0: 9787MB <QUANTUM FIREBALL lct10 10.2A> [19885/16/63] at ata0-master WDMA2 GEOM: create disk ad2 dp=0xc1607b70 ad2: 6149MB <QUANTUM FIREBALL CR6.4A> [13328/15/63] at ata1-master WDMA2 GEOM: create disk ad3 dp=0xc1607a70 ad3: 4028MB <QUANTUM FIREBALL CR4.2A> [8184/16/63] at ata1-slave WDMA2 Mounting root from ufs:/dev/ad0s1a fxp0: Microcode loaded, int_delay: 1000 usec bundle_max: 6 fxp0: Microcode loaded, int_delay: 1000 usec bundle_max: 6 fxp1: Microcode loaded, int_delay: 1000 usec bundle_max: 6 fxp1: Microcode loaded, int_delay: 1000 usec bundle_max: 6 fxp0: Microcode loaded, int_delay: 1000 usec bundle_max: 6 fxp1: Microcode loaded, int_delay: 1000 usec bundle_max: 6 Accounting enabled
******* Working on device /dev/ad0 ******* parameters extracted from in-core disklabel are: cylinders=19885 heads=16 sectors/track=63 (1008 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=19885 heads=16 sectors/track=63 (1008 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 0, size 20044080 (9787 Meg), flag 80 (active) beg: cyl 0/ head 0/ sector 1; end: cyl 1023/ head 15/ sector 63 The data for partition 2 is: <UNUSED> The data for partition 3 is: <UNUSED> The data for partition 4 is: <UNUSED>
******* Working on device /dev/ad2 ******* parameters extracted from in-core disklabel are: cylinders=13328 heads=15 sectors/track=63 (945 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=13328 heads=15 sectors/track=63 (945 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 0, size 12594960 (6149 Meg), flag 0 beg: cyl 0/ head 0/ sector 1; end: cyl 1023/ head 14/ sector 63 The data for partition 2 is: <UNUSED> The data for partition 3 is: <UNUSED> The data for partition 4 is: <UNUSED>
******* Working on device /dev/ad3 ******* parameters extracted from in-core disklabel are: cylinders=8184 heads=16 sectors/track=63 (1008 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=8184 heads=16 sectors/track=63 (1008 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) start 0, size 8249472 (4028 Meg), flag 0 beg: cyl 0/ head 0/ sector 1; end: cyl 1023/ head 15/ sector 63 The data for partition 2 is: <UNUSED> The data for partition 3 is: <UNUSED> The data for partition 4 is: <UNUSED>
% sudo gdb -k /boot/kernel/kernel /var/crash/vmcore.1 GNU gdb 5.2.1 (FreeBSD) Copyright 2002 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 "i386-undermydesk-freebsd"... panic: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x20 fault code = supervisor read, page not present instruction pointer = 0x8:0xc04b6dd7 stack pointer = 0x10:0xc6318ad8 frame pointer = 0x10:0xc6318ae4 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 = 13 (swi8: tty:sio clock) trap number = 12 panic: page fault Stack backtrace: syncing disks, buffers remaining... 893 893 893 893 893 893 893 893 893 893 893 893 893 893 893 893 893 893 893 893 giving up on 672 buffers Uptime: 5h58m42s Dumping 64 MB 16 32 48 --- Reading symbols from /usr/obj/usr/src/sys/TENSOR/modules/usr/src/sys/modules/linux/linux.ko.debug...done. Loaded symbols for /usr/obj/usr/src/sys/TENSOR/modules/usr/src/sys/modules/linux/linux.ko.debug #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 240 dumping++; (kgdb) bt #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 #1 0xc04befa1 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:372 #2 0xc04bf2a5 in panic () at /usr/src/sys/kern/kern_shutdown.c:550 #3 0xc061045a in trap_fatal (frame=0xc6318a98, eva=32) at /usr/src/sys/i386/i386/trap.c:820 #4 0xc060fbdd in trap (frame= {tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -1059161424, tf_esi = 0, tf_ebp = -969831708, tf_isp = -969831740, tf_ebx = -1049732976, tf_edx = -1059161424, tf_ecx = 0, tf_eax = 1, tf_trapno = 12, tf_err = 0, tf_eip = -1068798505, tf_cs = 8, tf_eflags = 66050, tf_esp = -1049733120, tf_ss = -1047585792}) at /usr/src/sys/i386/i386/trap.c:252 #5 0xc0602748 in calltrap () at {standard input}:102 #6 0xc0526516 in rtfree (rt=0xc16e5890) at /usr/src/sys/net/route.c:279 #7 0xc056d551 in nd6_output (ifp=0xc0de7ab0, origifp=0xc16db000, m0=0xc0e05a00, dst=0xc19168dc, rt0=0xc18f1c00) at /usr/src/sys/netinet6/nd6.c:1917 #8 0xc056441a in ip6_output (m0=0x500, opt=0x0, ro=0xc18304b0, flags=0, im6o=0x0, ifpp=0x0, inp=0xc0e05a46) at /usr/src/sys/netinet6/ip6_output.c:961 #9 0xc054286f in tcp_output (tp=0xc1963000) at /usr/src/sys/netinet/tcp_output.c:883 #10 0xc05468bf in tcp_timer_delack (xtp=0xc1963000) at /usr/src/sys/netinet/tcp_timer.c:198 #11 0xc04cdb3f in softclock (dummy=0x0) at /usr/src/sys/kern/kern_timeout.c:225 #12 0xc04ae011 in ithread_loop (arg=0xc0de4c80) at /usr/src/sys/kern/kern_intr.c:534 #13 0xc04ad0d5 in fork_exit (callout=0xc04adea8 <ithread_loop>, arg=0xc0de4c80, frame=0xc6318d48) at /usr/src/sys/kern/kern_fork.c:796 (kgdb) q
pgp00000.pgp
Description: PGP signature