Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Aug 1999 22:27:01 +0200
From:      Ollivier Robert <roberto@keltia.freenix.fr>
To:        "FreeBSD Current Users' list" <freebsd-current@FreeBSD.ORG>
Subject:   Panic with NFSv3 on a CURRENT/SMP system
Message-ID:  <19990821222701.A32595@keltia.freenix.fr>

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

I just got a panic when trying to play with NFSv3. The system is a dual
PentiumPro system, running CURRENT/SMP. I use NFS as a kld.

The FS on keltia is exported as:

/z	-alldirs -maproot=0 tara

And mounted on tara with

keltia:/z       /spare  rw,nfsv3        0 0

I tried making a directory on tara: "mkdir foo" and it succeeded. The
directory has been created on keltia:

drwxr-xr-x  2 root     wheel     512 Aug 21 21:49 foo

Now, as soon as I try to go into that directory, boom!

roberto@tara:/z# cd foo
panic: zone: entry not free
mp_lock = 00000001; cpuid = 0; lapic.id = 00000000
Debugger("panic")
Stopped at    Debugger+0x37:    movl    $0,in_Debugger
db> trace
panic(c021d779,c6235e38,c01b56c4,1,c5d15d60) at panic+0xa8
zerror(1,c5d15d60,c6235ec8,c0887b80,c6235e8c) at zerror+0x3f
zalloc(c0853980) at zalloc+0x54
namei(c6235ea4,c5d15d60,c0234a04,0,80ab220) at nami+0x77
stat(c5d15d60,c6235f80,80e0c90,80e0c60,bfbfd5dc) at stat+0x44
syscall(2f,2f,2f,bfbfd5dc,80e0c60) at syscall+0x16e
Xint0x80_syscall() at Xint0x80_syscall+0x31

Current process was zsh. I found in ps (from DDB) than c5d15d60 is the "proc"
value for this process. The machine was idle (running ntpd, Postfix).

db> show registers
cs              0x8     gd_npxproc
ds       0xc6230010     
es       0x802x0010
fs       0xc0250018     db_break_table+0x638
ss             0x10     gd_switchtime
eax            0x12     gd_switchtime+0x2
ecx             0x1
edx      0xc026b000     cpl_lock
ebx      0xc021d779     __set_sysuninit_set_sym_M_ZONE_uninit_sys_uninit+0x8d
esp      0xc6235df8
ebp      0xc6235e00
esi           0x100     gd_prv_PADDR1+0x40
edi               0
eip      0xc01d277f     Debugger+0x37
efl           0x256

I'm generating a core dump. Please note that as tara is my test machine, I use 
"INVARIANT" & "INVARIANT_SUPPORT". Should I remove them ?

It seems that from my reading of the code, the panic would not had happened
without INVARIANT.

Here is the trace from kgdb:

SMP 2 cpus
IdlePTD 3354624
initial pcb at 253280
panicstr: from debugger
panic messages:
---
panic: zone: entry not free
mp_lock = 00000001; cpuid = 0; lapic.id = 00000000
panic: from debugger
mp_lock = 00000002; cpuid = 0; lapic.id = 00000000
boot() called on cpu#0
dumping to dev (13,196609), offset 131072
dump 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 2
2 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
---
#0  boot (howto=260) at ../../kern/kern_shutdown.c:291
291                     dumppcb.pcb_cr3 = rcr3();
(kgdb) where
#0  boot (howto=260) at ../../kern/kern_shutdown.c:291
#1  0xc0147201 in panic (fmt=0xc0208df4 "from debugger")
    at ../../kern/kern_shutdown.c:515
#2  0xc01271f5 in db_panic (addr=-1071831169, have_addr=0, count=-1,
    modif=0xc6235cc4 "") at ../../ddb/db_command.c:433
#3  0xc0127194 in db_command (last_cmdp=0xc0232970, cmd_table=0xc02327d0,
    aux_cmd_tablep=0xc024f904) at ../../ddb/db_command.c:333
#4  0xc012725a in db_command_loop () at ../../ddb/db_command.c:455
#5  0xc012929b in db_trap (type=3, code=0) at ../../ddb/db_trap.c:71
#6  0xc01d24ca in kdb_trap (type=3, code=0, regs=0xc6235db8)
    at ../../i386/i386/db_interface.c:157
#7  0xc01e571c in trap (frame={tf_fs = -1071316968, tf_es = -2144600048,
      tf_ds = -970784752, tf_edi = 0, tf_esi = 256, tf_ebp = -970760704,
      tf_isp = -970760732, tf_ebx = -1071523975, tf_edx = -1071206400,
      tf_ecx = 1, tf_eax = 18, tf_trapno = 3, tf_err = 0,
      tf_eip = -1071831169, tf_cs = 8, tf_eflags = 598, tf_esp = -1071499293,
      tf_ss = -10715891}) at ../../i386/i386/trap.c:534
#8  0xc01d277f in Debugger (msg=0xc020d8d2 "panic") at machine/cpufunc.h:64
#9  0xc01471f8 in panic (fmt=0xc021d779 "zone: entry not free")
    at ../../kern/kern_shutdown.c:513
#10 0xc01b5a9f in zerror () at ../../vm/vm_zone.c:455
#11 0xc01b56c4 in zalloci (z=0xc0853980) at ../../vm/vm_zone.h:91
#12 0xc016af87 in namei (ndp=0xc6235ea4) at ../../vm/vm_zone.h:117
#13 0xc0171338 in stat (p=0xc5d15d60, uap=0xc6235f80)
    at ../../kern/vfs_syscalls.c:1668
#14 0xc01e5f9a in syscall (frame={tf_fs = 47, tf_es = 47, tf_ds = 47,
      tf_edi = -1077946916, tf_esi = 135138400, tf_ebp = -1077946800,
      tf_isp = -970760236, tf_ebx = 135138448, tf_edx = 135138400,
      tf_ecx = 135138304, tf_eax = 188, tf_trapno = 12, tf_err = 2,
      tf_eip = 672140844, tf_cs = 31, tf_eflags = 582, tf_esp = -1077948072,
      tf_ss = 47}) at ../../i386/i386/trap.c:1056
#15 0xc01d2eb1 in Xint0x80_syscall ()
#16 0x804ba24 in ?? ()
#17 0x804b786 in ?? ()
#18 0x804b672 in ?? ()
#19 0x804b2e4 in ?? ()
#20 0x804aa4b in ?? ()
#21 0x80552be in ?? ()
#22 0x8053494 in ?? ()
#23 0x8052df3 in ?? ()
#24 0x8052a82 in ?? ()
#25 0x805f851 in ?? ()
#26 0x804a32b in ?? ()
#27 0x804a125 in ?? ()

If needed I can explore more variables.

Client (tara) is a 2x PPro/200, Intel PFX440 motherboard, 64 MB RAM. I SCSI
disk on the on-board SCSI controller (AHC-7880/UW). Server (keltia) is a
K6-200, 128 MB RAM, 5 SCSI disks on 2 NCR cards.

keltia is CURRENT from Sat Jul 31.
tara is CURRENT from Sat Aug 14.

dmesg(s) available on demand.
-- 
Ollivier ROBERT -=- FreeBSD: The Power to Serve! -=- roberto@keltia.freenix.fr
FreeBSD keltia.freenix.fr 4.0-CURRENT #73: Sat Jul 31 15:36:05 CEST 1999



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




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