[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#3388) Seg11 when used with pam_ldap under dtlogin
Joel Boutros wrote:
> uhh, weird, ber->ber_end is 0x30. so it doesn't go to realloc().
> this happens somewhere around a bunch of unrelated code. the
> assignment of new->sos_tag = tag; clobbers ber->ber_end, even though
> everything looks right when i print variables as far as addresses and
> whatnot.
>
> okay, i suspect gcc maybe (3.3.1). or, it's something to look at/try,
> at least. sorry for wasting your time....
Solaris 8 is known to have bugs in malloc at particular patchlevels.
This is complicated by the fact that their Openwin/DT libraries include
their own private malloc functions, and the dynamic linker makes it
ambiguous as to which malloc a particular routine will invoke. I don't
remember the specifics, but we at Symas have run into this problem
numerous times. I think it may also be related to some of the libraries
being compiled -D_REENTRANT and others not. Certainly we have seen
malloc crashes in /usr/dt/lib. This is one of the problems of the
pam/nss architecture; the system only lets you load a single module for
all situations, but a REENTRANT /threaded object won't work correctly in
a non-threaded application, and vice versa.
>>
>> I suggest you single-step through ber_realloc and see what is really
>> happening.
>
--
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support