Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 18339 invoked from network); 12 Dec 2003 10:25:01 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 12 Dec 2003 10:25:01 -0000 Received: (qmail 66956 invoked by uid 500); 12 Dec 2003 10:24:34 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 66917 invoked by uid 500); 12 Dec 2003 10:24:34 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 66896 invoked by uid 500); 12 Dec 2003 10:24:34 -0000 Delivered-To: apmail-httpd-2.0-cvs@apache.org Received: (qmail 66891 invoked from network); 12 Dec 2003 10:24:34 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 12 Dec 2003 10:24:34 -0000 Received: (qmail 18328 invoked by uid 1327); 12 Dec 2003 10:24:59 -0000 Date: 12 Dec 2003 10:24:59 -0000 Message-ID: <20031212102459.18327.qmail@minotaur.apache.org> From: jerenkrantz@apache.org To: httpd-2.0-cvs@apache.org Subject: cvs commit: httpd-2.0 STATUS README.platforms X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N jerenkrantz 2003/12/12 02:24:59 Modified: . STATUS README.platforms Log: If you ignore a problem long enough, it'll be fixed by someone else. FreeBSD 5.2-RC with either libthr or libkse enabled (instead of the default libc_r) is confirmed to be operational with the worker MPM. Add notes to STATUS and README.platforms (as there is now an upgrade path that may be reasonable for those needing threads). [No soak tests run, but it serves pages - which is an improvement over before] Revision Changes Path 1.775 +8 -31 httpd-2.0/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/httpd-2.0/STATUS,v retrieving revision 1.774 retrieving revision 1.775 diff -u -u -r1.774 -r1.775 --- STATUS 20 Nov 2003 16:12:28 -0000 1.774 +++ STATUS 12 Dec 2003 10:24:59 -0000 1.775 @@ -284,38 +284,15 @@ lost. This might be an APR issue with how it deals with the child_init hook (i.e. the fcntl lock needs to be resynced). More examination and analysis is required. - Status: This has also been reported on Cygwin. + Status: This has also been reported on Cygwin. FreeBSD 4.7 was reputed to have 'fixed' threads. Not. + FreeBSD 5.2-RC is a confirmed fix w/either libkse or libthr. + [libc_r, still the default, does not serve any pages w/worker; + so on FreeBSD 5.2, you must use libmap.conf (see man page).] + Work needs to be done to get APR to try to be knowledgable that + libkse/libthr are acceptable. Still not recommended for the + default since libc_r is still broken. Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus) - - Aaron says: I spent some time disecting this and have come to - the conclusion that it is not a problem in the worker MPM - (or at least, it is not isolated to a problem in worker). - I'll list some of the problems I'm seeing in case someone - else wants to pick up where I've left off: - - Delivery of just about any signal to one of the child - processes will send it into an infinite loop as well. - - Even though the parent is spinning out of control, - at first the child or children will appear to work - properly. At times it is possible to get it into a state, - however, where a request will hang until another concurrent - request "kicks" the first, at which point the second will - hang. My theory is that this has to do with the - pthread_cond_*() implementation in FreeBSD, but it's still - possible that it is in APR. - - Justin adds: Oh, FreeBSD threads are implemented entirely with - select()/poll()/longjmp(). Welcome to the nightmare. - So, that means a ktrace output also has the thread - scheduling internals in it (since it is all the same to - the kernel). Which makes it hard to distinguish between - our select() calls and their select() calls. - *bangs head on wall repeatedly* But, some of the libc_r - files have a DBG_MSG #define. This is moderately helpful - when used with -DNO_DETACH. The kernel scheduler isn't - waking up the threads on a select(). Yum. And, I bet - those decrementing select calls have to do with the - scheduler. Time to brush up on our OS fundamentals. * There is increasing demand from module writers for an API that will allow them to control the server � la apachectl. 1.9 +6 -0 httpd-2.0/README.platforms Index: README.platforms =================================================================== RCS file: /home/cvs/httpd-2.0/README.platforms,v retrieving revision 1.8 retrieving revision 1.9 diff -u -u -r1.8 -r1.9 --- README.platforms 30 Jan 2003 22:43:40 -0000 1.8 +++ README.platforms 12 Dec 2003 10:24:59 -0000 1.9 @@ -54,6 +54,12 @@ shell implementation (/bin/sh) on FreeBSD. Be sure to use v2.13 of autoconf. + Threaded MPMs are not supported on FreeBSD 4.x. Current releases of + FreeBSD 5.x (5.2 or later) support threaded MPMs correctly. You must pass + '--enable-threads=yes' to APR's configure in order to enable threads. + Additionally, you must use libthr or libkse via libmap.conf as the default + libc_r is still broken as of this writing. Please consult the man page for + libmap.conf for more details about configuring libthr or libkse. ================ HP-UX: The dlopen() system call in HP-UX has problems when loading/unloading