Symantec Access Management

  • 1.  Apache :: Fix Error : winnt_accept: Asynchronous AcceptEx failed

    Broadcom Employee
    Posted Aug 25, 2014 04:22 AM

    Running SPS, we often see the error :

     

    [warn] (OS 64)The specified network name is no longer available.  :
    winnt_accept: Asynchronous AcceptEx failed.

     

    How can we solve this ?


    By running  SPS 12.51CR00 with JDK 1.7.0_40 32bit on Windows 2008 R2 which includes Apache 2.2.22 :

     

    Apache documentation suggests that this error can be solved by setting parameter :

     

    Win32DisableAcceptEx

     

    By default, Apache 2.2 is using AcceptEx.

    http://httpd.apache.org/docs/2.2/mod/mpm_winnt.html

     

    Set also in Apache configuration

    EnableSendfile Off
    EnableMMAP off

     

    If you run Apache 2.4, Win32DisableAcceptEx has been replaced by AcceptFilter, and you can also solve this with the following configuration :

          AcceptFilter https none
          AcceptFilter http none
          EnableSendfile Off
          EnableMMAP off

     

    By default, Apache 2.2 delivers :

          EnableSendfile On
          EnableMMAP On

     

    AcceptFilter is supported on Windows for Apache 2.4 as per documentation :

    http://httpd.apache.org/docs/2.2/mod/core.html

    See the note of the same description for AcceptFilter in the Apache 2.4 documentation :

    http://httpd.apache.org/docs/current/mod/core.html

    and default values are :

    AcceptFilter http data
    AcceptFilter https data



  • 2.  Re: Apache :: Fix Error : winnt_accept: Asynchronous AcceptEx failed

    Broadcom Employee
    Posted Jan 08, 2017 11:05 PM

    A recent update to this problem and the fix from the default apache page.   From : 

     

    http://httpd.apache.org/docs/current/mod/core.html

     

    For AcceptFilter : 

    On Windows, none uses accept() rather than AcceptEx() and will not recycle sockets between connections. This is useful for network adapters with broken driver support, as well as some virtual network providers such as vpn drivers, or spam, virus or spyware filters.

    The AcceptFilter https none is what we have traditionally used to fix this problem - but it seems from Apache 2.4.24+ this setting has a better default, and will use "connect", rather than "data".   Which will avoid this problem (and also it seems bypass a DOS attack) : as per the link above : 

    The data AcceptFilter (Windows)

    For versions 2.4.23 and prior, the Windows data accept filter waited until data had been transmitted and the initial data buffer and network endpoint addresses had been retrieved from the single AcceptEx() invocation. This implementation was subject to a denial of service attack and has been disabled.

    Current releases of httpd default to the connect filter on Windows, and will fall back to connect if data is specified. Users of prior releases are encouraged to add an explicit setting of connect for their AcceptFilter, as shown above.

     

    Cheers - Mark