Rainer Jung wrote:
> On 16.01.2009 20:30, wr...@apache.org wrote:
>> Author: wrowe
>> Date: Fri Jan 16 11:30:42 2009
>> New Revision: 735093
>>
>> URL: http://svn.apache.org/viewvc?rev=735093&view=rev
>> Log:
>> Introduce Win32 AcceptFilter handling.
>>
>> Divided into 3 classes, this implements the first two;
>>
>> * AcceptFilter 'data' - much as on Unix, accept will not complete
>> until data is ready to be accepted. Unlike Unix, it will actually
>> fetch the first bucket full of data from the tcp socket, and this
>> patch implements passing that bucket into the core net brigade
>> in front of the accepted socket.
>>
>> * AcceptFilter 'connect' - just as in Apache 2.2, accept will not
>> complete until three way handshake is complete and the endpoints
>> are resolved, and quickly grabs the endpoint addresses using the
>> AcceptEx API (which some people have problems with). This will
>> not be the default.
>>
>> * AcceptFilter 'none' [not yet implemented] - will be the traditional
>> select/WSAAccept style processing for broken network socket stacks
>> and more trivial tcp style connections. If AcceptEx appears to be
>> a problem, the listener will be able to downgrade to 'none'.
>>
>>
>> Modified:
>> httpd/httpd/trunk/server/mpm/winnt/child.c
>
> I built trunk on XP today. When trying to run it, I get a restart loop
> for the child process, and the error log contains repetitions of:
>
> ======================================
> [Sun Jan 18 19:20:42 2009] [notice] Apache/2.3.2-dev (Win32)
> configured -- resuming normal operations
> [Sun Jan 18 19:20:42 2009] [notice] Server built: Jan 18 2009 01:17:29
> [Sun Jan 18 19:20:42 2009] [notice] Parent: Created child process 4556
> [Sun Jan 18 19:20:43 2009] [notice] Child 4556: Child process is running
> [Sun Jan 18 19:20:43 2009] [notice] Child 4556: Acquired the start mutex.
> [Sun Jan 18 19:20:43 2009] [notice] Child 4556: Starting 150 worker
> threads.
> [Sun Jan 18 19:20:43 2009] [notice] Child 4556: Starting thread to
> listen on port 8000.
> [Sun Jan 18 19:20:43 2009] [error] (OS 10038)Ein Vorgang bezog sich
> auf ein Objekt, das kein Socket ist. : Child 4556: Encountered too
> many AcceptEx faults accepting client connections. Possible causes:
> dynamic address renewal, or incompatible VPN or firewall software.
> [Sun Jan 18 19:20:43 2009] [notice] (OS 10038)Ein Vorgang bezog sich
> auf ein Objekt, das kein Socket ist. : winnt_mpm: falling back to
> 'AcceptFilter none'.
> [Sun Jan 18 19:20:43 2009] [crit] (OS 10038)Ein Vorgang bezog sich auf
> ein Objekt, das kein Socket ist. : winnt_mpm: AcceptFilter 'none' is
> not yet supported (a classic WSAAccept logic). Use AcceptFilter
> 'connect' or 'data' in the meantime
> [Sun Jan 18 19:20:43 2009] [notice] Child 4556: Exit event signaled.
> Child process is ending.
> [Sun Jan 18 19:20:44 2009] [notice] Child 4556: Released the start mutex
> [Sun Jan 18 19:20:45 2009] [notice] Child 4556: All worker threads
> have exited.
> [Sun Jan 18 19:20:45 2009] [notice] Child 4556: Child process is exiting
> [Sun Jan 18 19:20:45 2009] [notice] Parent: child process exited with
> status 0 -- Restarting.
> ======================================
>
> Since it is my first trunk build on Windows (and don't have VC6), I
> could have well made a mistake. Just wanted to let you know the
> result, in case you get the same.
>
> Regards,
>
> Rainer
This looks like it's trying to downgrade to the not-yet-existing "none"
filter, based on bill's commit comment