On Wed, Mar 10, 2010 at 08:57:29AM -0800, melbogia wrote: > Hello Jan, > This is a 2009.06 snv_111b X86 > > and the exported filesystem.. > /datapool/dumps/archive - nfs > sec=sys,ro,rw=shotgun.lab.example.com,root=shotgun.lab.example.com > > So it's exported as read-only to everything but shotgun.lab.example.com, the > read-write client isn't seem to be having any problems. > > >Also output of '::stack' and '::status' mdb commands on core dump > >could help. > > root at fortress:/# mdb core.mountd.1268185359 > Loading modules: [ ld.so.1 ] > > ::stack > in_access_list+0x69(fe99eadc, 0, 80cdf56, 0)
This piece of code has changed recently so we need to dive a bit into the history. It seems the in_access_list() get called with the second parameter (called clnames) set to NULL: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/fs.d/nfs/mountd/mountd.c?r=7997%3A2477fa9c180a#1353 And the mountd segfaulted at line 1391 where the clnames is dereferenced. The in_access_list() is called from three places in the check_client_new(): http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/fs.d/nfs/mountd/mountd.c?r=7997%3A2477fa9c180a#1923 > check_client_new+0xd3(80e79b8, fe99eadc, 0, 1) In all cases we are passing the clnames verbatim from the check_client_new() call (it is third parameter there). And it is zero. The check_client_new() is called from check_client() - clnames is third parameter of check_client(). > nfsauth_access+0x13a(fe99ed34, fe99ed20, 44, 1) http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/fs.d/nfs/mountd/nfsauth.c?r=7387%3A0b3a92e31fd8#53 check_client() is called at line 106. There is missing check for NULL clnames before the line 106. This is already fixed in snv_117 (it is CR 6523693) as you can see in the latest version of the nfsauth.c file: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/fs.d/nfs/mountd/nfsauth.c#102 So the solution seems to be to update to something never than build 111b. HTH. > nfsauth_func+0x9c(0, fe99edbc, 44, 0, 0, 805847c) > libc_hwcap2.so.1`__door_return+0x52() > > > > > > ::status > debugging core file of mountd (32-bit) from fortress > file: /usr/lib/nfs/mountd > initial argv: /usr/lib/nfs/mountd > threading model: native threads > status: process terminated by SIGSEGV (Segmentation Fault), addr=0 -- Marcel Telka RPE, Systems