Skip site navigation (1)Skip section navigation (2)
Date:      6 Apr 2000 06:02:43 -0000
From:      freebsd@unix-consult.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/17819: Build ports on nfs :  union mount panics kernel
Message-ID:  <20000406060243.569.qmail@odie.unix-consult.com>

next in thread | raw e-mail | index | archive | help

>Number:         17819
>Category:       kern
>Synopsis:       Build ports on nfs & union mount panics kernel
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr  5 23:10:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Timo Geusch
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:

NFS client is 5.0-current system, last upodated on Sun, April 2nd from
anoncvs.freebsd.org. NFS server is a recent 4.0-stable system.
/usr/ports is a read-only NFS mount from the NFS server with a local empty
partition union-mounted above to provide r/w capability. Neither machine
is overclocked and are connected via 100MBit switched network. UNION FS
is compiled into the kernel to avoid version mismatches.

dmesg for NFS client system:
Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #4: Tue Apr  4 19:26:03 BST 2000
    root@odie.unix-consult.com:/usr/src/sys/compile/ODIE
Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K7(tm) Processor (499.03-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x612  Stepping = 2
  Features=0x81f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,MMX>
  AMD Features=0xc0400000<AMIE,DSP,3DNow!>
real memory  = 134152192 (131008K bytes)
avail memory = 127328256 (124344K bytes)
Preloaded elf kernel "kernel" at 0xc0316000.
Pentium Pro MTRR support enabled
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
pcib0: <AMD-751 host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <AMD-751 PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G400 AGP graphics accelerator> at 5.0 irq 14
isab0: <PCI to ISA bridge (vendor=1022 device=7408)> at device 7.0 on pci0
isa0: <ISA bus> on isab0
chip1: <PCI to Other bridge (vendor=1022 device=740b)> at device 7.3 on pci0
pci0: <OHCI USB controller> at 7.4 irq 10
fxp0: <Intel EtherExpress Pro 10/100B Ethernet> port 0xe400-0xe41f mem 0xe4000000-0xe40fffff,0xe4103000-0xe4103fff irq 11 at device 8.0 on pci0
fxp0: Ethernet address 00:08:c7:52:e2:54
fxp0: supplying EUI64: 00:08:c7:ff:fe:52:e2:54
ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0xe800-0xe8ff mem 0xe4102000-0xe4102fff irq 15 at device 10.0 on pci0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/16 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
sbc0: <Creative SB AWE64> at port 0x220-0x22f,0x330-0x331,0x388-0x38b irq 5 drq 1,5 on isa0
sbc0: setting card to irq 5, drq 1, 5
pcm0: <SB DSP 4.16> on sbc0
unknown0: <Game> at port 0x200-0x207 on isa0
unknown1: <WaveTable> at port 0x620-0x623 on isa0
Waiting 5 seconds for SCSI devices to settle
sa0 at ahc0 bus 0 target 6 lun 0
sa0: <HP C1533A 9608> Removable Sequential Access SCSI-2 device 
sa0: 10.000MB/s transfers (10.000MHz, offset 8)
Mounting root from ufs:/dev/da0s2a
da0 at ahc0 bus 0 target 0 lun 0
da0: <FUJITSU MAB3045SP 0109> Fixed Direct Access SCSI-2 device 
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da0: 4343MB (8895370 512 byte sectors: 255H 63S/T 553C)
cd0 at ahc0 bus 0 target 5 lun 0
cd0: <PIONEER DVD-ROM DVD-303 1.10> Removable CD-ROM SCSI-2 device 
cd0: 20.000MB/s transfers (20.000MHz, offset 8)
cd0: Attempt to query device size failed: NOT READY, Medium not present
da1 at ahc0 bus 0 target 1 lun 0
da1: <IBM DDRS-34560W S97B> Fixed Direct Access SCSI-2 device 
da1: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da1: 4357MB (8925000 512 byte sectors: 255H 63S/T 555C)
fxp0: starting DAD for fe80:0001::0208:c7ff:fe52:e254
fxp0: DAD complete for fe80:0001::0208:c7ff:fe52:e254 - no duplicates found

>Description:

Build xemacs 21.1 on this setup via /usr/ports/editors/xemacs21 works. When
the syncer daemon wakes up after the build finished, the machine panics.

GNU gdb 4.18
Copyright 1998 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-unknown-freebsd".
(kgdb) symbol-file kernel.debug 
Reading symbols from kernel.debug...done.
(kgdb) exec-file /var/crash/kernel.0 
(kgdb) core-file /var/crash/vmcore.0 
IdlePTD 3309568
initial pcb at 2adbe0
panicstr: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc022c2fa
stack pointer           = 0x10:0xc7e17bf0
frame pointer           = 0x10:0xc7e17c1c
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         = 5 (syncer)
interrupt mask          = none
trap number             = 12
panic: page fault

syncing disks... 38 34 25 14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
done
Uptime: 7m14s

dumping to dev #da/0x30001, offset 262272
dump 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
---
#0  boot (howto=256) at ../../kern/kern_shutdown.c:302
302                     dumppcb.pcb_cr3 = rcr3();
(kgdb) bt
#0  boot (howto=256) at ../../kern/kern_shutdown.c:302
#1  0xc015c88c in poweroff_wait (junk=0xc0268d2f, howto=-941582464)
    at ../../kern/kern_shutdown.c:552
#2  0xc022da62 in trap_fatal (frame=0xc7e17bb0, eva=0)
    at ../../i386/i386/trap.c:927
#3  0xc022d721 in trap_pfault (frame=0xc7e17bb0, usermode=0, eva=0)
    at ../../i386/i386/trap.c:820
#4  0xc022d2df in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, 
      tf_edi = -1004167168, tf_esi = 0, tf_ebp = -941523940, 
      tf_isp = -941524004, tf_ebx = 8192, tf_edx = -1004167168, tf_ecx = 2048, 
      tf_eax = -1004167168, tf_trapno = 12, tf_err = 0, tf_eip = -1071463686, 
      tf_cs = 8, tf_eflags = 66070, tf_esp = -941523700, tf_ss = -941523728})
    at ../../i386/i386/trap.c:426
#5  0xc022c2fa in generic_bcopy ()
#6  0xc01f979f in ffs_write (ap=0xc7e17cb4)
    at ../../ufs/ufs/ufs_readwrite.c:486
#7  0xc019abee in union_write (ap=0xc7e17cf8) at vnode_if.h:363
#8  0xc020f54b in vnode_pager_generic_putpages (vp=0xc8918fc0, m=0xc7e17e08, 
    bytecount=65536, flags=0, rtvals=0xc7e17d9c) at vnode_if.h:363
#9  0xc019a9ff in union_putpages (ap=0xc7e17d60)
    at ../../miscfs/union/union_vnops.c:1041
#10 0xc020f399 in vnode_pager_putpages (object=0xc88a5d20, m=0xc7e17e08, 
    count=16, sync=0, rtvals=0xc7e17d9c) at vnode_if.h:1126
#11 0xc020bd55 in vm_pageout_flush (mc=0xc7e17e08, count=16, flags=0)
    at ../../vm/vm_pager.h:145
#12 0xc020929a in vm_object_page_clean (object=0xc88a5d20, start=0, end=0, 
    flags=4) at ../../vm/vm_object.c:655
#13 0xc018c41e in vfs_msync (mp=0xc0ab2a00, flags=2)
    at ../../kern/vfs_subr.c:2513
#14 0xc018c8af in sync_fsync (ap=0xc7e17f7c) at ../../kern/vfs_subr.c:2821
#15 0xc018adef in sched_sync () at vnode_if.h:537
#16 0xc0221f50 in fork_trampoline ()
Cannot access memory at address 0x8000.

>How-To-Repeat:

1. NFS-mount /usr/ports read-only
2. Mount empty local partition above /usr/ports using union fs
3. cd /usr/ports/editors/xemacs21; make
4. Wait until the build finishes
5. Wait approx. 30 seconds until the syncer daemon wakes up and tries to sync
6. Watch system panic.

Tried 4 times so far with 100% sucess rate.

>Fix:

Don't use union fs.

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000406060243.569.qmail>