You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2003/06/04 02:48:22 UTC
DO NOT REPLY [Bug 20462] New: -
stopping or restarting Apache 2.0.46 under Windows causes a crash if a module logs in its cleanup routines
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20462>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20462
stopping or restarting Apache 2.0.46 under Windows causes a crash if a module logs in its cleanup routines
Summary: stopping or restarting Apache 2.0.46 under Windows
causes a crash if a module logs in its cleanup routines
Product: Apache httpd-2.0
Version: 2.0.46
Platform: PC
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: All
AssignedTo: bugs@httpd.apache.org
ReportedBy: schemers@stanford.edu
My setup:
Windows XP, Service Pack 1
Apache 2.0.46 compiled with VS 7.1 (May 2003 developer CD install)
mod_ssl with openssl also compiled with VS 7.1
When running Apache from the command line or as a service, it consistently will
crash upon restart or stopping. In tracking this down with the debug, the crash
appears to happen when a module is cleaning up data in a pool cleanup handler,
most typically when logging debug message.
To reproduce:
build 2.0.46 with mod_ssl
change "LogLevel" in httpd.conf to "debug", so SSL spews a bunch of messages
(including during module shutdown)
start the server
connect a few times (might not even be needed)
stop the server
I've pretty much gotten 100% success rate with it crashing on stops/restarts. It
seems to be related to the cleanup handlers using something that has been freed
already. For example, the last crash I got I set a breakpoint in
main.c:destroy_and_exit_process so I could trace from there. It calls
apr_pool_destroy(process->pool), which then starts destroying child-pools.
The first child-pool it destroys is the "plog" pool, which has a pool cleanup
handler for the error_log file, so that file handler gets closed. Later on,
another pool cleanup handler invokes a handler for mod_ssl, and that module does
some ap_log_error calls, but that fails because the error_log file handler is no
longer valid.
The strange thing is is that sometimes ap_log_error is getting called because
something else failed, like ssl_mutex_on(s) will fail because the global SSL
mutex seems to have been freeed already, and its trying to log an error.
This seems to be some sort of pool-ordering problem, and I'm not sure if its
strictly a mod_ssl issue, a windows issue, or a core server issue with the way
pools getting cleaned up.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org