On Wed, 2005-07-20 at 15:17, Torrey McMahon wrote:
> Which is a bad thing why? (Please don't say space.)

Lets take a real example which was discussed this week at Sun,
the same thing can be applies to other libraries.

libldap is in /usr/lib and is linked to the NSS/NSPR libraries
so it can get SSL support.

So lets say that we have a program that uses a different copy of
the NSS/NSPR libraries either a private copy or one from /usr/sfw
or /opt/csw directly.  That same program also uses libldap indirectly
because it does a getpwnam() call and the system is configured
with LDAP as the nsswitch backend for passwd, or it may use it
directly.

This causes multiple copies of the same library to be requested
by a single process.  If the binaries are identical then there
aren't any problems, but then if they are identical why are their
multiple copies.  If they aren't identical it depends on how things
were linked, how the runtime execution pans out.

This is a real problem when multiple copies of the same interface
get dragged into a single processes.

We had real crashes because of this exact problem with evolution
in Solaris 10.

[ Aside note: the particular case of an indirect use of libldap
via getpwnam() is mitigated in the default install since the
nss_ldap/libldap calls actually happen inside nscd(1m), but the
theory still applies, and in practise it applies to anything
that nscd doesn't cache ].


-- 
Darren J Moffat

_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to