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.

Share and contribute or get technical support and help at My Digital Life Forums.



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

  1. 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) [...]

  2. 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)

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

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

  4. 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!

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

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

  6. 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

  7. 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)

  8. 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…..

  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. 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

  11. 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 ?

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

    Not sure, but I doubt so.

  13. 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

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 without commenting


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. - asynchronous acceptex failed - (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - Disabled use of AcceptEx() WinSock2 API - winnt_accept - The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed - Win32DisableAcceptEx - Asynchronous AcceptEx failed. - apache winnt_accept: Asynchronous AcceptEx failed - apache Win32DisableAcceptEx - The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed. - apache winnt_accept: Asynchronous AcceptEx failed. - "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. - Disabled use of AcceptEx - [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed - "winnt_accept: Asynchronous AcceptEx failed." - AcceptEx failed - apache The specified network name is no longer available - apache acceptex - disabled use of acceptex() - winnt_accept: Asynchronous AcceptEx failed - The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed - [notice] Disabled use of AcceptEx() WinSock2 API - [warn] (OS 64)The specified network name is no longer available - "Asynchronous AcceptEx failed" - apache asynchronous acceptex failed - acceptex apache - The specified network name is no longer available apache - (OS 64)The specified network name is no longer available - Disabled use of AcceptEx() WinSock2 API . - winnt_accept: Asynchronous AcceptEx faild - warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - acceptEx - apache Win32DisableAcceptEx - [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. - [warn] (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed. - apache "The specified network name is no longer available" - The semaphore timeout period has expired apache - Win32DisableAcceptEx httpd.conf - The specified network name is no longer available. apache - (OS 64)The specified network name is no longer available. - winnt_accept Asynchronous AcceptEx failed - Asynchronous AcceptEx - apache os 64 -