Closed Bug 273486 Opened 20 years ago Closed 20 years ago

all NSS programs crash in _PR_InitZones on AIX 64-bit DBG and OPT

Categories

(NSPR :: NSPR, defect)

4.5.1
Other
AIX
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: nelson, Assigned: wtc)

Details

Recently began to do nightly build and test on AIX 5.1 
All NSS program core dump on startup in _PR_InitZones
typical stack looks like this:

_PR_InitZones(), line 171 in "prmem.c"
_PR_InitStuff(), line 173 in "prinit.c"
_PR_ImplicitInitialization(), line 255 in "prinit.c"
PR_GetSpecialFD(0x6e65002e), line 1215 in "ptio.c"
certutil_main(argc = 1, ), line 2296 in "certutil.c"
main(argc = 1,), line 3087 in "certutil.c"

Problem is that variable "sym" contains the value 0xbadc0ffee0ddf00d
(that's "bad coffee odd food" - a restaurant critic's value) 

The value in sym comes from the immediately preceeding call to 
pr_FindSymbolInProg.  AIX is using the dlopen, dlsym, dlclose implementation.
I found that dlopen returns the (apparently magic) value 2,
and dlsym really does return 0xbadc0ffee0ddf00d in r3 (the return value
register).  

The AIX man page didn't cast any light on this value.  Google found 3 pages
with that string, with no reference to dlsym among them.  

We could hack that function inside an AIX_64 ifdef to detect this value
and treat it as a NULL.  That allows _PR_InitZones to continue without 
crashing.  But is clearly a hack, not a solution.

This is critical for this platform, but this platform may or may not 
deserve any priority at this time.
Add Julien and Jason to bug about AIX crash.
We should produce a small test program that
demonstrates this problem and report it to
IBM.
Adding Christophe to the cc list. Christophe has an A.I. to look for possible
existing AIX patches for this problem .
Christophe has determined that this problem is fixed in a later patch level
of AIX.  The code fails on systems where the command "oslevel -r" returns
  5100-01
and succeeds on systems where that command returns
  5100-03

So, I am marking this bug "works for me".  

Do we need to add this info to a release note or other document?
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
Yes, we should add this info to the release notes
for either an NSPR or NSS release, in the platform
matrix section.
Target Milestone: --- → 4.5.1
should there be a configure test? or perhaps a patch test?
the run-mozilla scripts have a way to check for patches (mostly used by solaris,
but they could be used by aix)
This test must be done at run time.  It could
be done inside NSPR initialization or the
wrapper shell scripts (such as run-mozilla).
Since 64-bit AIX is not a commonly used
platform, we can wait until there is a real
need to do it.  (Such tests tend to stick
around forever because it's hard for future
maintainers to know when it's safe to remove
them.)
You need to log in before you can comment on or make changes to this bug.