http://defect.opensolaris.org/bz/show_bug.cgi?id=12567



--- Comment #14 from Anurag S. Maskey <Anurag.Maskey at Sun.COM> 2009-11-11 
21:35:31 UTC ---
I looked at the nwamd log and I noticed a lot of

Nov 11 19:39:26 unknown nwamd[102773]: [ID 484780 daemon.error] 1:
nwamd_ncu_handle_if_state_event: no object interface:foo

messages when IF_STATE events were being handled.  These IF_STATE events were
generated when interfaces were unplumbed as part of the nwamd_ncu_fini().  Upon
closer examination, I noticed that there were two sets of FINI events for the
same NCUs.  One came from nwamd_ncp_handle_enable_event() and the other from
sighandler() while handling the SIGHUP.

As I was contemplating the removal of nwamd_ncu_fini() from
nwamd_ncp_handle_enable_event(), I realized that it could solve the problem
seen in this bug.

I think what's happening is that when nwamd is refreshed, the interfaces have
been removed.  Refreshing nwamd causes network/location and nis/client to be
refreshed/restarted.  When svc.startd tries to do this, it needs to do
name-service lookup and this is where I think get wedged.

Now, if the nwamd_fini_ncus() is not done before the refresh of nwamd, the
problem should not exist.  The FINI events will be enqueued after the refresh
is called.  The name-service lookups should be fine because the interfaces
still exist.  Preliminary testings show that this seems to make NCP switching
successful.

What I don't get is /etc/nsswitch.nis specifies "project: files nis" so
getdefaultproj() should be looking up files, not nis.  I am still
investigating.

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Reply via email to