You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by bu...@apache.org on 2003/09/07 16:23:51 UTC

Bug report for Apache httpd-1.3 [2003/09/07]

+---------------------------------------------------------------------------+
| Bugzilla Bug ID                                                           |
|     +---------------------------------------------------------------------+
|     | Status: UNC=Unconfirmed NEW=New         ASS=Assigned                |
|     |         OPN=Reopened    VER=Verified    (Skipped Closed/Resolved)   |
|     |   +-----------------------------------------------------------------+
|     |   | Severity: BLK=Blocker     CRI=Critical    MAJ=Major             |
|     |   |           MIN=Minor       NOR=Normal      ENH=Enhancement       |
|     |   |   +-------------------------------------------------------------+
|     |   |   | Date Posted                                                 |
|     |   |   |          +--------------------------------------------------+
|     |   |   |          | Description                                      |
|     |   |   |          |                                                  |
| 7741|New|Nor|2002-04-04|some directives may be placed outside of proper co|
| 7982|New|Maj|2002-04-11|mod_rewrite URL string empty when passed unicoded |
| 8311|Opn|Nor|2002-04-19|error in PUT directive gives confusing error messa|
| 8329|New|Nor|2002-04-20|mime_magic gives 500 and no error_log on Microsoft|
| 8372|Ass|Nor|2002-04-22|Threadsaftey issue in Rewrite's cache [Win32/OS2/N|
| 8849|New|Nor|2002-05-07|make install errors as root on NFS shares         |
| 8882|New|Enh|2002-05-07|[PATCH] mod_rewrite communicates with external rew|
| 9037|New|Min|2002-05-13|Slow performance when acessing an unresolved IP ad|
| 9126|New|Blk|2002-05-15|68k-next-openstep v. 4.0                          |
| 9201|New|Maj|2002-05-17|Wrong REQUEST_URI with malformed HTTP queries     |
| 9726|New|Min|2002-06-09|Double quotes should be flagged as T_HTTP_TOKEN_ST|
| 9894|New|Maj|2002-06-16|getline sub in support progs collides with existin|
| 9999|New|Nor|2002-06-19|Incorrect default manualdir value with layout.    |
|10038|New|Min|2002-06-20|ab benchmaker hangs on 10K https URLs with keepali|
|10073|New|Maj|2002-06-20|upgrade from 1.3.24 to 1.3.26 breaks include direc|
|10109|New|Maj|2002-06-21|problem running 1.3.26 and php on Solaris 7 / Spar|
|10169|New|Nor|2002-06-24|Apache seg faults due to attempt to access out of |
|10172|New|Maj|2002-06-24|Can't load libphp4.so with apache 1.3.26 + SSL 1.4|
|10178|New|Maj|2002-06-24|Proxy server cuts off begining of buffer when spec|
|10182|New|Nor|2002-06-24|Apache 1.3.26 and MOD_SO on OpenBSD 3.0           |
|10195|New|Nor|2002-06-24|Configure script erroneously detects system Expat |
|10199|New|Nor|2002-06-24|Configure can't handle directory names with unders|
|10243|New|Maj|2002-06-26|CGI scripts not getting POST data                 |
|10354|New|Nor|2002-06-30|ErrorDocument(.htaccess) fails when passed URL wit|
|10470|New|Cri|2002-07-04|proxy module will not correctly serve mixed case f|
|10666|New|Enh|2002-07-10|line-end comment error message missing file name  |
|10744|New|Nor|2002-07-12|suexec might fail to open log file                |
|10747|New|Maj|2002-07-12|ftp SIZE command and 'smart' ftp servers results i|
|10760|New|Maj|2002-07-12|empty ftp directory listings from cached ftp direc|
|10890|New|Cri|2002-07-17|if "et" locale is used, configure fails           |
|10939|New|Maj|2002-07-18|directory listing errors                          |
|11020|New|Maj|2002-07-21|APXS only recognise tests made by ./configure     |
|11236|New|Min|2002-07-27|Possible Log exhaustion bug?                      |
|11265|New|Blk|2002-07-29|mod_rewrite fails to encode special characters    |
|11291|New|Nor|2002-07-30|Cygwin script with long filename fails.Path separa|
|11765|New|Nor|2002-08-16|.apaci.install.tmp installs in existing httpd.conf|
|11986|New|Nor|2002-08-23|Restart hangs when piping logs on rotation log pro|
|11993|Opn|Cri|2002-08-23|PDFs served through ProxyPass show up blank       |
|11998|New|Maj|2002-08-23|mod_usertrack spot_cookie() will not allow Apache |
|12074|New|Nor|2002-08-27|Compilation fails due to a _Isinf not found       |
|12096|New|Nor|2002-08-27|apxs does not handle binary dists installed at non|
|12391|New|Maj|2002-09-07|DBM_LIB should be blank for OS X 10.2             |
|12551|New|Nor|2002-09-11|mod_proxy fails to shutdown when client cancels   |
|12574|New|Nor|2002-09-12|Broken images comes from mod_proxy when caching ww|
|12583|New|Nor|2002-09-12|First piped log process do not handle SIGTERM     |
|12598|New|Maj|2002-09-12|Apache hanging in Keepalive State                 |
|13120|New|Cri|2002-09-29|CGI procs defunctioning                           |
|13188|New|Nor|2002-10-02|does not configure correctly for hppa64-hp-hpux11.|
|13274|Ass|Nor|2002-10-04|Subsequent requests are destroyed by the request e|
|13290|Opn|Nor|2002-10-04|unknown extensions do not reset AddHandler matches|
|13486|New|Nor|2002-10-10|multiple slashes in DocumentRoot are not handled p|
|13577|New|Nor|2002-10-13|mod_proxy mangles query string                    |
|13607|Opn|Enh|2002-10-14|Catch-all enhancement for vhost_alias?            |
|13687|New|Min|2002-10-16|Leave Debug symbol on Darwin                      |
|13822|New|Maj|2002-10-21|Problem while running Perl modules accessing CGI::|
|14031|New|Nor|2002-10-29|POST handling for multi part forms incorrect      |
|14095|New|Nor|2002-10-30|Change default Content-Type (DefaultType) in defau|
|14250|New|Maj|2002-11-05|Alternate UserDirs don't work intermittantly      |
|14358|New|Enh|2002-11-07|rotatelogs using TZ settings                      |
|14443|New|Maj|2002-11-11|Keep-Alive randomly causes TCP RSTs               |
|14448|New|Cri|2002-11-11|Apache WebServer not starting if installed on Comp|
|14453|New|Cri|2002-11-11|mod_rewrite external programs disrupted by URLs wi|
|14518|New|Nor|2002-11-13|QUESY_STRING parts not incorporated by mod_rewrite|
|14647|New|Nor|2002-11-18|apachectl doesn't sufficiently check for previousl|
|14648|New|Nor|2002-11-18|mod_rewrite does not proxy included requests      |
|14670|New|Cri|2002-11-19|Apache didn't deallocate unused memory            |
|14748|New|Nor|2002-11-21|Configure Can't find DBM on Mac OS X              |
|14972|New|Nor|2002-11-30|Start Apache page in Latvian (index.html.lv)      |
|15011|New|Nor|2002-12-03|Apache processes not timing out on Solaris 8      |
|15028|New|Maj|2002-12-03|RedirectMatch does not escape properly            |
|15242|New|Blk|2002-12-10|mod_cgi prevents handling of OPTIONS request      |
|15418|New|Maj|2002-12-16|Load Spikes                                       |
|15910|New|Min|2003-01-09|Internal Server error when trying to deliver anima|
|16013|New|Nor|2003-01-13|Fooling mod_autoindex + IndexIgnore               |
|16236|New|Maj|2003-01-18|Include directive in Apache is not parsed within c|
|16241|New|Maj|2003-01-19|Apache processes takes 100% CPU until killed manua|
|16492|New|Maj|2003-01-28|mod_proxy doesn't correctly retrieve values from C|
|16493|New|Nor|2003-01-28|Incorrect handling of several Cache-Control direct|
|16556|New|Maj|2003-01-29|mod_proxy malfunctions with ftp:// URLs           |
|16573|New|Nor|2003-01-29|semaphores aren't cleaned correctly               |
|16588|New|Nor|2003-01-30|variable names with turkish locale                |
|16631|Ass|Min|2003-01-31|.htaccess errors logged outside the virtual host l|
|16661|New|Nor|2003-02-01|use of strstr() in spot_cookie() mis-identifies co|
|16763|New|Min|2003-02-04|server-status shows old dead pids                 |
|16795|Opn|Min|2003-02-05|ErrorDocument does not work in Internet Explorer  |
|16981|New|Nor|2003-02-12|apache fails to start or report an error when a pa|
|17022|New|Nor|2003-02-12|killing an apache parent run as "httpd -F" kills n|
|17318|New|Cri|2003-02-23|Abend on deleting a temporary cache file if proxy |
|17338|Opn|Nor|2003-02-24|mod_rewrite while proxying request appends extra r|
|17459|New|Maj|2003-02-27|Posting multipart/form-data results in Invalid met|
|17486|New|Cri|2003-02-27|proxy requests aren't sent to mod_proxy module    |
|17548|New|Maj|2003-02-28|Hanging httpd processes... trace below            |
|17877|New|Nor|2003-03-11|mod_proxy not accepting requests using Transfer-En|
|17897|New|Nor|2003-03-11|mod_cgi broken on acl based file systems          |
|17918|New|Nor|2003-03-12|API method ap_escape_path_segment does not encode |
|18157|New|Min|2003-03-19|Proxy Buffering Disrupts Staged Response Delivery |
|18266|New|Nor|2003-03-24|https file upload via proxy                       |
|18327|New|Cri|2003-03-25|warning: httpdrecursive call                      |
|18546|New|Nor|2003-04-01|$1 var lost proxying                              |
|18579|New|Enh|2003-04-01|Added  header X-Forwarded-Port                    |
|18627|New|Nor|2003-04-02|Patch for Configure 1.463 on AIX 5.1 and Apache 1.|
|18628|New|Min|2003-04-02|Obsolete comment re-committed                     |
|18631|New|Nor|2003-04-02|Empty header fix rolled out                       |
|18634|New|Nor|2003-04-02|Expediate Pragma:no-cache rolled out              |
|18721|New|Blk|2003-04-04|apxs handles internal module names incorrectly    |
|18749|New|Nor|2003-04-07|httpd -h does not document httpd -X               |
|18958|New|Enh|2003-04-11|htpasswd does not include user info field         |
|19279|New|Min|2003-04-24|Invalid chmod options in solaris build            |
|19320|New|Maj|2003-04-25|SCRIPT_NAME incorrect for virtual include with pat|
|19675|New|Min|2003-05-05|Performance/code cleanliness nit in proxy_util.c  |
|19685|Opn|Nor|2003-05-05|CGIs do not receive sigterm                       |
|19687|New|Cri|2003-05-05|idle httpd childs consuming 100% cpu              |
|19750|New|Enh|2003-05-07|length of displayed URL in server-status:  Can Len|
|19985|New|Maj|2003-05-16|prefork children dying, parent unresponsive       |
|19994|New|Nor|2003-05-16|rotatelogs truncates log file which leaves space c|
|20042|New|Nor|2003-05-19|Read of HTTP Request POST parameters failed: read |
|20122|New|Nor|2003-05-21|HTTP status 405 logged as 200 in access           |
|20127|New|Nor|2003-05-21|PID file paths different on starting and stopping |
|20218|New|Min|2003-05-25|Installer copies ./htdocs/manual twice            |
|20284|Ass|Nor|2003-05-28|mod_speling allows null default basename          |
|20524|New|Nor|2003-06-05|Regular expressions in <Directory ~ ...> and <Dire|
|20560|New|Nor|2003-06-06|server-parsed .html files setting Transfer-Encodin|
|20620|New|Blk|2003-06-09|Syntax Errors Reported In  httpd.conf             |
|20900|New|Nor|2003-06-19|Return value of setitimer(2) changes by setting of|
|20989|New|Nor|2003-06-21|.htaccess not hitting AuthUserFile with virtual ho|
|21035|New|Nor|2003-06-24|Apache 1.3.27 problem using ErrorDocument with Lim|
|21260|New|Nor|2003-07-02|CacheMaxExpire directive not enforced !           |
|21271|New|Enh|2003-07-02|Support for full fixed reverse mappings           |
|21372|New|Min|2003-07-07|HeaderName and ReadmeName fail silently when set t|
|21443|New|Nor|2003-07-09|compilation of mod_auth_db.c fails for Berkeley DB|
|21544|New|Nor|2003-07-13|Problem in uploading a large file when LimitReques|
|21559|New|Maj|2003-07-14|mod_proxy will not negotiate ftp binary transfers |
|21637|New|Nor|2003-07-16|Timeout causes a status code of 200 to be logged  |
|21747|New|Blk|2003-07-20|WIN9XCONHOOK.DLL not found                        |
|21777|New|Min|2003-07-21|mod_mime_magic doesn't handle little gif files    |
|21975|New|Nor|2003-07-29|mod_rewrite RewriteMap from external program gets |
|21979|New|Nor|2003-07-29|Windows installer broken                          |
|22061|New|Min|2003-08-01|About alias mapping the /                         |
|22107|New|Nor|2003-08-04|some PHP (4.3.X) mssql queries fails with Apache 1|
|22186|New|Cri|2003-08-06|Solaris kernel 108528-05 causes Apache to hang    |
|22194|Ass|Min|2003-08-07|\*.conf directory confuses (and crashes) httpd.   |
|22276|New|Nor|2003-08-10|segfault in new_connection with unusual vhost conf|
|22330|New|Blk|2003-08-11|Premature POST Timeout                            |
|22396|New|Nor|2003-08-13|index.html.zh or index.html.zh-tw.big5 is missing |
|22499|New|Nor|2003-08-18|/server-status does NOT honor access-clause "deny"|
|22506|New|Enh|2003-08-18|Hazard make install --with-layout                 |
|22529|Ass|Enh|2003-08-18|RewriteRule problem when the URI is the same as th|
|22573|New|Nor|2003-08-20|unstable force-response-1.0 behavior              |
|22586|New|Nor|2003-08-20|mod_proxy connect to localhost (127.0.0.1) by requ|
|22618|New|Maj|2003-08-21|MultiViews invalidates PATH_TRANSLATED if cgi-wrap|
|22797|New|Nor|2003-08-28|typo in "index.html.kr.iso-kr"                    |
|22805|New|Nor|2003-08-28|file descriptors are erroneously closed           |
|22827|New|Nor|2003-08-29|Content-Length is a signed int.                   |
|22856|New|Min|2003-09-01|No "304 not modified"  when If-Modified-Since is a|
|22936|New|Enh|2003-09-04|Add dumping of the ServerAlias names when httpd in|
+-----+---+---+----------+--------------------------------------------------+
| Total  155 bugs                                                           |
+---------------------------------------------------------------------------+

Re: mod_ldap Cache Issues

Posted by Jess Holle <je...@ptc.com>.
Matthieu Estrade wrote:

> Hi Jess,
>
> Did you used the patch i did and i posted here and on bugzilla for bug 
> #18756 ?

No, I didn't.  I must admit that it is difficult to spot the info (tree) 
for the forest at times -- at least for me, though I notice I did 
comment on this and am already cc'ed on this bug.  I guess I had been 
hoping that any necessary patches of this magnitude would be wrapped 
into a release by this point.

I have not yet gotten any core dumps, though a co-worker did *once* -- 
and has not been able to reproduce it.  Also all works fine as long as I 
don't exceed the alloted shared memory (annoying, but livable) or the 
cache entry limit (this is the real kicker as I can't predict this for 
all our customers and many of them can't predict it either).

Finally HP claims that they're using stock 2.0.46 in this regard and 
their mod_ldap works fine (with mod_worker).

> For your first issue, the problem should be that all memory allocation 
> are not controlled in the code, i mean if it return NULL or an address 
> to the memory, it's the same. 

Yep.

> So maybe when you are at user 376, you allocated all the memory of the 
> ldap_cache, and it's unable to give more, but it continue as it was ok.

I believe that's what it's doing.  I just wasn't able to get the 
debugger stopped right in the act -- only after this *appeared* to have 
occured.  Looking at all the information, however, everything strongly 
points in this direction.

> I am actually working on this problem, this issue is maybe the source 
> of the next problem too.
>
> For issue 2, it seems to be a bad unlock when you reach the maximum 
> user limit, i will look this too

Thanks!

--
Jess Holle



Re: mod_ldap Cache Issues

Posted by Matthieu Estrade <ap...@moresecurity.org>.
Hi Jess,

Did you used the patch i did and i posted here and on bugzilla for bug 
#18756 ?

For your first issue, the problem should be that all memory allocation 
are not controlled in the code, i mean if it return NULL or an address 
to the memory, it's the same.
So maybe when you are at user 376, you allocated all the memory of the 
ldap_cache, and it's unable to give more, but it continue as it was ok.
I am actually working on this problem, this issue is maybe the source of 
the next problem too.

For issue 2, it seems to be a bad unlock when you reach the maximum user 
limit, i will look this too.

Jess Holle wrote:

> I have been using Apache 2.0.47 on Windows with util_ldap and 
> mod_auth_ldap for some time, but never heavily.
>
> I populated an LDAP directory with thousands of users, placed a 25K 
> static HTML page in a directory configured to "require valid-user" 
> against the LDAP in questiono, and then did a simple test involving 
> GET's for the given page as randomly selected users.
>
> I quickly ran into an issue:
>
>     ISSUE 1: Every run Apache would crash when the 376th (distinct)
>     user attempted to authenticate.  This occured at that number
>     regardless of how many requests had been made on behalf of each user.
>
> This *appeared* to be due to the size of my particular URLs, DNs, user 
> names, etc, exceeding the physical memory allocated by 
> 'LDAPSharedCacheSize' before the given number configured number of 
> cache entries were exceeded.  I was using the defaults for all LDAP 
> cache parameters, i.e. I was not specifying anything in my conf files.
>
> I say *appeared* as the crash would occur while trying to allocate 
> memory for a new cache entry.  I looked and it appears that none of 
> the code appears to handle the case where the share memory block is 
> exhausted (e.g. by gracefully not adding an entry to the cache and 
> deallocating any portion of a new entry that has been allocated up too 
> that point -- or by freeing older entries and retrying).  I did some 
> quick back-of-the-envelope estimates and decided that the default 
> 100000 bytes may well have been used up.  I computed that my entries 
> appeared to be consuming about 267 bytes a piece if this was the case 
> and increased LDAPSharedCacheSize accordingly for the number of 
> distinct users making requests in the test.
>
> Right or wrong, this approach worked great for a single-threaded 
> test.  I then tried 8 threads in parallel making requests.  This 
> worked great as well.
>
> All of this was with the actual number of distinct users being less 
> than the configured cache sizes, however.  I then tried the tests with 
> the number of distict users being larger than the cache sizes at which 
> point I ran into a more serious issue:
>
>     ISSUE 2: Apache would consistently pause significantly on the
>     1025th distinct user (with the caches set to hold 1024, i.e. the
>     default).  Sometimes it would recover, but invariably it would
>     completely deadlock shortly thereafter.  Using the status page it
>     appears that most times there is a deadlock on the first purge
>     attempt and a deadlock always occurs on a purge request soon
>     thereafter.
>
> This issue seemed independent of the cache limit, i.e. I could set the 
> cache entry limit to 5 and Apache would deadlock after a few purges 
> there as well (though a few seemed to occur rather quickly first 
> whereas at 1024 purges seemed very slow even when they succeeded).
>
> I say Apache was deadlocked in that all the threads that were 
> processing connections were trying to establish a lock on the LDAP 
> cache -- and none appeared to be successfully holding it.  From a look 
> at the code I infer that the author is trying to allow many readers 
> with little synchronization but ensure at most one writer (and no 
> readers during this writer's operation), but it does not seem to be 
> quite working that way.
>
> I ran into similar issues to this deadlock with Apache 1.3.28 
> (EAPI_MM) and auth_ldap 1.6.0 (with a shared cache) on Solaris 8.
>
> I could not ellicit any such failure conditions from HP Apache 
> 1.0.06.01 (their latest bundle of 2.0.46) but I've not tried these 
> tests with Apache 2.0.x on other platforms.
>
> Does anyone have any brilliant ideas here?
>
> I'm planning to disable the util_ldap cache in all the problematic 
> cases (i.e. on Windows until knowing the maximum number of users and 
> on Apache 1.3.x as a whole) for now as I don't have that deep of an 
> understanding of the code here -- short as it is -- and may not have 
> the time to attain such an understanding for a while....
>
> --
> Jess Holle
>


Re: mod_ldap Cache Issues

Posted by Jess Holle <je...@ptc.com>.
Jess Holle wrote:

> Jess Holle wrote:
>
>> I ran into similar issues to this deadlock with Apache 1.3.28 
>> (EAPI_MM) and auth_ldap 1.6.0 (with a shared cache) on Solaris 8.
>
> Actually I should correct the record here -- the issue I ran into on 
> Solaris actually turned out to be due to building against a rather old 
> Solaris 8 patch level.  Rebuilding against a newer patch level seems 
> to have stabilized this.  The instability was in the Apache core in 
> this case, not in auth_ldap.

I was wrong yet again.

My first issue with Apache 1.3.28 on Solaris 8 is not auth_ldap related 
-- but it is not a patch level issue.  I can get it to hang quite easily 
with 'ab' with a 25K static HTML file and 50K requests with concurrency 
of 64.  I can still get Apache 1.3.28 to hang on Solaris 8 with lower 
concurrencies, but less easily.  I cannot get it to hang, however, if I 
increase MaxSpareServers from 10 (the default) to 15.

Once that was resolved, however, then I discovered that Apache 1.3.28 
(EAPI_MM) with auth_ldap 1.6.0 (with shared memory cache) will hang just 
like Apache 2.0.47 when the LDAP cache's entry count is exceeded, i.e. 
while trying to purge the cache.

I guess the solution is just to set the cache big enough for now...

--
Jess Holle


Re: mod_ldap Cache Issues

Posted by Jess Holle <je...@ptc.com>.
Jess Holle wrote:

> I ran into similar issues to this deadlock with Apache 1.3.28 
> (EAPI_MM) and auth_ldap 1.6.0 (with a shared cache) on Solaris 8.

Actually I should correct the record here -- the issue I ran into on 
Solaris actually turned out to be due to building against a rather old 
Solaris 8 patch level.  Rebuilding against a newer patch level seems to 
have stabilized this.  The instability was in the Apache core in this 
case, not in auth_ldap.

--
Jess Holle


mod_ldap Cache Issues

Posted by Jess Holle <je...@ptc.com>.
I have been using Apache 2.0.47 on Windows with util_ldap and 
mod_auth_ldap for some time, but never heavily.

I populated an LDAP directory with thousands of users, placed a 25K 
static HTML page in a directory configured to "require valid-user" 
against the LDAP in questiono, and then did a simple test involving 
GET's for the given page as randomly selected users.

I quickly ran into an issue:

    ISSUE 1: Every run Apache would crash when the 376th (distinct) user
    attempted to authenticate.  This occured at that number regardless
    of how many requests had been made on behalf of each user.

This *appeared* to be due to the size of my particular URLs, DNs, user 
names, etc, exceeding the physical memory allocated by 
'LDAPSharedCacheSize' before the given number configured number of cache 
entries were exceeded.  I was using the defaults for all LDAP cache 
parameters, i.e. I was not specifying anything in my conf files.

I say *appeared* as the crash would occur while trying to allocate 
memory for a new cache entry.  I looked and it appears that none of the 
code appears to handle the case where the share memory block is 
exhausted (e.g. by gracefully not adding an entry to the cache and 
deallocating any portion of a new entry that has been allocated up too 
that point -- or by freeing older entries and retrying).  I did some 
quick back-of-the-envelope estimates and decided that the default 100000 
bytes may well have been used up.  I computed that my entries appeared 
to be consuming about 267 bytes a piece if this was the case and 
increased LDAPSharedCacheSize accordingly for the number of distinct 
users making requests in the test.

Right or wrong, this approach worked great for a single-threaded test.  
I then tried 8 threads in parallel making requests.  This worked great 
as well.

All of this was with the actual number of distinct users being less than 
the configured cache sizes, however.  I then tried the tests with the 
number of distict users being larger than the cache sizes at which point 
I ran into a more serious issue:

    ISSUE 2: Apache would consistently pause significantly on the 1025th
    distinct user (with the caches set to hold 1024, i.e. the default). 
    Sometimes it would recover, but invariably it would completely
    deadlock shortly thereafter.  Using the status page it appears that
    most times there is a deadlock on the first purge attempt and a
    deadlock always occurs on a purge request soon thereafter.

This issue seemed independent of the cache limit, i.e. I could set the 
cache entry limit to 5 and Apache would deadlock after a few purges 
there as well (though a few seemed to occur rather quickly first whereas 
at 1024 purges seemed very slow even when they succeeded).

I say Apache was deadlocked in that all the threads that were processing 
connections were trying to establish a lock on the LDAP cache -- and 
none appeared to be successfully holding it.  From a look at the code I 
infer that the author is trying to allow many readers with little 
synchronization but ensure at most one writer (and no readers during 
this writer's operation), but it does not seem to be quite working that way.

I ran into similar issues to this deadlock with Apache 1.3.28 (EAPI_MM) 
and auth_ldap 1.6.0 (with a shared cache) on Solaris 8.

I could not ellicit any such failure conditions from HP Apache 1.0.06.01 
(their latest bundle of 2.0.46) but I've not tried these tests with 
Apache 2.0.x on other platforms.

Does anyone have any brilliant ideas here?

I'm planning to disable the util_ldap cache in all the problematic cases 
(i.e. on Windows until knowing the maximum number of users and on Apache 
1.3.x as a whole) for now as I don't have that deep of an understanding 
of the code here -- short as it is -- and may not have the time to 
attain such an understanding for a while....

--
Jess Holle