On 19.01.2009 09:55, Issac Goldstand wrote:
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

Sure, the question is: is it expected to downgrade, i.e. why is there error 10038 on my system (and how can I debug this). It could be a systems setup problem, or it could be a code problem.

Regards,

Rainer

Reply via email to