Hi.

I'm trying to get OpenBSD 4.4/i386 working on some new hardware, but I'm
getting uvm_fault and panic that are easily reproduced.  I've tried both
4.4-release and 4.4-current but they both have the same problem (crash).

It seems the problem surfaces during heavy-ish disk I/O.  I first noticed
it when I tried to extract ports.tar.gz after installation; it would run
for a while and then panic.  Running CPU-intensive tasks such as `openssl
speed' works fine.

Since this is partly new hardware, I ran memtest86 for a while which passed,
and then installed another OS (Debian) which I tried to crash.  Apart from
the initial shock of being back in Linux, I encountered no problems.

Output from a serial console session using November 26th snapshot:

Script started on Fri Nov 28 21:22:42 2008
$ sudo cu -l tty02 -s 9600
Connected
>> OpenBSD/i386 BOOT 3.02
boot> 
booting hd0a:/bsd:
entry point at 0x200120

[ using 640716 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2008 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.4-current (GENERIC) #1511: Tue Nov 25 19:11:50 MST 2008
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Pentium(R) Dual-Core CPU E5200 @ 2.50GHz ("GenuineIntel" 686-class) 2.51 
GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,EST,TM2,CX16,xTPR
cpu0: unknown i686 EBL_CR_POWERON value 3 (0x430c0000)
real mem  = 1072914432 (1023MB)
avail mem = 1029177344 (981MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 06/19/08, BIOS32 rev. 0 @ 0xf0010, SMBIOS 
rev. 2.5 @ 0xf06d0 (66 entries)
bios0: vendor American Megatrends Inc. version "1001" date 06/19/2008
bios0: ASUSTeK Computer INC. P5B SE
acpi0 at bios0: rev 0
acpi0: tables DSDT FACP APIC MCFG OEMB
acpi0: wakeup devices P0P2(S4) P0P1(S4) PS2K(S4) PS2M(S4) UAR1(S4) USB0(S4) 
EUSB(S4) USB5(S4) USBE(S4) P0P4(S4) P0P5(S4) P0P6(S4) P0P7(S4) P0P8(S4) 
P0P9(S4) GBEC(S4) USB1(S4) USB2(S4) USB3(S4) USB4(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: unknown i686 EBL_CR_POWERON value 3 (0x430c0000)
cpu0: unknown i686 EBL_CR_POWERON value 3 (0x430c0000)
cpu0: apic clock running at 199MHz
cpu at mainbus0: not configured
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (P0P2)
acpiprt2 at acpi0: bus 5 (P0P1)
acpiprt3 at acpi0: bus 4 (P0P4)
acpiprt4 at acpi0: bus -1 (P0P5)
acpiprt5 at acpi0: bus 3 (P0P6)
acpiprt6 at acpi0: bus 2 (P0P7)
acpiprt7 at acpi0: bus -1 (P0P8)
acpiprt8 at acpi0: bus -1 (P0P9)
acpicpu0 at acpi0
acpibtn0 at acpi0: PWRB
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1000 0xc9000/0x3000
cpu0: EST: unknown system bus clock
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82G965 Host" rev 0x02
ppb0 at pci0 dev 1 function 0 "Intel 82G965 PCIE" rev 0x02: apic 2 int 16 (irq 
11)
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x02: apic 2 int 17 (irq 
5)
pci2 at ppb1 bus 4
ppb2 at pci0 dev 28 function 2 "Intel 82801H PCIE" rev 0x02: apic 2 int 18 (irq 
15)
pci3 at ppb2 bus 3
ppb3 at pci0 dev 28 function 3 "Intel 82801H PCIE" rev 0x02: apic 2 int 19 (irq 
10)
pci4 at ppb3 bus 2
jmb0 at pci4 dev 0 function 0 "JMicron JMB363 IDE/SATA" rev 0x03
ahci0 at jmb0: apic 2 int 19 (irq 10), AHCI 1.0
scsibus0 at ahci0: 32 targets, initiator 32
pciide0 at jmb0: DMA, channel 0 wired to native-PCI, channel 1 wired to 
native-PCI
pciide0: using apic 2 int 19 (irq 10) for native-PCI interrupt
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets, initiator 7
cd0 at scsibus1 targ 0 lun 0: <PLEXTOR, CD-R PX-W4824A, 1.03> ATAPI 5/cdrom 
removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 disabled (no drives)
uhci0 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x02: apic 2 int 23 (irq 
7)
uhci1 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x02: apic 2 int 20 (irq 
14)
ehci0 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x02: apic 2 int 23 (irq 
7)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb4 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xf2
pci5 at ppb4 bus 5
vga1 at pci5 dev 0 function 0 "ATI Mach64" rev 0x3a
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
em0 at pci5 dev 2 function 0 "Intel PRO/1000GT (82541GI)" rev 0x05: apic 2 int 
23 (irq 7), address 00:0e:0c:cf:fc:58
ichpcib0 at pci0 dev 31 function 0 "Intel 82801H LPC" rev 0x02: PM disabled
ahci1 at pci0 dev 31 function 2 "Intel 82801H AHCI" rev 0x02: apic 2 int 18 
(irq 15), AHCI 1.1
scsibus2 at ahci1: 32 targets, initiator 32
sd0 at scsibus2 targ 0 lun 0: <ATA, SAMSUNG HD501LJ, CR10> SCSI3 0/direct fixed
sd0: 476940MB, 512 bytes/sec, 976773168 sec total
sd1 at scsibus2 targ 1 lun 0: <ATA, SAMSUNG HD501LJ, CR10> SCSI3 0/direct fixed
sd1: 476940MB, 512 bytes/sec, 976773168 sec total
ichiic0 at pci0 dev 31 function 3 "Intel 82801H SMBus" rev 0x02: apic 2 int 18 
(irq 10)
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 512MB DDR2 SDRAM non-parity PC2-4200CL5
spdmem1 at iic0 addr 0x52: 512MB DDR2 SDRAM non-parity PC2-4200CL5
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
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
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
wbsio0 at isa0 port 0x2e/2: W83627DHG rev 0x23
lm1 at wbsio0 port 0x290/8: W83627DHG
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
mtrr: Pentium Pro MTRR support
softraid0 at root
root on sd0a swap on sd0b dump on sd0b
Automatic boot in progress: starting file system checks.
dev/rsd0a: file system is clean; not checking
setting tty flags
kbd: keyboard mapping set to no
machdep.allowaperture: 0 -> 2
starting network
starting system logger
starting initial daemons: ntpd.
savecore: no core dump
checking quotas: done.
building ps databases: kvm dev.
clearing /tmp
starting pre-securelevel daemons:.
setting kernel security level: kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sendmail inetd sshd.
starting local daemons:.
standard daemons: cron.
Sat Nov 29 22:23:21 CET 2008

OpenBSD/i386 (foo.tp76.info) (tty00)

login: root
Password:
Last login: Sat Nov 29 22:21:20 on tty00
OpenBSD 4.4-current (GENERIC) #1511: Tue Nov 25 19:11:50 MST 2008

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

You have mail.
Terminal type? [vt220] 
# tar -zxf ports.tar.gz
free vnode: 0xd78023a0, type VREG, use 8, write 0, hold 1, flags 
(VBIOONFREELIST)
        tag VT_UFS, ino 432058, on dev 4, 0 flags 0x0, effnlink 1, nlink 1
        mode 0100644, owner 0, group 0, size 2455 not locked
panic: free vnode isn't
Stopped at      Debugger+0x4:   leave
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
Debugger(0,0,dce6ac10,d78023a0,0) at Debugger+0x4
panic(d06df34d,d78023a0,dce6ac90,d043916b,d7666380) at panic+0x55
getnewvnode(1,d1a26000,d1a01800,dce6ac8c) at getnewvnode+0x1d3
ffs_vget(d1a26000,6cd68,dce6ad20,d780fa10) at ffs_vget+0x4c
ufs_lookup(dce6ad58,d7910ae8,dce6ad70,d03886a3,d07ae1d8) at ufs_lookup+0x762
VOP_LOOKUP(d7811e90,dce6ae58,dce6ae6c,20) at VOP_LOOKUP+0x2e
lookup(dce6ae48,d7836000,400,dce6ae60) at lookup+0x1d0
namei(dce6ae48,d78024c8,dce6ae88,d7848794) at namei+0x18c
sys_mkdir(d7910ae8,dce6af68,dce6af58,3c0027cb,d7910ae8) at sys_mkdir+0x4a
syscall() at syscall+0x24e
--- syscall (number 136) ---
0x1c00e58d:
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
 29648  21952  21952      0  3      0x4082  pipewr        gzip
*21952  12091  21952      0  7      0x4002                tar
 12091      1  12091      0  3      0x4082  pause         ksh
 16632      1  16632      0  3      0x4082  ttyin         getty
 25039      1  25039      0  3      0x4082  ttyin         getty
 12227      1  12227      0  3      0x4082  ttyin         getty
  3416      1   3416      0  3      0x4082  ttyin         getty
 29677      1  29677      0  3      0x4082  ttyin         getty
 13206      1  13206      0  3        0x80  select        cron
 26294      1  26294      0  3     0x40180  select        sendmail
 28836      1  28836      0  3        0x80  select        sshd
 16454      1  16454      0  3       0x180  select        inetd
 31091  21088  25292     83  3       0x180  poll          ntpd
 21088  25292  25292     83  3       0x180  poll          ntpd
 25292      1  25292      0  3        0x80  poll          ntpd
  5207   7965   7965     73  2       0x180                syslogd
  7965      1   7965      0  3        0x88  netio         syslogd
  5026      1   5026     77  3       0x180  poll          dhclient
  4814      1    708      0  3        0x82  poll          dhclient
    16      0      0      0  3    0x100200  bored         crypto
    15      0      0      0  3    0x100200  aiodoned      aiodoned
--db_more--
    14      0      0      0  3    0x100200  syncer        update
    13      0      0      0  3    0x100200  cleaner       cleaner
    12      0      0      0  3    0x100200  reaper        reaper
    11      0      0      0  3    0x100200  pgdaemon      pagedaemon
    10      0      0      0  3    0x100200  pftm          pfpurge
     9      0      0      0  3    0x100200  usbevt        usb2
     8      0      0      0  3    0x100200  usbevt        usb1
     7      0      0      0  3    0x100200  usbtsk        usbtask
     6      0      0      0  3    0x100200  usbevt        usb0
     5      0      0      0  3    0x100200  acpi_idle     acpi0
     4      0      0      0  3    0x100200  bored         syswq
     3      0      0      0  3    0x100200                idle0
     2      0      0      0  3    0x100200  kmalloc       kmthread
     1      0      1      0  3      0x4080  wait          init
     0     -1      0      0  3     0x80200  scheduler     swapper
ddb> show registers
ds                  0x10
es            0xd0200010        kernel_text+0x10
fs            0xdce60058        end+0xc597e34
gs            0xdce60010        end+0xc597dec
edi                0x100
esi           0xd06df34d        netlck+0x8ba
ebp           0xdce6abe0        end+0xc5a29bc
ebx           0xdce6ac0c        end+0xc5a29e8
edx                    0
ecx           0xd07ad978        kprintf_mutex
eax                  0x1
eip           0xd0493f8c        Debugger+0x4
cs                   0x8
eflags             0x202
esp           0xdce6abe0        end+0xc5a29bc
ss            0xdce60010        end+0xc597dec
Debugger+0x4:   leave
ddb>


Here's a few more session excerpts:


# mount
/dev/sd0a on / type ffs (local, softdep)
# rm -rf ports
dev = 0x400, bsize = 16384, size = 16384, fs = /
panic: ffs_blkfree: bad size
Stopped at      Debugger+0x4:   leave
RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
ddb> trace
Debugger(0,d036b23d,8,0,8) at Debugger+0x4
panic(d06f1171,7adbd496,624d6d9b,d79742bc,7fffffff) at panic+0x55
ffs_blkfree(dce64e04,a2e6d65,0,4000,dce64ba4) at ffs_blkfree+0x77
indir_trunc(dce64e04,46550,0,0,15800c,0,dce64ce0,1) at indir_trunc+0x1f3
indir_trunc(dce64e04,20,0,1,100c,0,dce64ce0,20) at indir_trunc+0x247
handle_workitem_freeblocks(d7286348,0,dce64f0c,d036a223,d082e920) at handle_wor
kitem_freeblocks+0x3e2
process_worklist_item(0,0,dce64f2c,d7977094,d07ae31c) at process_worklist_item+
0x182
softdep_process_worklist(0,12,d79742bc,d1a04634,0) at softdep_process_worklist+
0x10b
sched_sync(d79742bc) at sched_sync+0x9d
Bad frame pointer: 0xd0966eb8
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
 10350  10982  10350      0  2      0x4002                rm
 10982      1  10982      0  3      0x4082  pause         ksh
  1840      1   1840      0  3      0x4082  ttyin         getty
 27708      1  27708      0  3      0x4082  ttyin         getty
 12714      1  12714      0  3      0x4082  ttyin         getty
 22165      1  22165      0  3      0x4082  ttyin         getty
  9300      1   9300      0  3      0x4082  ttyin         getty
  4843      1   4843      0  3        0x80  select        cron
 17143      1  17143      0  3     0x40180  select        sendmail
  6096      1   6096      0  3        0x80  select        sshd
 21614      1  21614      0  3       0x180  select        inetd
 21159  25464    545     83  3       0x180  poll          ntpd
 25464    545    545     83  3       0x180  poll          ntpd
   545      1    545      0  3        0x80  poll          ntpd
  9888  32083  32083     73  2       0x180                syslogd
 32083      1  32083      0  3        0x88  netio         syslogd
 26026      1  26026     77  3       0x180  poll          dhclient
 29518      1  21265      0  3        0x82  poll          dhclient
    16      0      0      0  3    0x100200  bored         crypto
    15      0      0      0  3    0x100200  aiodoned      aiodoned
*   14      0      0      0  7    0x100200                update
--db_more--
    13      0      0      0  3    0x100200  cleaner       cleaner
    12      0      0      0  3    0x100200  reaper        reaper
    11      0      0      0  3    0x100200  pgdaemon      pagedaemon
    10      0      0      0  3    0x100200  pftm          pfpurge
     9      0      0      0  3    0x100200  usbevt        usb2
     8      0      0      0  3    0x100200  usbevt        usb1
     7      0      0      0  3    0x100200  usbtsk        usbtask
     6      0      0      0  3    0x100200  usbevt        usb0
     5      0      0      0  3    0x100200  acpi_idle     acpi0
     4      0      0      0  3    0x100200  bored         syswq
     3      0      0      0  3    0x100200                idle0
     2      0      0      0  3    0x100200  kmalloc       kmthread
     1      0      1      0  3      0x4080  wait          init
     0     -1      0      0  3     0x80200  scheduler     swapper
ddb>

[...]

# mount
/dev/sd0a on / type ffs (local)
# rm -rf ports
# tar -zxf ports.tar.gz
uvm_fault(0xd797aa48, 0x0, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at      getblk+0x60:    movl    0x68(%ebx),%edx
ddb> trace
getblk(d75a8824,d,0,4000,0) at getblk+0x60
ffs1_balloc(d75a6398,34000,0,3c00,d7986230,1,dce8ddec,d) at ffs1_balloc+0x697
ffs_write(dce8de18,d75a8824,20042,d791b98c,d07ae244) at ffs_write+0x239
VOP_WRITE(d75a8824,dce8dea8,1,d7986230,d75a8824,20002,d791b98c,0) at VOP_WRITE+
0x34
vn_write(d7851794,d78517b0,dce8dea8,d7986230) at vn_write+0x79
dofilewrite(d791b98c,7,d7851794,3c00c520,3c00) at dofilewrite+0x71
sys_write(d791b98c,dce8df68,dce8df58,cfbc344c,d791b98c) at sys_write+0x47
syscall() at syscall+0x24e
--- syscall (number 4) ---
0x1c011e6d:
ddb> ps
   PID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
  8226   7874   7874      0  3      0x4082  pipewr        gzip
* 7874  23266   7874      0  7      0x4002                tar
 23266      1  23266      0  3      0x4082  pause         ksh
 11718      1  11718      0  3      0x4082  ttyin         getty
 24805      1  24805      0  3      0x4082  ttyin         getty
 24410      1  24410      0  3      0x4082  ttyin         getty
 32046      1  32046      0  3      0x4082  ttyin         getty
 26332      1  26332      0  3      0x4082  ttyin         getty
 11623      1  11623      0  3        0x80  select        cron
 29362      1  29362      0  3     0x40180  select        sendmail
 27562      1  27562      0  3        0x80  select        sshd
 30370      1  30370      0  3       0x180  select        inetd
  7767   7628  17592     83  3       0x180  poll          ntpd
  7628  17592  17592     83  3       0x180  poll          ntpd
 17592      1  17592      0  3        0x80  poll          ntpd
 17779  26769  26769     73  2       0x180                syslogd
 26769      1  26769      0  3        0x88  netio         syslogd
 30848      1  30848     77  3       0x180  poll          dhclient
 21949      1  30095      0  3        0x82  poll          dhclient
    16      0      0      0  3    0x100200  bored         crypto
    15      0      0      0  3    0x100200  aiodoned      aiodoned
--db_more--
    14      0      0      0  3    0x100200  syncer        update
    13      0      0      0  3    0x100200  cleaner       cleaner
    12      0      0      0  3    0x100200  reaper        reaper
    11      0      0      0  3    0x100200  pgdaemon      pagedaemon
    10      0      0      0  3    0x100200  pftm          pfpurge
     9      0      0      0  3    0x100200  usbevt        usb2
     8      0      0      0  3    0x100200  usbevt        usb1
     7      0      0      0  3    0x100200  usbtsk        usbtask
     6      0      0      0  3    0x100200  usbevt        usb0
     5      0      0      0  3    0x100200  acpi_idle     acpi0
     4      0      0      0  3    0x100200  bored         syswq
     3      0      0      0  3    0x100200                idle0
     2      0      0      0  3    0x100200  kmalloc       kmthread
     1      0      1      0  3      0x4080  wait          init
     0     -1      0      0  3     0x80200  scheduler     swapper
ddb>


Let me know if you need anything else.  Also, would sendbug(1) be more
appropriate for this?

Thanks.

Thomas

Reply via email to