Subject: kern/25031: panic during build.sh with nfs-mounted sources
To: None <gnats-bugs@gnats.netbsd.org>
From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
List: netbsd-bugs
Date: 04/02/2004 21:56:28
>Number:         25031
>Category:       kern
>Synopsis:       panic during build.sh with nfs-mounted sources
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Apr 02 19:58:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
>Release:        NetBSD 1.6ZL
>Organization:
Mahlzeit!
>Environment:

System: NetBSD mara 1.6ZL NetBSD 1.6ZL (MARA) #0: Sun Mar 28 20:28:15 CEST 2004
hauke@mara:/usr/src/sys/arch/mac68k/compile/MARA mac68k
Architecture: m68k
Machine: mac68k

>Description:
	
Early during a build.sh build on a -current mac68k (tried with a
2004-03-18 1.6ZK kernel and a 1.6ZL kernel from today's sources), 
I have repeatedly run into an nfs related kernel panic:

uvm_fault(0x167890, 0xfffff000, 0, 0x1) -> 0xe
  type 8, code [mmu,,ssw]: 505
trap type 8, code = 0x505, v = 0xffffffd4
kernel program counter = 0xc6a54
kernel: MMU fault trap
pid = 383, lid = 1, pc = 000C6A54, ps = 2000, sfc = 1, dfc = 1
Registers:
             0        1        2        3        4        5        6        7
dreg: 0000001F FFFF7004 00010002 0000050C 00000023 043D9668 043FAEA4 0086EC00
areg: FFFFFF58 046BEC88 000030BC 000030BC 0111E800 0111E874 043FAD14 FFFFC444

Kernel stack (043FABF8):
3FABF8: 00114726 043FAC78 00000080 00010002 0000050C 00000023 043D9668 043FAEA4
3FAC18: 0086EC00 000030BC 000030BC 0111E800 0111E874 FFFFF000 00000001 00000001
3FAC38: 00000000 00000000 00000000 00000001 00000000 00000000 00000008 00000000
3FAC58: 00000000 00000000 FFFFFFFF 043FAD14 00003076 00000008 00000505 FFFFFFD4
3FAC78: 0000001F FFFF7004 00010002 0000050C 00000023 043D9668 043FAEA4 0086EC00
3FAC98: FFFFFF58 046BEC88 000030BC 000030BC 0111E800 0111E874 043FAD14 FFFFC444
3FACB8: 00000000 2000000C 6A547008 043FACB8 05050005 00050005 FFFFFFD4 043FACF8
3FACD8: 043FAD04 043FACF0 000C7BC8 046BECF8 00000006 046BEC88 043FAD00 00058774
3FACF8: 043FAD04 00010002 000030BC 0012DC4C 000030BC 00010002 043FAEA4 043FAD2C
3FAD18: 000BDF3E 000030BC 00010002 00000000 00000000 043FADCC 00032ABC 000030BC
3FAD38: 00000002 00000004 043D9668 00000200 00000000 00000000 00000000 0111E800
3FAD58: 043D9668 043FAF44 043FAEA4 FFFFFFFF 043D9668 043D9668 00000200 00000000
3FAD78: 00000000 00000000 043FADD0 043D9668 00000000 043FADA0 000C7BC8 043DD07C
3FAD98: 00000000 043DD00C 043FADB0 0111E800 043FADD0 00000080 043FADE0 000BE0A6
3FADB8: 043FADD0 00000000 FFFFFFFF 00000000 04032000 043FAF0C 000484A4 0111E800
3FADD8: 0111DF80 043FAEA4 00000100 FFFFC4F8 0086EC00 043FAFB4 043D9668 00000200
panic: MMU fault
Stopped in pid 383.1 (mount_nfs) at     netbsd:cpu_Debugger+0x6:        unlk a6
db> t                             
cpu_Debugger(2000,8,43fac78,43fac64,114746) + 6
panic(13c0bc,10002,50c,23,43d9668) + f8
trap(8,505,ffffffd4) + 254
vn_lock(30bc,10002) + 82
vget(30bc,2) + 92
nqnfs_clientd(111e800,111df80,43faea4,100,ffffc4f8,86ec00) + 272
sys_nfssvc(86ec00,43faf44,43faf3c) + 4e2
syscall_plain(9b,86ec00,43fafb4,100,ffffc73a) + 82
syscall(9b) + 4c
trap0() + e
db> ps
 PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
 5605          4964      413       1000 2  0x4002    1           nbmake
 4964          6936      413       1000 2  0x4002    1               sh    wait
 6936          6604      413       1000 2  0x4002    1           nbmake    wait
 6604          1963      413       1000 2  0x4002    1               sh    wait
 1963           436      413       1000 2  0x4002    1           nbmake    wait
 2248          1260     2248       1000 2  0x4102    1           systat   ttyin
 1260          1200     1260       1000 2  0x4003    1             tcsh   pause
 1200           270      270          0 2  0x4000    1          rlogind    poll
 366            286      366       1000 2  0x4002    1             less nanosle
 361            413      413       1000 2  0x4002    1              tee  piperd
 436            413      413       1000 2  0x4002    1               sh    wait
 413            286      413       1000 2  0x4002    1               sh    wait
 367              1      367          0 2       0    1        mount_nfs
>How-To-Repeat:

'mount -r -t nfs -o -i,-U,-C,-q,-3 server:/netbsd/sources /local/src',
then build.sh release (with appropriate options). See the machine
crash, typically while "make clean" or creating the objdir hierarchy.

>Fix:

No idea.
>Release-Note:
>Audit-Trail:
>Unformatted:
 
 >383              1      383          0 2       0    1        mount_nfs
  375              0        0          0 2 0x20200    1            nfsio  nfsidl
  379              0        0          0 2 0x20200    1            nfsio  nfsidl
  374              0        0          0 2 0x20200    1            nfsio  nfsidl
  103              0        0          0 2 0x20200    1            nfsio  nfsidl
  286            301      286       1000 2  0x4003    1             tcsh   pause
  301            270      270          0 2  0x4000    1          rlogind    poll
  273              1      273          0 2  0x4002    1            getty   ttyin
  275              1      275          0 2       0    1             cron nanosle
  270              1      270          0 2       0    1            inetd  kqread
  217              1      217          0 2       0    1             sshd  select
  213              1      213          0 2       0    1            timed    poll
  124              1      124          0 2       0    1        mount_mfs  mfsidl
  106              1      106          0 2       0    1          syslogd
  75               1       75          0 2       0    1         dhclient  select
  6                0        0          0 2 0x20200    1         aiodoned aiodone
  5                0        0          0 2 0x20200    1          ioflush  syncer
  4                0        0          0 2 0x20200    1       pagedaemon pgdaemo
  3                0        0          0 2 0x20200    1         scsibus0  sccomp
  2                0        0          0 2 0x20200    1            kcont   kcont
  1                0        1          0 2  0x4000    1             init    wait
  0               -1        0          0 2 0x20200    1          swapper schedul
 db> 
 
 The sources were nfs-mounted with '-o -i,-U,-3,-C,-q' at the
 time. Frederick Bruckman suspected the -q (nqnfs extension) as the
 cause, but I have in the meantime seen panics (different stacktrace)
 with vanilla nfs mounts, too; at least one on an i386 1.6ZL machine.