Upgraded drivers. Problem's still there. Those articles really didn't to anything. The second one didn't even seem to pertain =/
Main Topics
Browse All TopicsOk, this is driving me nuts. This error is absolutely filling my error log (almost a MB of it in less than 2 weeks). This is practically the only error in there, period, and I can't find ANYWHERE online what's causing it, and/or how to fix it (though I find plenty of references, but only replies amounting to "switch back to Apache 1.xx"). It was there in Apache 2.0.45 and now it's still there in 2.0.46. I'm running (you guessed it) Windows (XP Pro, to be exact), with PHP, MySQL, and Apache 2.0.46. Can ANYBODY please tell me how to fix this problem, or what it's caused from, or anything? Please, no "switch back to Apache 1.xx" or "you suck 'cuz you're running Windows" comments.
300 Points to the person who can help me get rid of this problem. I have a feeling that it's causing 500 errors too, but I can't seem to nail it down. Thanks!
[Mon Jul 07 18:03:04 2003] [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
[Mon Jul 07 18:03:04 2003] [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
[Mon Jul 07 18:03:43 2003] [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
[Mon Jul 07 18:03:49 2003] [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
[Mon Jul 07 18:06:37 2003] [warn] (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed.
[Mon Jul 07 18:06:37 2003] [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
[Mon Jul 07 18:06:37 2003] [warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
First, be sure that you have SP1 for XP installed. There is a similar problem in 2.0.45 regarding firewalls. If you have one disable it.
The problem is, as far as I can see, that a connection has been established at the transport layer, which causes an event on the Listen socket, but when the program (Apache) comes to read the data and get the senders IP address the data blocks have not arrived. This could be due to network congestion.
The old way of doing things was to set the receive time out with SetSocketOption for the recv() part. Since this is now in the AcceptEx() function I presume (but don't know) that this option can be placed on the naked socket passed to AcceptEx(). The semaphore time-out message would tend to support this theory.
Now somewhere in Apache I believe one could set such options, but I can't find them.
You'll probably have to wait until the Apache people pick up the error out of the news groups. As you know you can't bug report them :(
ServerName localhost:80
Windows IP Configuration
Host Name . . . . . . . . . . . . : NoFear
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/100 M Network Connection
Physical Address. . . . . . . . . : 00-07-E9-D8-E2-C2
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 24.106.18.114
Subnet Mask . . . . . . . . . . . : 255.255.255.248
Default Gateway . . . . . . . . . : 24.106.18.113
DNS Servers . . . . . . . . . . . : 24.26.163.24
24.94.163.34
And BigRat.... well, a lot of that went beyond me. I have reported a bug in the apache bug forums, though I haven't seen anything done with it yet. If there's a way to mod the AcceptEx() function to make this work, maybe? At least, that's all I think I'm gathering from your post (that it's something in the AcceptEx() call).
=/
Nobody seems to have a good answer for this question, anywhere on this massive network we call the internet
The AcceptEx() function is part of the Windows socket interface. If this thing was in error I would have expected that MS would have already issued a patch, a service patch or even as msi containing a fixed dll. So far nothing.
As far as I can tell it looks like a time out has taken place between the point of connection and reading the first data block. That is what the AcceptEx() does. It replaces the Accept(),Revc() and GetSockAddr() calls, each requiring a context switch into the socket service provider side dll. Therefore it is considerably faster. I personally don't asee why one should log timeout network errors in the Apache log. If this sort of thing needs to be logged I would have thought that the socket level (=network level) logging would have been the appropiate place. I could be wrong. It looks as if the best which you can do is to replace the log file every 24 hours and if required, compress and archive the old ones.
"If there's a way to mod the AcceptEx() function to make this work, maybe?"
Apache is open source so you could download the source files, find the acceptex() places and test for exactly this error code (it is 10064) and drop the error report. Then rebuild and install.
I had the same error message and my web server was running real slow. I turned this feature off in the httpd.conf and the everything starting working great.
# EnableSendfile: Control whether the sendfile kernel support is
# used to deliver files (assuming that the OS supports it).
# The default is on; turn this off if you serve from NFS-mounted
# filesystems. Please see
# http://httpd.apache.org/do
#
EnableSendfile off
Strange? This feature uses the TransmitFile() API in Winsock2 (an MS extension) which should imply that a service pack or new Winsock DLL should clear the problem? Unless of course there is a thread conflict problem since the data transfer is taking place in OS space and this locks all threads out thereby causing a request time-out with incomming connections. This would imply Apache 1.3.x enable on, 2.0.x off!
Is your web site slow?
Have you installed the lastest XP service pack? I though I saw one go past me the other day! (I get soooooooo many disks from our MS Universal Subscription I just have time to file them away but not look at them ;) )
I'd actually turn the KeepAlive on. This option is very useful if you have web pages which use script and graphics. The socket connection is kept and reused until all script and graphics has been loaded. Otherwise we are making a new connection every time and this is where we are getting time outs.
"BigRat, do you suggest that I download a new Winsock dll?"
I'd at least investigate if the version installed is the same version as what MS offers as "lastest version". Just in case.
Sounds good. I'll reconfigure that when I get home tonight.
And no, I don't really think my web site is slow, but that raises another question. Sometimes Apache refuses to put out small "verification" images I have on my site. These are just small, 10kb images with a single letter in them (dynamically generated). The site can sit there and try to load this image for minutes and never get there. I don't know if this is related or not. However, I'm running on business class cable, so I don't think this should be a problem.
I'll check the latest Winsock version when I get home as well, just to make sure everything is up to date. Is this where the AcceptEx() function is located?
It's just the one graphic, and eventually it gets the "red x", if it doesn't load. Sometimes it loads after a good minute or so, though.
Also, I checked my winsock version last night, and when I tried to post a message about it, EE crashed. Anway, I'm on version 3.10.xxxx something, and I'm thinking that this is the latest version for *my* OS (XP Pro), there is a verion 4.9 or so out. (I don't remember the exact numbers).
The image file is made dynamically in php before the page is served. It gets a random name, and is put into a certain directory.
Also... users have been complaining of a "Page Cannot be Displayed", or "You are not authorized to view this page" error. I'm thinking that these errors are connected somehow.
Note that this was an Apache bug, and has been "fixed" ala 2.0.49:
Win32: Add Win32DisableAcceptEx directive. This Windows NT/2000/XP directive is useful to work around bugs in some third party layered service providers like virus scanners, VPN and firewall products, that do not properly handle WinSock 2 APIs. Use this directive if your server is issuing AcceptEx failed messages.
Bug location:
http://issues.apache.org/b
Business Accounts
Answer for Membership
by: Big_Red_DogPosted on 2003-07-08 at 01:39:17ID: 8875364
See these links:
om/?kbid=3 25487
om/?kbid=3 21733
http://support.microsoft.c
http://support.microsoft.c