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.
Related Articles
- cPanel WHM Failed to Receive Status Information From Apache Error
- Starting Apache HTTPD Failed Due to Cannot Open or No Such mod_bwlimited, mod_log_bytes or mod_bandwidth Files
- Request URL /server-status or 404 Page Not Found Apache Error
- Apache Warn NameVirtualHost *:80 Has No VirtualHosts Error When Start
- FreeBSD Apache HTTP Accept Filter Error
- Fix Internal Server Error When Accessing Easy Apache in cPanel WebHosting Manager
- Apache Status (whm-server-status) in cPanel WebHost Manager Returns Blank Page
- The Call to DllRegisterServer Failed with Error Code 0×80004005 on Windows Vista
- ESET NOD32 AntiVirus or Smart Security Kernel Virus Scanner and File Submission System Initialization Failed Error
- Windows Update KB905474 and KB913446 Installation Failed with Error Code 0×80242006










































October 14th, 2009 09:02
thanks this helped me alot
February 4th, 2009 00:32
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.
November 27th, 2008 00:01
I used the instructions from the main post and it solved the same problem. It works.
Anton
November 7th, 2008 00:59
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.
June 24th, 2008 17:09
Yes it’s caused by NOD32, if you turn Web Access Protection off, the error is not showing anymore
January 7th, 2008 18:07
Not sure, but I doubt so.
January 7th, 2008 14:01
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 ?
July 18th, 2007 21:40
[...] the link if anyone needs it winnt_accept: Asynchronous AcceptEx failed Error in Apache Log
July 9th, 2007 04:32
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.
June 30th, 2007 06:52
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…..
June 22nd, 2007 13:50
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)
June 17th, 2007 17:40
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
May 7th, 2007 06:01
Actually, it’s generaly error that caused by Eset Nod32 antivirus, Microsoft already knows about that
March 12th, 2007 03:33
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!
March 10th, 2007 19:04
thanks a lot
i user you instructions and now tomcat is running
November 11th, 2006 04:35
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)
September 28th, 2006 07:28
[...] 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) [...]