winnt_accept: Asynchronous AcceptEx failed Error in Apache Log

If you run Apache on a server that is running on particularly Windows 2000, Windows XP or Windows 2003, you may notice the following semaphore error in the error log of Apache web server:

[Sun Oct 16 03:28:32 2005] [warn] (OS 64)The specified network name is no
longer available. : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:32:05 2005] [warn] (OS 121)The semaphore timeout period has
expired. : winnt_accept: Asynchronous AcceptEx failed.


There are no specific know cause to this error. Initially it’s speculated that firewall and antivirus utility caused the error, but even after you disable antivirus software and firewall, the error will still occurs. Now, most relates the problem to the DHCP lease negotiation, due to an enhancement request to handle dynamic IP assignment, of which Apache doesn’t handle IP transitions in that way.

According to Apache documentation, AcceptEx() is a Microsoft WinSock v2 API that provides some performance improvements over the use of the BSD style accept() API in certain circumstances. Some popular Windows products, typically virus scanning or virtual private network packages, have bugs that interfere with the proper operation of AcceptEx().

The resolution to the above problem is to disable the use of AcceptEx by using Win32DisableAcceptEx directive. Win32DisableAcceptEx only available in Apache version 2.0.49 and later version though.

Win32DisableAcceptEx directive should be place in httpd.conf configuration file. If you are using distribution from apachefriend’s xampp, the directive should be placed at httpd.conf file too, and not the httpd-mpm configuration file. The directive can be placed together with the line of #EnableMMAP off and #EnableSendfile off in httpd.conf.

If you still facing issue after enable the Win32DisableAcceptEx directive, try to uncomment (disable) the EnableMMAP and EnableSendfile directive. The line should looks like this:

EnableMMAP off
EnableSendfile off
Win32DisableAcceptEx

Note: I found that enable Win32DisableAcceptEx directive cause Apache running on Windows XP to crash frequently. So it’s possibe to try to just turn off (uncomment) EnableMMAP and EnableSendfile without Win32DisableAcceptEx for stability issue, although it doesn’t guarantee reliability of Apache web server.


17 Responses to “winnt_accept: Asynchronous AcceptEx failed Error in Apache Log”

  1. nanra
    October 14th, 2009 09:02
    17

    thanks this helped me alot

  2. Lotto-Jackpot
    February 4th, 2009 00:32
    16

    I had problems with my Apache too. I switched off the three directives:
    EnableMMAP off
    EnableSendfile off
    Win32DisableAcceptEx

    And now everything seems to be fine. I hope I can soon switch to Linux with my Server.

  3. Meglio
    November 27th, 2008 00:01
    15

    I used the instructions from the main post and it solved the same problem. It works.

    Anton

  4. Denis
    November 7th, 2008 00:59
    14

    No! Error not only in Win32DisableAcceptEx
    In most cases there is a problem in winsock driver, shipped with custom network adapter.

    To fix this, simple run “netsh winsock reset”

    Founded in http://forums.nvidia.com/lofiversion/index.php?t27951.html after 3 hours of searching.

  5. PHP Dev.
    June 24th, 2008 17:09
    13

    Yes it’s caused by NOD32, if you turn Web Access Protection off, the error is not showing anymore

  6. admin
    January 7th, 2008 18:07
    12

    Not sure, but I doubt so.

  7. Anjanesh
    January 7th, 2008 14:01
    11

    Along with the above mentioned error msgs in apache’s error.log file,
    Im getting these in my access.log file

    84.203.83.71 – - [07/Jan/2008:01:47:08 +0530] “|\xebx\x88\xec\xbe\x15[\xefO([\xb1\xad%\x9c&f\xd9V\xc9\xde\xcd\xca\x85\x9e\x84\xef$\x9c\x9f!%CMC\x88\x9c9n\xcd\xf8^b\xec\x92\x0c\xa4x'[\x8dD\xd7\x01Pe|>\xb2\xc9\x1f\x02\xfb\x14\xdd\xf0\xda\xf3x\xb5C}\xed\xf1\x11" 400 226
    82.224.102.208 - - [07/Jan/2008:01:47:22 +0530] “\x02\xa3\xd3\x90\x9e*\xe6\xaf\xb2\x8f\x84\xde\xd2^x\xc3\x84\x9f\xde\x90*\xbf\x1fh\xdb\x9d\x12\xe1\xc1q\xac,\x91\x0e\xe1\xa5\xcb\xc6f]rxE” 200 -
    84.203.83.71 – - [07/Jan/2008:01:48:13 +0530] “|\xebx\x88\xec\xbe\x15[\xefO([\xb1\xad%\x9c&f\xd9V\xc9\xde\xcd\xca\x85\x9e\x84\xef$\x9c\x9f!%CMC\x88\x9c9n\xcd\xf8^b\xec\x92\x0c\xa4x’[\x8dD\xd7\x01Pe|>\xb2\xc9\x1f\x02\xfb\x14\xdd\xf0\xda\xf3x\xb5C}\xed\xf1\x11″ 400 226

    Does this have anything to do with Win32DisableAcceptEx or Windows sockets etc ?

  8. xampp going crazy - DesignersTalk
    July 18th, 2007 21:40
    10

    [...] the link if anyone needs it winnt_accept: Asynchronous AcceptEx failed Error in Apache Log

  9. Inanc
    July 9th, 2007 04:32
    9

    WebServer : apache 2.2
    PHP: 5
    Browser :IE

    This is strange. I just installed phpBB3 and configured it. When I try to access the web server for the first time, no problem. However i phpBB3, when I try to post something or try to logout for examle (this has to be something related to POST function of HTML) I can’t get a response from the server for say 5 minutes, then after everything turns back to normal. In this 5 minutes I can access the server locally using localhost directive.

    Before phpBB3 I did not have this problem. I also experience this problem with IE, not Mozilla or Opera.

  10. Paul
    June 30th, 2007 06:52
    8

    for what it’s worth – I only get the asynchronous error message when I manually add the ‘load phpmodule’ jargon to the httpd.conf file.

    Apache (2.2.4 on winxp sp2) starts fine without the PHP (5.2.3) added lines – add those lines and Apache will not start …maybe xampp would be better than a manual install of each on top of xp…..

  11. Igor Berkovich
    June 22nd, 2007 13:50
    7

    it’s not related in any way to my ISP, I am trying to surf LOCALLY from computer where webserver is running using my localip (127.0.0.1 / localhost / 10.0.0.14, etc)

  12. Waqas Saeed
    June 17th, 2007 17:40
    6

    mike…

    It may be cause of the port number you are using at apache server, because most of the ISP block port 80. try to change your port number in httpd.conf file from 80 to 8000 or bay be something else, and then open website
    like for example

    http://202.5.152.83:8000/my_site.html

    Regards,

    Waqas Saeed

  13. Igor Berkovich
    May 7th, 2007 06:01
    5

    Actually, it’s generaly error that caused by Eset Nod32 antivirus, Microsoft already knows about that

  14. mike
    March 12th, 2007 03:33
    4

    hmm…

    this still isn’t working for me. i have an “out-of-the-box” install of xampp with localhost working great. i have checked ports, routing, av software, firewall and everything seems OK. placing Win32DisableAcceptEx in httpd.conf and restarting apache does not help.
    (ie. i no longer get the AcceptEx() error, but still can’t access server externally.)

    any advice?

    thx!

  15. newbie
    March 10th, 2007 19:04
    3

    thanks a lot
    i user you instructions and now tomcat is running

  16. Scott McGavern
    November 11th, 2006 04:35
    2

    Hello.

    My name is Scott McGavern, and I host my own site using apache software on a Windows XP machine, as noted below from my System Info:

    OS Name Microsoft Windows XP Home Edition
    Version 5.1.2600 Service Pack 2 Build 2600
    OS Manufacturer Microsoft Corporation
    System Name WAYBAD-HEINZ-57
    System Manufacturer VIA Technologies, Inc.
    System Model KT600-8237
    System Type X86-based PC
    Processor x86 Family 6 Model 10 Stepping 0 AuthenticAMD ~2099 Mhz
    BIOS Version/Date Phoenix Technologies, LTD 6.00 PG, 9/13/2004
    SMBIOS Version 2.2
    Windows Directory C:\WINDOWS
    System Directory C:\WINDOWS\system32
    Boot Device \Device\HarddiskVolume1
    Locale United States
    Hardware Abstraction Layer Version = “5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)”
    User Name WAYBAD-HEINZ-57\ME!
    Time Zone Central Standard Time
    Total Physical Memory 1,024.00 MB
    Available Physical Memory 202.01 MB
    Total Virtual Memory 2.00 GB
    Available Virtual Memory 1.96 GB
    Page File Space 2.40 GB
    Page File C:\pagefile.sys

    After a quick Google search inspired by the reading of my server’s Error Log, I noticed the title to this blog popped up in the results. So, I decided to comment and maybe help someone out with my experiences with this directive.

    Fist, I took note that I didn’t even have the Win32DisableAcceptEx directive in my httpd.conf file. So, I did that first, then saved my work.

    Then, as the article mentioned, I did go ahead and turn the EnableMMAP and EnableSendfile to the off state, re-saved my httpd.conf file, and then restarted apache.

    I then got a message in the command line utility that said “[notice] Disabled use of AcceptEx() WinSock2 API”. However, apache did start rather unremarkably, and appears to be running fine.

    I then re-checked the new process entry in my Error Log file, and the “[notice] Disabled use of AcceptEx() WinSock2 API” message was there, too. But, other than that, I don’t believe I’ve ever had a nicer, cleaner system re-start of my Windows XP-based apache server.

    I hope this information helps.

    Scott McGavern (a.k.a. clickngitcom)

  17. Amy Stephen » Blog Archive » links for 2006-09-27
    September 28th, 2006 07:28
    1

    [...] winnt_accept: Asynchronous AcceptEx failed Error in Apache Log » My Digital Life Win32DisableAcceptEx directive should be place in httpd.conf configuration file. If you are using distribution from apachefriend’s xampp, the directive should be placed at httpd.conf file too, and not the httpd-mpm configuration file. The directive can (tags: Platform_Installation_WAMP) [...]

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. To receive notification of latest comments posted, subscribe to My Digital Life Comments RSS feed or register to receive new comments in daily email digest.
Custom Search

New Articles

Incoming Search Terms for the Article

winnt_accept: Asynchronous AcceptEx failed - winnt_accept: Asynchronous AcceptEx failed. - The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - Disabled use of AcceptEx() WinSock2 API - [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - Asynchronous AcceptEx failed - (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed - disabled use of acceptex winsock2 api - OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - "winnt_accept: Asynchronous AcceptEx failed." - winnt_accept asynchronous acceptex failed - winnt_accept: Asynchronous AcceptEx failed - Disabled use of AcceptEx() WinSock2 API - disabled use of acceptex - (OS 64)The specified network name is no longer available - The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed. - (OS 64)The specified network name is no longer available. - apache "The specified network name is no longer available" - "Asynchronous AcceptEx failed" - Disabled use of AcceptEx() WinSock2 API - [notice] Disabled use of AcceptEx() WinSock2 API - winnt_accept - apache winnt_accept - Disabled use of AcceptEx() WinSock2 API . - [warn] (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed. - acceptex winsock2 api - apache the specified network name is no longer available - the specified network name is no longer available winnt_accept Asynchronous AcceptEx failed - Disabled use of AcceptEx() - disable use of AcceptEx() Winsock2 API - The specified network name is no longer available. : winnt_accept - (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed - : winnt_accept: Asynchronous AcceptEx failed. - [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed - winnt_accept: Asynchronous AcceptEx failed. - apache "Asynchronous AcceptEx failed" - The specified network name is no longer available APACHE - winnt_accept: Asynchronous AcceptEx failed apache - disabled use of acceptex winsock2 api . - disable use of acceptex - os 64 the specified network name is no longer available. winnt_accept asynchronous acceptex failed. - apache (OS 64)The specified network name is no longer available. - win32disableacceptex httpd.conf - (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed - AcceptEx apache - apache winnt_accept: Asynchronous AcceptEx failed - apache2 Disable use of AcceptEx() WinSock2 API error - apache disabled use of acceptex winsock2 api -