You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "Heckenlively, Patrick (Contractor) (DLIS)" <Pa...@dla.mil> on 2009/03/16 16:36:11 UTC

[users@httpd] Likely Bug in apr_ldap_stub.c

Greetings,

We noticed the following in the error log on one of our Apache 2.2.11
instances:

sasl.c:74: failed assertion `ld != NULL'
[Mon Mar 02 09:25:17 2009] [notice] child pid 25633 exit signal Abort
(6)

After exhaustive research that included running Apache inside gdb, I
believe that I have tracked down the cause in what appears to be a minor
bug in apr_ldap_stub.c.  Observe the following code snippet starting in
line 48 of apr_ldap_stub.c:

#if defined(NETWARE)
    modname = "aprldap.nlm";
#elif defined(WIN32)
    modname = "apr_ldap-" APU_STRINGIFY(APU_MAJOR_VERSION) ".dll";
#else
    modname = "apr_ldap-" APU_STRINGIFY(APU_MAJOR_VERSION) ".so";
#endif
    rv = apu_dso_load(&symbol, modname, "apr__ldap_fns", pool);
    if (rv == APR_SUCCESS) {
        lfn = symbol;
    }

Because we are on a UNIX platform, the variable modname acquires the
value "apr_ldap-1.so".  However, because we are on PA-Risc based HP-UX
11.11, the Apache build process creates this file with the name
"apr_ldap-1.sl".  This in turn causes Apache to call OpenLDAP libraries
with improperly initialized parameter(s), which is why we get the failed
assertion in sasl.c in the OpenLDAP code base.

Thankfully, the workaround is trivial.  In SERVERROOT/lib/apr-util-1, I
symlinked apr_ldap-1.so to apr_ldap-1.sl, and LDAP authentication works
without the error described above.

Am I missing something, or should I report this as a bug in bugzilla?

Thanks,
Patrick

--
Patrick Heckenlively
Patrick.Heckenlively.ctr@dla.mil
Northrop Grumman Information Technology




---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org