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



--- Comment #15 from amaguire <alan.maguire at sun.com> 2009-11-11 22:26:15 UTC 
---
(In reply to comment #14)
> 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.
> 

Great stuff!

> 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.

That's the bit I don't see. getdefaultproj() should be getting the project for
the user specified in the method context straight from /etc/user_attr, and
shouldn't need to fall back to NIS. Here's my /etc/project file:

<copyright etc snipped out>
adm::::profiles=Log Management
dladm::::auths=solaris.smf.manage.wpa,solaris.smf.modify
lp::::profiles=Printer Management
netadm::::type=role;project=default;profiles=Network Autoconf,Network
Management,Service Management
netcfg::::type=role;project=default;auths=solaris.smf.modify,solaris.network.autoconf.read,solaris.network.autoconf.write,solaris.network.autoconf.refresh
postgres::::type=role;profiles=Postgres Administration,All
root::::auths=solaris.*,solaris.grant;profiles=Web Console
Management,All;lock_after_retries=no;min_label=admin_low;clearance=admin_high
zfssnap::::type=role;auths=solaris.smf.manage.zfs-auto-snapshot;profiles=ZFS
File System Management

With this in place, I don't see the name service hangs.

-- 
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