More progress:
- I inserted log messages and have determined that APR is getting an
EAI_AGAIN return value from getaddrinfo() after running for a while.
- I've verified that DNS calls are actually still working in other
processes via "host subdomain.domain.com", etc.
- Note that I've compiled and run Apache on Mac OS X 10.5.5 (latest).
- My Apache ./configure is as follows. I built and run Apache on the
same Mac system.
./configure \
--prefix=/usr/local/apache2 \
--enable-mods-shared=all \
--enable-proxy-balancer \
--enable-proxy-ajp \
--enable-proxy-http \
--enable-proxy-ftp \
--enable-proxy-connect \
--enable-proxy \
--enable-ssl \
--with-included-apr \
--enable-dav \
--with-berkeley-db=/usr/local/bdb \
--with-dbm=db4 \
--enable-so
- I'm pretty certain that the failure is due to a memory leak in
Apache that's causing getaddrinfo() calls to fail. I am continuing to
look into what could be the source of the leak.
- Memory for the rest of the system looks okay, and the failure seems
restricted to Apache.
- There is no DNS caching.
- The failure occurs in mod_proxy on the DNS lookup after running a
browser refresh for a long time.
- I configured the proxy to Tomcat inside a named virtual host. I
actually have many virtual hosts configured.
- I would recommend a test case that runs continuously to reproduce
this problem.
Thanks,
David
On Nov 6, 2008, at 8:27 AM, David Multer wrote:
The problem just started happening again after a day with absolutely
no changes of any kind.
On Nov 5, 2008, at 5:46 PM, David Multer wrote:
I've done some more testing of this problem, and here's some more
detail:
- I re-installed 2.2.10 and the problem went away.
- I tried switching to mod_proxy_ajp by changing the "http:" prefix
in the ProxyPass and ProxyPassReverse to "ajp:" After restarting
Apache, I started to get the DNS errors again. Reinstalling Apache
(sudo make install) fixed the problem.
- Note that the DNS lookup for subdomain.domain.com is only
registered on my internal DNS (BIND9) server. This is because the
subdomains are meant only to be publicized behind my firewall.
Performing a "dig" for subdomain.domain.com works fine. And of
course I can get to Tomcat/Hudson just fine until the problem
happens.
- When in the error state, I get this DNS failure regardless of
whether Tomcat is running.
- I've never seen this problem before even across many Apache/
Tomcat config file changes and restarts.
- I had initially assumed the problem was introduced by the 2.2.10
change as it's the only difference and I noticed the changelog had
a number of mod_proxy changes.
Questions:
- Is Apache caching some proxy DNS requests?
- I assume the error is purely inside Apache and mod_proxy right?
- What could cause this error?
- Why would an install clear up the problem?
Thanks,
David
On Nov 4, 2008, at 10:30 PM, David Multer wrote:
I just installed the latest 2.2.10 version of Apache web server
and noticed it's broken my Tomcat+Hudson setup. I've confirmed
that falling back to 2.2.9 eliminates the problem. I suppose it
could be an issue in my config that was only uncovered with the
latest version, but for now I'll assume it's a real problem.
My httpd.conf:
...
LoadModule proxy_module modules/mod_proxy.so
...
ProxyRequests off
...
ProxyPass /hudson/ http://subdomain.domain.com:8080/hudson/
ProxyPassReverse /hudson/ http://subdomain.domain.com:8080/hudson/
Using 2.2.10, when I navigate to http://subdomain.domain.com:8080/hudson/
everything works fine. So Tomcat+Hudson is good. When I go to http://subdomain.domain.com/hudson/
I get a 502 GET /hudson/ error reporting a DNS failure for
subdomain.domain.com. Again, both approaches work fine under 2.2.9.
Here's what shows up in my Apache error log:
[Tue Nov 04 16:04:55 2008] [error] [client X.X.X.X] proxy: DNS
lookup failure for: subdomain.domain.com returned by /hudson/
Thanks for any help. I wanted to ask before filing a bug report.
-David
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]