On 06/11/2015 09:02 AM, William A Rowe Jr wrote:

Sounds telling.  Can you get your installer to stall without invoking
httpd.exe - and then attempt to start httpd outside of the installer on
the same machine?  Something going on within the installer may be
interacting with the winsock stack.  If so, with the installer frozen
the problem should occur outside of the installer process, I'd expect.


The installer never actually stalls either. it continues to process a few things and then eventually it needs to make a request to httpd to make sure it's up. At that point, the installer hangs waiting for response. the interesting thing is the TCP handshake and GET request are both actually completed, so there's no other timeout. So the process primary thread is "hung" because of that. However all other threads are perfectly fine (JMX monitoring can connect to it, i can get jstack thread dumps, etc etc)

The only thing that appers to be hanging is httpd.exe but even then it's not hung in the sense that anything is blocked.. processexplorer/monitor show everything to be simply waiting for requests that the windows tcp stack simply isn't passing to it.

    One of the other windows guys here, theorized that it has to do with
    inherited handles but he couldn't really work out why.  He's not a
    winsock expert though.


A possibility.  There is the -X (-DONE_PROCESS) startup flag to rule
that out.


If I get some free time, I nmight try to reproduce this and document some of the above thread analysis. It's not ahuge problem for me. We've been deploying httpd 2.2.x with Win32DisableAcceptEx configured the whole time. When I migrated to 2.4.x I didn't move tha tforward to the Acceptfilter configuration because i didn't know for sure why we needed it and i thought, hey new httpd.exe version, why not try and see what happens.

Reply via email to