httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Ames <grega...@raleigh.ibm.com>
Subject apache.org - 2.0 status
Date Thu, 15 Feb 2001 21:07:14 GMT
OK, apache.org:8092 is back up and looks good so far.  Some more testing
is probably in order, but please don't bring daedalus to its knees.  I
am all in favor of bringing this build up in production.

The breakage in cvs:  threads are turned on in APR, even when we don't
need them for prefork.  FreeBSD does not deal with threads very well at
all, at least in the Apache 2.0 prefork environment.  Fortunately, you
can easily circumvent the badness by configuring Apache with
--disable-threads.

Thanks to Jeff for figuring out where it was looping.  The secret: gdb
bin/httpd <looping pid>.  It showed:

[...many "Reading symbols from blah" deleted]
Reading symbols from /usr/libexec/ld-elf.so.1...done.
0x2813f1e2 in _thread_sigframe_restore () from /usr/lib/libc_r.so.4
(gdb) up
Initial frame selected; you cannot go up.
(gdb) n
Single stepping until exit from function _thread_sigframe_restore, 
which has no line number information.

The FreeBSD userland threads support is apparently inserting all manner
of weird stuff into the libraries, just in case we actually use threads
sometime.  It screws up signal handling on daedalus, causing infinite
loops and making Apache very hard to kill.  

There may be a moral or two to the story:  

* Be very careful about what you commit if you want to have a working
beta.  
* Intelligent, well meaning programmers can insert bugs more quickly
than they can be removed.

Greg

Mime
View raw message