httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 36636] - blocking writev()/poll()-call causes mod_dav to stop responding
Date Tue, 13 Sep 2005 19:11:24 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36636>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36636





------- Additional Comments From arne@arne.net  2005-09-13 21:11 -------
Thank you for your quick response!

The patch does not fix the problem completely. As it seems, it does change the 
behaviour of the problem, reduces the timeout a bit by trying less writev()s, 
but still hangs around 600 seconds (Timeout 300) when trying to write data to 
the socket:

[...]
19:02:19.105921 [ffffe410] writev(8, [{"1f6a\r\n", 6}, {"<insert data>"}, 76}, 
{"\r\n", 2}], 4) = 1777 <0.000012>
19:02:19.106186 [ffffe410] poll([{fd=8, events=POLLOUT, revents=POLLOUT}], 1, 
300000) = 1 <0.010639>
19:02:19.116867 [ffffe410] writev(8, [{"<insert data>"}, , 76}, {"\r\n", 2}], 
3) = 6273 <0.000013>
19:02:19.119128 [ffffe410] writev(8, [{"1f5e\r\n", 6}, {"<insert data>"}, 49}, 
{"\r\n", 2}], 4) = 2487 <0.000013>
19:02:19.119565 [ffffe410] poll([{fd=8, events=POLLOUT}], 1, 300000) = 0 
<299.954921>
[...]
19:07:22.418883 [ffffe410] writev(8, [{"1a7\r\n", 5}, {"<insert some data>"},
{"\r\n", 2}, {"0\r\n\r\n", 5}], 4) = -1 EAGAIN <0.0000
19:07:22.419221 [ffffe410] poll([{fd=8, events=POLLOUT}], 1, 300000) = 0 
<299.955070>
19:12:22.374387 [ffffe410] write(7, "172.17.225.123 - - [13/Sep/2005:19:02:18 
+0200] \"PROPFIND /.......", 160) = 160 <0.000021>
19:12:22.374512 [ffffe410] close(8)     = 0 <0.000016>
[...] 

(the stack backstrace remains as previously stated)

I observed a correlation between number of CLOSE_WAIT connections and the 
behaviour described earlier. That is, once the poll() call locks, the 
CLOSE_WAIT connections accumulate up to a number of 131 (when MaxClients is 
set to 3). In the time period before this happens, the server can deal well 
with my test load (which is constant). But once it appears, CLOSE_WAIT 
connections add up.
It looks like this is a deeper problem in apr_poll() or deeper, do you agree?

Thank you again!

Regards,
Arne Voigtlaender

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message