I forgot to add: In the log of pmap.c I found
revision 1.97 date: 2007/02/20 21:15:01; author: tom; state: Exp; lines: +204 -500 Revert PAE pmap for now, until the strange bug is found. This stops the freezes many of us are seeing (especially on amd64 machines running OpenBSD/i386). Much testing by nick@ (as always - thanks!), hugh@, ian@, kettenis@ and Sam Smith (s (at) msmith (dot) net). Requested by, input from, and ok deraadt@ ok art@, kettenis@, miod@ What is "the strange bug"? Thanks again Jon Steel wrote: > Hi > > Ive finally got the current version running and the problem below has > disappeared. I was wondering however if the problem has actually been > solved. > > The line of code that Im crashing on is line 3005 of pmap.c in version 4.0: > > 3005 if (pve->pv_ptp && (PDE(pve->pv_pmap, > 3006 pdei(pve->pv_va)) & PG_FRAME) != > 3007 VM_PAGE_TO_PHYS(pve->pv_ptp)) { > > Specifically its crashing on PDE(pve->pv_pmap, pdei(pve->pv_val) because > of a page fault. This code has disappeared in -current, but does anybody > who was working on this section of code now why I was having this > problem or if its been fixed? > > Thank you > > Jonathan Steel > > > Jon Steel wrote: > >> Hi >> >> Im having a very similar problem as the one reported in Bug Query 5374. >> Im trying to solve the problem but Im finding it very hard to even get >> started. Is there somewhere besides the code that I can start to try and >> understand how SMP is being handled? >> >> http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=5374 >> >> I can usually duplicate the crash by running the follwing script several >> times concurrently. >> >> #!/usr/bin/perl >> >> system("tcpdump -i em1 -w /var/crashTest1.pcap&"); >> system("tcpdump -i em1 -w /var/crashTest2.pcap&"); >> system("tcpdump -i em1 -w /var/crashTest3.pcap&"); >> system("tcpdump -i em1 -w /var/crashTest4.pcap&"); >> system("tcpdump -i em1 -w /var/crashTest5.pcap&"); >> system("tcpdump -i em1 -w /var/crashTest6.pcap&"); >> system("tcpdump -i em1 -w /var/crashTest7.pcap&"); >> >> while (1) { >> system("nmap 192.168.66.90&"); >> } >> >> Then after about an hour, when you try and reboot, I get an error: >> >> uvm_fault(0x..., 0x..., 0, 1) -> e >> kernel: page fault trap, code = 0 >> stopped at pmap_page_remove_86+0x114: >> 0(%eax, %edx, 4), %eax >> >> The trace output is: >> >> pmap_page_remove_86(d0d31420,c0,e9b57e2c,d04adeb9,e99f) at >> pmap_page_remove_86+0x114 >> uvm_vnp_terminate(d8034e04,0,0,0,0,14,0,d7e95004) at uvm_vnpterminate+0x31f >> uvm_attach(d8034e04,0,2,0,d7f38378) at uvn_attach+0x2b5 >> uvm_unmap_detach(d7e959a4,0,d7f3841c,1) at uvm_unmap_detach+-x62 >> uvmspace_free(d7f38378,6,d08120e0) at uvmspace_free+0xfd >> uvm_exit(d7fbb868,14,8,286) at uvm_exit+0x19 >> reaper(d80df430) at reaper+0x90 >> Bad frame pointer: 0xd0913eb8 >> >> >> A couple times the error has also occured on its own without saying >> 'reboot' when running a ton of nmaps and tcpdumps at the same time. >> >> This trace is remarkably similar to the one in Bug Query 5374. >> Additionally I am using the same processor as he is. There is an unkown >> core statement in my dmesg but both cores seem to be working correctly. >> Here is my dmesg: >> >> OpenBSD 4.0 (GENERIC.MP) #936: Sat Sep 16 19:27:28 MDT 2006 >> [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC.MP >> cpu0: Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz ("GenuineIntel" 686-class) >> 2.13 GHz >> cpu0: >> FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CF >> LUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,CX16 >> real mem = 2145869824 (2095576K) >> avail mem = 1949290496 (1903604K) >> using 4256 buffers containing 107397120 bytes (104880K) of memory >> mainbus0 (root) >> bios0 at mainbus0: AT/286+(e6) BIOS, date 10/30/06, BIOS32 rev. 0 @ >> 0xfd470, SMB IOS rev. 2.51 @ 0x7feea000 (33 entries) >> bios0: Supermicro PDSMi >> pcibios0 at bios0: rev 2.1 @ 0xfd470/0xb90 >> pcibios0: PCI BIOS has 20 Interrupt Routing table entries >> pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82801GB LPC" rev 0x00) >> pcibios0: PCI bus #15 is the last bus >> bios0: ROM list: 0xc0000/0xb000 0xcb000/0x1000 0xcc000/0x1000 0xcd000/0x1000 >> ipmi at mainbus0 not configured >> mainbus0: Intel MP Specification (Version 1.4) (INTEL MUKILTEO ) >> cpu0 at mainbus0: apid 0 (boot processor) >> cpu0: unknown Core FSB_FREQ value 0 (0x42080000) >> cpu0: apic clock running at 266 MHz >> cpu1 at mainbus0: apid 1 (application processor) >> cpu1: Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz ("GenuineIntel" 686-class) >> 2.13 GHz >> cpu1: >> FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CF >> LUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,CX16 >> mainbus0: bus 0 is type PCI >> mainbus0: bus 9 is type PCI >> mainbus0: bus 10 is type PCI >> mainbus0: bus 13 is type PCI >> mainbus0: bus 14 is type PCI >> mainbus0: bus 15 is type PCI >> mainbus0: bus 16 is type ISA >> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins >> ioapic1 at mainbus0: apid 3 pa 0xfec10000, version 20, 24 pins >> pci0 at mainbus0 bus 0: configuration mode 1 (no bios) >> pchb0 at pci0 dev 0 function 0 "Intel E7230 MCH" rev 0xc0 >> ppb0 at pci0 dev 1 function 0 "Intel E7230 PCIE" rev 0xc0 >> pci1 at ppb0 bus 1 >> ppb1 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x01 >> pci2 at ppb1 bus 9 >> ppb2 at pci2 dev 0 function 0 "Intel PCIE-PCIE" rev 0x09 >> pci3 at ppb2 bus 10 >> em0 at pci3 dev 1 function 0 "Intel PRO/1000GT (82541GI)" rev 0x05: apic >> 3 int 0 (irq 11), address 00:0e:0c:b6:80:9e >> "Intel IOxAPIC" rev 0x09 at pci2 dev 0 function 1 not configured >> ppb3 at pci0 dev 28 function 4 "Intel 82801G PCIE" rev 0x01 >> pci4 at ppb3 bus 13 >> em1 at pci4 dev 0 function 0 "Intel PRO/1000MT (82573E)" rev 0x03: apic >> 2 int 16 (irq 11), address 00:30:48:8a:ca:f8 >> ppb4 at pci0 dev 28 function 5 "Intel 82801G PCIE" rev 0x01 >> pci5 at ppb4 bus 14 >> em2 at pci5 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: apic >> 2 int 17 (irq 11), address 00:30:48:8a:ca:f9 >> uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x01: apic 2 int >> 23 (irq 10) >> usb0 at uhci0: USB revision 1.0 >> uhub0 at usb0 >> uhub0: Intel UHCI root hub, rev 1.00/1.00, addr 1 >> uhub0: 2 ports with 2 removable, self powered >> uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x01: apic 2 int >> 19 (irq 11) >> usb1 at uhci1: USB revision 1.0 >> uhub1 at usb1 >> uhub1: Intel UHCI root hub, rev 1.00/1.00, addr 1 >> uhub1: 2 ports with 2 removable, self powered >> uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x01: apic 2 int >> 18 (irq 5) >> usb2 at uhci2: USB revision 1.0 >> uhub2 at usb2 >> uhub2: Intel UHCI root hub, rev 1.00/1.00, addr 1 >> uhub2: 2 ports with 2 removable, self powered >> uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x01: apic 2 int >> 16 (irq 11) >> usb3 at uhci3: USB revision 1.0 >> uhub3 at usb3 >> uhub3: Intel UHCI root hub, rev 1.00/1.00, addr 1 >> uhub3: 2 ports with 2 removable, self powered >> ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x01: apic 2 int >> 23 (irq 10) >> usb4 at ehci0: USB revision 2.0 >> uhub4 at usb4 >> uhub4: Intel EHCI root hub, rev 2.00/1.00, addr 1 >> uhub4: 8 ports with 8 removable, self powered >> ppb5 at pci0 dev 30 function 0 "Intel 82801BA AGP" rev 0xe1 >> pci6 at ppb5 bus 15 >> vga1 at pci6 dev 0 function 0 "ATI ES1000" rev 0x02 >> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) >> wsdisplay0: screen 1-5 added (80x25, vt100 emulation) >> ichpcib0 at pci0 dev 31 function 0 "Intel 82801GB LPC" rev 0x01: PM disabled >> pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x01: DMA, >> channel 0 c onfigured to compatibility, channel 1 configured to >> compatibility >> atapiscsi0 at pciide0 channel 0 drive 0 >> scsibus0 at atapiscsi0: 2 targets >> cd0 at scsibus0 targ 0 lun 0: <TEAC, CD-224E-N, 1.AA> SCSI0 5/cdrom >> removable >> cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 >> pciide0: channel 1 disabled (no drives) >> pciide1 at pci0 dev 31 function 2 "Intel 82801GR AHCI SATA" rev 0x01: >> DMA, chann el 0 wired to native-PCI, channel 1 wired to native-PCI >> pciide1: using apic 2 int 19 (irq 11) for native-PCI interrupt >> wd0 at pciide1 channel 0 drive 0: <WDC WD3200YS-01PGB0> >> wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors >> wd1 at pciide1 channel 0 drive 1: <WDC WD5000YS-01MPB1> >> wd1: 16-sector PIO, LBA48, 476940MB, 976773168 sectors >> wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5 >> wd1(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5 >> wd2 at pciide1 channel 1 drive 0: <WDC WD5000YS-01MPB0> >> wd2: 16-sector PIO, LBA48, 476940MB, 976773168 sectors >> wd2(pciide1:1:0): using PIO mode 4, Ultra-DMA mode 5 >> ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x01: apic 2 >> int 19 (irq 11) >> iic0 at ichiic0 >> lm1 at iic0 addr 0x2d: W83627HF >> "unknown" at iic0 addr 0x2f not configured >> isa0 at ichpcib0 >> isadma0 at isa0 >> pckbc0 at isa0 port 0x60/5 >> pckbd0 at pckbc0 (kbd slot) >> pckbc0: using irq 1 for kbd slot >> wskbd0 at pckbd0: console keyboard, using wsdisplay0 >> pcppi0 at isa0 port 0x61 >> midi0 at pcppi0: <PC speaker> >> spkr0 at pcppi0 >> lpt0 at isa0 port 0x378/4 irq 7 >> lm0 at isa0 port 0x290/8: W83627HF >> lm1 detached >> npx0 at isa0 port 0xf0/16: using exception 16 >> pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo >> pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo >> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 >> biomask 0 netmask 0 ttymask 0 >> ioapic0: pin 16 shares different IPL interrupts (40..50), degraded >> performance >> pctr: 686-class user-level performance counters enabled >> mtrr: Pentium Pro MTRR support >> dkcsum: wd0 matches BIOS drive 0x80 >> dkcsum: wd1 matches BIOS drive 0x82 >> dkcsum: wd2 matches BIOS drive 0x81 >> root on wd0a >> rootdev=0x0 rrootdev=0x300 rawdev=0x302 >> cpu1: unknown Core FSB_FREQ value 0 (0x42080000) >> >> Thank You >> >> Jonathan Steel