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 posts:
- WordPress Permalinks Does Not Work in xampp Setup
- Install Web Server in Windows XP with Apache2, PHP5 and MySQL4 – Part 2
- Install Web Server in Windows XP with Apache2, PHP5 and MySQL4 – Part 3
- Install, Setup and Configure CGI and Perl in Windows XP
- Install AWStats- Free Logfile Analyzer for Site Statistics





You're the man, thanks!
Solved the awful delays I was having.
[warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
I find this error often when looking at a site that has been hit with a DOS / DDOS attack, where the server is a Microsoft server, and the site or page has become unavailable.
newbie to apache. just wanted to post my solution incase it may help out others.
With my situation i found out that it is an issue with my httpd.conf file. the httpd file was looking for my SSL certs and it could not find them and that is what was causing the issue.
thanks this helped me alot
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.
I used the instructions from the main post and it solved the same problem. It works.
Anton
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?t2… after 3 hours of searching.
Yes it's caused by NOD32, if you turn Web Access Protection off, the error is not showing anymore
Not sure, but I doubt so.
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] "|xebxx88xecxbex15[xefO([xb1xad%x9c&fxd9Vxc9xdexcdxcax85x9ex84xef$x9cx9f!%CMCx88x9c9nxcdxf8^bxecx92x0cxa4x'[x8dDxd7x01Pe|>xb2xc9x1fx02xfbx14xddxf0xdaxf3xxb5C}xedxf1x11" 400 226
82.224.102.208 - - [07/Jan/2008:01:47:22 +0530] "x02xa3xd3x90x9e*xe6xafxb2x8fx84xdexd2^xxc3x84x9fxdex90*xbfx1fhxdbx9dx12xe1xc1qxac,x91x0exe1xa5xcbxc6f]rxE" 200 -
84.203.83.71 – - [07/Jan/2008:01:48:13 +0530] "|xebxx88xecxbex15[xefO([xb1xad%x9c&fxd9Vxc9xdexcdxcax85x9ex84xef$x9cx9f!%CMCx88x9c9nxcdxf8^bxecx92x0cxa4x'[x8dDxd7x01Pe|>xb2xc9x1fx02xfbx14xddxf0xdaxf3xxb5C}xedxf1x11" 400 226
Does this have anything to do with Win32DisableAcceptEx or Windows sockets etc ?
[...] the link if anyone needs it winnt_accept: Asynchronous AcceptEx failed Error in Apache Log
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.
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…..
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)
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
Actually, it's generaly error that caused by Eset Nod32 antivirus, Microsoft already knows about that
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!
thanks a lot
i user you instructions and now tomcat is running
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:WINDOWSsystem32
Boot Device DeviceHarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = "5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)"
User Name WAYBAD-HEINZ-57ME!
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)
[...] 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) [...]