>> 1. add project=default entries to the netadm/netcfg >> users in /etc/user_attr. Needed to prevent startd >> (the SMF master restarter) getting hung in project >> lookups to nsswitch-specified name services as >> discussed in getdefaultproj(3PROJECT). When >> methods are run as non-root user (such as nwam's >> methods) the default project is looked up for that user >> and we can get snared in nameservice lookups. >> >> 2. to prevent nis/client is going into maintenance due to being >> restarted too quickly, we may need to use smf_kill_contract >> to empty the contract rather than the simple :kill stop method. >> >> 3. copy /etc/nsswitch.files to /etc/nsswitch.conf during do_ns() >> as part of location application prior to disabling name services. >> This prevents us from having references to nis in /etc/nsswitch.conf >> when nis/client is disabled. >> >> 7. When activating locations, if a manual location is specified >> it is activated regardless of whether any IP NCUs are available. >> We should revert to activating NoNet in that case. >> > So, can we get a test build with items 1, 2, 3, and 7 in it, and see > how that works? Or has that combination already been tested? My testing shows that 1,2,3,7 does not work. I rebooted. Then after logging in waited 10 minutes doing nothing. Then, I switched NCPs and nwam and network/location got stuck.
I had not seen nis/client go into maintenance, so I testing both with and without 3 and the bug exists in both cases. The *important* stuff here is to wait until all refreshes to network/location and any related refresh/restarts have been done. Services get stuck like this: bash-3.2# svcs -p nis/client nwam location STATE STIME FMRI online 17:32:38 svc:/network/nis/client:default 17:28:32 109823 ypbind 17:33:27 110321 ypbind online* 17:33:02 svc:/network/physical:nwam 17:20:50 103347 nwamd 17:33:02 110319 svc.startd online* 17:33:02 svc:/network/location:default 17:33:02 110320 svc.startd Both svc.startd have the same pstack as below: bash-3.2# pstack 110319 110324: /lib/svc/bin/svc.startd c52f61aa door (3, c38bec20, 0, 0, 0, 3) c5284a40 _nsc_try1door (c5385f48, c38bed54, c38bed58, c38bed5c, c38bec9c, c38bee00) + 64 c5284d8e _nsc_trydoorcall_ext (c38bed54, c38bed58, c38bed5c, c52946d5) + 236 c5294766 _nsc_search (c5385d28, c527b938, 6, c38bee00) + b6 c5293212 nss_search (c5385d28, c527b938, 6, c38bee00) + 2a c527bed1 _getgroupsbymember (8193688, 890dda8, 10, 1) + 9d c5286906 initgroups (8193688, 41, 8369208, c4e79042) + 66 c4e79279 restarter_set_method_context (811ed08, c38beecc, c38beed8, 8079772) + 245 08070392 exec_method (81f0cc0, 2, 89089e0, 811ed08, 0, 1) + 86 08070b1e method_run (c38befa8, 2, c38befac, 80712f9) + 3ee 080713c8 method_thread (8927140, c5385000, c38befe8, c52f10da) + 184 c52f112f _thrp_setup (c3a08a00) + 9b c52f13b0 _lwp_start (c3a08a00, 0, 0, 0, 0, 0) Then nwam and network/location go into maintenance. Then clearing both services brings things back to normal. Anurag
