Kernel panic after excessive access to NFSv4 as client (FreeBSD-9.1)
Takahide Matsuoka
matsuoka at nj-k.org
Sun Dec 9 18:40:54 UTC 2012
Hi,
My system has been encountering kernel panic every time it accesses
large number of files over NFSv4.
The backtrace left after reboot (I haven't saved the core dump):
Dec 4 17:35:56 freebsd syslogd: kernel boot file is
/boot/kernel/kernel
Dec 4 17:35:56 freebsd kernel: panic: stack overflow detected;
backtrace may be corrupted
Dec 4 17:35:56 freebsd kernel: cpuid = 1
Dec 4 17:35:56 freebsd kernel: KDB: stack backtrace:
Dec 4 17:35:56 freebsd kernel: #0 0xffffffff809274a6 at
kdb_backtrace+0x66
Dec 4 17:35:56 freebsd kernel: #1 0xffffffff808f13fe at panic+0x1ce
Dec 4 17:35:56 freebsd kernel: #2 0xffffffff8091a452 at
__stack_chk_fail+0x12
Dec 4 17:35:56 freebsd kernel: #3 0xffffffff81613ee7 at
krb5_unwrap_old+0x407
Dec 4 17:35:56 freebsd kernel: #4 0xffffffff8161413c at
krb5_unwrap+0x12c
Dec 4 17:35:56 freebsd kernel: #5 0xffffffff816446e4 at
xdr_rpc_gss_unwrap_data+0x164
Dec 4 17:35:56 freebsd kernel: #6 0xffffffff81642a9d at
rpc_gss_validate+0x1bd
Dec 4 17:35:56 freebsd kernel: #7 0xffffffff80ad09be at
clnt_vc_call+0x8de
Dec 4 17:35:56 freebsd kernel: #8 0xffffffff80acec0b at
clnt_reconnect_call+0xfb
Dec 4 17:35:56 freebsd kernel: #9 0xffffffff807f07e5 at
newnfs_request+0x595
Dec 4 17:35:56 freebsd kernel: #10 0xffffffff80826c42 at
nfscl_request+0x72
Dec 4 17:35:56 freebsd kernel: #11 0xffffffff808117dd at
nfsrpc_lookup+0x1bd
Dec 4 17:35:56 freebsd kernel: #12 0xffffffff80821982 at
nfs_lookup+0x292
Dec 4 17:35:56 freebsd kernel: #13 0xffffffff80c6ee60 at
VOP_LOOKUP_APV+0x40
Dec 4 17:35:56 freebsd kernel: #14 0xffffffff8097abaf at lookup+0x41f
Dec 4 17:35:56 freebsd kernel: #15 0xffffffff8097bcab at namei+0x4db
Dec 4 17:35:56 freebsd kernel: #16 0xffffffff8098d203 at
kern_statat_vnhook+0xb3
Dec 4 17:35:56 freebsd kernel: #17 0xffffffff8098d3c5 at
kern_statat+0x15
Dec 4 17:35:56 freebsd kernel: Uptime: 21h22m34s
Dec 4 17:35:56 freebsd kernel: Automatic reboot in 15 seconds - press
a key on the console to abort
Dec 4 17:35:56 freebsd kernel: Rebooting...
Here's another backtrace:
Dec 2 00:15:33 freebsd syslogd: kernel boot file is
/boot/kernel/kernel
Dec 2 00:15:33 freebsd kernel: panic: stack overflow detected;
backtrace may be corrupted
Dec 2 00:15:33 freebsd kernel: cpuid = 3
Dec 2 00:15:33 freebsd kernel: KDB: stack backtrace:
Dec 2 00:15:33 freebsd kernel: #0 0xffffffff809274a6 at
kdb_backtrace+0x66
Dec 2 00:15:33 freebsd kernel: #1 0xffffffff808f13fe at panic+0x1ce
Dec 2 00:15:33 freebsd kernel: #2 0xffffffff8091a452 at
__stack_chk_fail+0x12
Dec 2 00:15:33 freebsd kernel: #3 0xffffffff81613ee7 at
krb5_unwrap_old+0x407
Dec 2 00:15:33 freebsd kernel: #4 0xffffffff8161413c at
krb5_unwrap+0x12c
Dec 2 00:15:33 freebsd kernel: #5 0xffffffff816446e4 at
xdr_rpc_gss_unwrap_data+0x164
Dec 2 00:15:33 freebsd kernel: #6 0xffffffff81642a9d at
rpc_gss_validate+0x1bd
Dec 2 00:15:33 freebsd kernel: #7 0xffffffff80ad09be at
clnt_vc_call+0x8de
Dec 2 00:15:33 freebsd kernel: #8 0xffffffff80acec0b at
clnt_reconnect_call+0xfb
Dec 2 00:15:33 freebsd kernel: #9 0xffffffff807f07e5 at
newnfs_request+0x595
Dec 2 00:15:33 freebsd kernel: #10 0xffffffff80826c42 at
nfscl_request+0x72
Dec 2 00:15:33 freebsd kernel: #11 0xffffffff8080fcd4 at
nfsrpc_write+0x4e4
Dec 2 00:15:33 freebsd kernel: #12 0xffffffff8081ea72 at
ncl_writerpc+0x62
Dec 2 00:15:33 freebsd kernel: #13 0xffffffff80829f26 at
ncl_doio+0x196
Dec 2 00:15:33 freebsd kernel: #14 0xffffffff8082e002 at
nfssvc_iod+0xc2
Dec 2 00:15:33 freebsd kernel: #15 0xffffffff808c1f0f at
fork_exit+0x11f
Dec 2 00:15:33 freebsd kernel: #16 0xffffffff80bc8c3e at
fork_trampoline+0xe
Dec 2 00:15:33 freebsd kernel: Uptime: 2h6m33s
Dec 2 00:15:33 freebsd kernel: Automatic reboot in 15 seconds - press
a key on the console to abort
Dec 2 00:15:33 freebsd kernel: Rebooting...
# uname -a
FreeBSD freebsd.nj-k.org 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #5
r243328: Sat Nov 24 03:01:20 JST 2012
root@:/usr/obj/usr/src/sys/GENERIC amd64
Disabling rpcbind stopped the kernel panic for a while.
# cat /etc/rc.conf (truncated lines for apache and etc.)
hostname="freebsd.nj-k.org"
keymap="us.iso.kbd"
ifconfig_re0="DHCP"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
nscd_enable="YES"
##rpcbind_enable="YES"
gssd_enable="YES"
nfsuserd_enable="YES"
nfsuserd_flags="-domain nj-k.org"
nfscbd_enable="YES"
nfs_client_enable="YES"
sendmail_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
# cat /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/vtbd0p2 / ufs rw 1 1
/dev/vtbd0p3 none swap sw 0 0
nfs.nj-k.org:/ /mnt/nfs nfs rw,nfsv4,sec=krb5p,rsize=32768,wsize=32768,intr 0 0
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: host/freebsd.nj-k.org at NJ-K.ORG
Issued Expires Principal
Dec 10 00:45:00 Dec 10 10:45:00 krbtgt/NJ-K.ORG at NJ-K.ORG
Dec 10 00:46:00 Dec 10 10:45:00 ldap/debian.nj-k.org at NJ-K.ORG
I previously had the same problem with 9.0-RELEASE, and thought
installing 9-STABLE might solve the problem.
After deinstalling security/krb5, I have rebuilt world, kernel and
ports.
I have following lines in /etc/krb5.conf under [libdefaults]:
forwardable = true
dns_lookup_kdc = true
dns_lookup_realm = true
allow_weak_crypto = true
default_etypes = des-cbc-crc
default_etypes_des = des-cbc-crc
fcc-mit-ticketflags = true
Lines after allow_weak_crypto were added because I thought the problem
was related to the encryption type.
The user of the service which accesses the nfs is www which is in
/etc/passwd and ldap
# id www (truncated some groups)
uid=80(www) gid=80(www) groups=80(www),110(ssl-cert)
# su www -c 'KRB5CCNAME=FILE:/tmp/krb5cc_80 klist -v'
Credentials cache: FILE:/tmp/krb5cc_80
Principal: www at NJ-K.ORG
Cache version: 4
Server: krbtgt/NJ-K.ORG at NJ-K.ORG
Client: www at NJ-K.ORG
Ticket etype: des-cbc-crc, kvno 1
Ticket length: 204
Auth time: Dec 10 00:55:00 2012
End time: Dec 10 10:55:00 2012
Ticket flags: forwardable, initial, pre-authenticated
Addresses: addressless
I am new to FreeBSD (I installed my first FreeBSD system 6 months ago),
but willing to get adapted to it.
This system is on kvm so I can freely create another instance of the
system for test.
Any help or advice is appreciated!!!
Please tell me if this mail was not a well-formed question (this is my
first mail to any mailing lists).
Best regards,
Tak
More information about the freebsd-questions
mailing list