Bug 21425

Summary: AcceptEx failed [semaphore timeout period has expired]
Product: Apache httpd-2 Reporter: Anthony <f61wz1i02>
Component: PlatformAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED INVALID    
Severity: normal CC: aaronw, acottrell, anderegg, ben, dramalho, gary, HarryTuttle, maasvdberg, marc.saegesser, Marcus.Reimann, sendrecv03, Tom.Donovan, zooi
Priority: P3 Keywords: ErrorMessage
Version: 2.0.52   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
URL: http://sparky.i989.net

Description Anthony 2003-07-09 01:37:52 UTC
Here's an except from the Apache Error Log:
[Tue Jul 08 19:55:26 2003] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Tue Jul 08 19:55:26 2003] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.

I'm getting this error perpetually from Apache (about a MB worth every few 
days).  I've found upgraded drivers and settings, thinking maybe this was the 
source of my problems, but after searching online, I see that other people are 
having this problem with Apache as well, though I cannot seem to find any 
resolutions anywhere.
Comment 1 André Malo 2003-07-14 23:41:23 UTC
Do you have some firewall software or virusscanner installed?
Comment 2 Anthony 2003-07-14 23:44:00 UTC
No, I have no firewall software running.  I had Zone Alarm going for a while, 
but I stopped it, thinking maybe this was causing some problems.  The problem 
never went away, however.
Comment 3 André Malo 2003-07-15 00:04:28 UTC
Did you *uninstall* it? If not, please uninstall it completely and reboot (!)
and look if the problem persists.

Thanks!
Comment 4 Anthony 2003-07-15 00:18:35 UTC
I've done as you asked, and cleared my error log as well.  Since rebooting, 
the problem has already occured 5 times again.

Just as a note, a quick search on google also reveals other users facing this 
problem, though it's impossible to find an answer anyway.  People seem rather 
baffled about what's going on here.
Comment 5 André Malo 2003-07-15 01:10:14 UTC
Well... then I have to give up for now and leave it to a Win32 guru. Sorry :(

(are you up-to-date with your service packs?)
Comment 6 Anthony 2003-07-15 03:53:11 UTC
YES, definitely.  I update like clockwork every week.
Comment 7 Chris 2003-08-24 13:29:59 UTC
Well, just to inform you guys; it looks like it is still present in 2.0.47.  I 
am seeing this exact problem too.  If i can find my copy of Visual Studio, I 
will see if I can find anything in the source code for a tempory fix.  Then I 
will let you guys (pretty much the experts), make the needed changes, and 
validate my changes for any other possible bugs.
Comment 8 Anthony 2003-08-25 18:40:44 UTC
Thank you.  Your help is appreciated.  Hopefully whatever's going on here can 
be found and squashed.  I have even reformatted my disk drive and reinstalled 
my OS now, and this problem is still present.
Comment 9 Cliff Woolley 2003-08-31 02:25:32 UTC
*** Bug 20221 has been marked as a duplicate of this bug. ***
Comment 10 Cliff Woolley 2003-08-31 02:30:32 UTC
An interesting comment about this error message that I found in the text of bug #8325: 
 
------- Additional Comments From Will Rowe 2002-10-15 15:32 ------- 
  
  "The specified network name is no 
  longer available" ... this is a side effect of dynamic IP assignment that 
  is outside the scope of the firewall/antivirus errors.  It isn't a bug 
  but an enhancement request to handle dynamic IP assignment.  Apache doesn't 
  handle IP transitions in it's current form. 
 
  
 
Comment 11 David Ramalho 2003-09-24 12:35:12 UTC
The same bug is beeing reported on 
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23300

None the less, to stop the 'problem' I had to turn KeepAlive Off, seemed like 
the logical thing to do ... since it's keeping the connection, and the 
something happens and Apache (or Win2k) can't seem to handle it.

The other problem is my Apache keeps getting murdered from time to time for no 
aparent reason ... again, more on that in 
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23300

(don't know how to show the link ... so I got the URL, sorry)
Comment 12 Anthony 2003-10-21 23:16:04 UTC
Greetings,
Is there any way to turn off these dynamic IP assignments in the OS, or 
modifications to make to Apache to make this work properly?  I am getting half 
a million hits a day on my box now, and I believe this to be the source of the 
problem of my "Server cannot be found" errors that my users are experiencing 
more and more often.  I know this is not a problem with not having enough 
connections established as I initially thought (thinking the issues may not be 
related), because I have modified my conf to handle many connections:

KeepAlive On
MaxKeepAliveRequests 600
KeepAliveTimeout 15

<IfModule mpm_winnt.c>
ThreadsPerChild 1024
MaxRequestsPerChild  0
</IfModule>

I have messed with these settings to high heaven in hopes to fix the "cannot 
find server" error, but now I am noticing a correlation between this AcceptEx 
error and my "DNS" error.

Are there plans to implement such a feature?  If not, where do I requset that 
it be implemented?  And is there an OS modification that can be made to stop 
this error from happening without turning KeepAlive off?

Comment 13 Anthony 2003-10-21 23:24:07 UTC
Greetings again,
Turning KeepAlive off does *not* fix this issue.  It is still residing as 
consistently in the error logs as it was previously.

Thanks
Comment 14 wai-lun kwok 2003-11-15 17:29:36 UTC
I had the same problem, and I found this article, http://bugs.php.net/bug.php?
id=25570. It turns out it's a php bug (instead of apache or microsoft bug I 
previously thought.) I did the update and the error message is gone.
Comment 15 Anthony 2003-11-15 21:19:24 UTC
PHP.net does not proclaim this as a bug, and in fact suggests that it is an 
Apache config issue.  I have posted a link to this article on PHP.net.
Comment 16 Erik Abele 2003-11-28 03:40:17 UTC
*** Bug 24261 has been marked as a duplicate of this bug. ***
Comment 17 Marc Saegesser 2003-12-09 20:31:57 UTC
An additional data point.  I have several servers that do not use DHCP and do 
not have any firewall/virus scanner software installed.  The servers and the 
browser clients all reside on an internal testing network.  The servers are 
dual Xeon boxes running Win2000 Server.  

We see this message in the error.log file quite often, but so far it does not 
seem to cause problems for the clients, it just fills up the error log file.
Comment 18 Gary Penn 2003-12-10 16:39:22 UTC
Same situation here (dual PIII server, static IP, 2.0.47); no effect on the
client but the error logs are out of control.  Has anyone made progress on this?
 I reported this at ApacheCon as well to some of the developers there.
Comment 19 Tony Spencer 2004-01-02 22:45:31 UTC
I'm experiencing this bug as well.  I tried upgrading PHP to 4.3.4 which fixes 
php bug 25570 but unlike wai-lun kwok this did not fix the problem.

My site receives 20k visitors a day and as a result I'm seeing this error about 
once every 30 seconds.

WinXP Pro - fully up to date with SP's
Apache 2.0.47
PHP 4.3.4
Comment 20 Tony Spencer 2004-01-02 22:47:41 UTC
In my last comments bugzilla improperly created a link to an apache bug when i 
wrote about the php bug.  The actually php bug url is:
http://bugs.php.net/bug.php?id=25570
Comment 21 David J 2004-01-03 16:17:31 UTC
I am running Apache 2.0.48 and PHP 4.3.4 on Win XP with Service Pack.
This problem has been intermittent and often ceased after 24 hurs of running. 
However since Neq Year, it is now 100% solid and the errors are logged
immediately Apache is started (within the first minute) without any preceding
server activity.
The response time of my server is now so bad that this is a severe problem.
As the problem has been reported now for over 6 months hopefully this can be
investigated.   
Windows Event Viewer is reporting nothing.


[Sat Jan 03 07:50:54 2004] [notice] Child 776: Child process is running
[Sat Jan 03 07:50:54 2004] [notice] Child 776: Acquired the start mutex.
[Sat Jan 03 07:50:54 2004] [notice] Child 776: Starting 250 worker threads.
[Sat Jan 03 07:51:29 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:51:52 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:52:14 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:52:37 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:53:00 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:53:23 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:53:44 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:54:08 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:54:30 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:54:52 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:55:15 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:55:37 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:56:01 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:56:22 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:56:44 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:57:07 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:57:28 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:57:51 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:58:12 2004] [warn] (OS 64)The specified network name is no longer
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:58:35 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:58:56 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:59:18 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 07:59:38 2004] [warn] (OS 64)The specified network name is no longer
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 08:00:02 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 08:00:23 2004] [warn] (OS 64)The specified network name is no longer
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Jan 03 08:00:45 2004] [warn] (OS 121)The semaphore timeout period has
expired.  : winnt_accept: Asynchronous AcceptEx failed.    
Comment 22 Tony Spencer 2004-01-04 01:59:29 UTC
As strange as it sounds my problems with this bug became noticable at the 
beginning of the new year as well.  I noticed a performance problem on 
01/01/2004 and found my error.log out of control and hence found this bug.
Comment 23 David J 2004-01-04 21:16:16 UTC
For some obscure reason at 11:29am (Pacific) today 1/4, the errors suddenly
ceased for no apparent reason whatsoever.
I left the Server running till just a few minutes ago  and at 1:11 pm, I
restarted the server in order to clear out the error log and no repeat of the
errors that have been experienced since New Year.
[Sun Jan 04 13:05:02 2004] [notice] Parent: Created child process 3208
[Sun Jan 04 13:05:02 2004] [notice] Child 3208: Child process is running
[Sun Jan 04 13:05:03 2004] [notice] Child 3208: Acquired the start mutex.
[Sun Jan 04 13:05:03 2004] [notice] Child 3208: Starting 250 worker threads.

Something very strange is  going on.
Comment 24 Anthony 2004-01-05 13:05:12 UTC
I seem to have found a temporary fix for this problem.  I did it a few months 
ago, and have not noted any amount of errors in the error log after a few days 
afterwards, since.

Control Panel
Network Connections
Local Area Connection: Properties
Internet Protocol (TCP/IP) - click the properties tab beneath the select box
Advanced
DNS tab
Make sure the bottom two check boxes are *unchecked* - reading "Register this 
connections addresses in DNS", and "Use this connection's suffix in DNS 
Registration"

Hope this helps.  Feedback is welcome.  When I did it, the errors didn't seem 
to go away immediately (even after restarting my box, oddly enough), but 
shortly afterwards, they ceased.


Comment 25 Tony Spencer 2004-01-06 19:51:24 UTC
Anthony,
I tried your fix and rebooted but it did not fix the bug for my server.
Comment 26 Anthony 2004-01-06 21:33:06 UTC
This may seem really awkward, but that's what happened with me as well.  I'd 
wait a couple days and see if the problem goes away.  The only explanation I 
have for it would possibly be cached DNS or something along those lines.  I'm 
not an expert in this field, however, so I cannot say that with confidence.  
The only thing I can say is that it didn't seem to make a difference for me 
initially, either, but after a couple days, the problem halted.  I will try 
enabling the service again without altering any other settings, if you like, 
to verify that the problem returns.
Comment 27 Juerg Anderegg 2004-01-12 08:31:23 UTC
We're getting those lines in the error.log as well. BUT: php isn't installed on 
the server, but Macromedia ColdFusion MX 6.1. So I don't think this to be a php 
issue. apache is 2.0.48, w2k server. I tried the 'dns-fix' from Anthony some 
days ago, without success till now. the client also noticed a performance slow-
down, this is the reason, why I found those lines in the error.log. But I'm not 
sure, whether this IS the performance problem or not.
Comment 28 Anthony 2004-01-12 16:06:30 UTC
Juerg, when you say "until now", does that mean that the issue resolved itself 
for you a few days after performing the fix?
Comment 29 Juerg Anderegg 2004-01-12 16:23:10 UTC
The server has been rebooted 2 days ago with that fix applied. But the message 
is still showing up in the log... maybe I have to wait a few more days?
Comment 30 Tony Spencer 2004-01-14 23:13:06 UTC
My server is still getting this error message 8 days after applying:

Uncheck -> "Register this connections addresses in DNS"
Uncheck -> "Use this connection's suffix in DNS Registration"
Comment 31 Anthony 2004-01-14 23:56:26 UTC
That said, I will continue to look for what may have caused the error to cease 
in my logs.  I know I made a few changes, but I was under the impression that 
it was these that corrected the error (even if a temporary fix)
Comment 32 William A. Rowe Jr. 2004-01-16 05:27:32 UTC
  I've changed the title of this report to reflect the semaphore bug, since the
  "specified network name is no longer available" bug is a duplicate bug.

  Folks, don't file duplicate bug reports, it gives us extra cr@? to slog through
  and ignore actually fixing any bugs.

  Now the semaphore bug is most interesting, I'm gonna suggest that it's internal
  to Windows, but it sure seems that the timeout on AcceptEx wasn't considering
  numerical overflow comparing 64 bit time datum.  That's why you would only see
  the bug when start and end times begin on different offsets, and appear as
  negative values.

  I'll double check the code right now that *we* don't attempt to subtract time
  delta's with insufficient precision.
Comment 33 Dan Evans 2004-01-19 17:53:59 UTC
I can reliably recreate this error ([Mon Jan 19 10:42:19 2004] [warn] (OS
121)The semaphore timeout period has expired.  : winnt_accept: Asynchronous
AcceptEx failed.) in the following situation:
Host A connected to LinkSys Router A to Internet to LinkSys Router B to Host B
Both Host A and B have home network 192.168.1.xxx addresses given to them by
DHCP with their respective routers.  Both routers get their external addresses
using DHCP from the ISP's through cable modems.  Apache 2.0.48 running in host A
on WinXP Home system (up-to-date).  Host A router set to map (NAT) port 80 to
host A.  Run a browser on host B (I do this with RealVNC to access both client
and server at the same time) and access any URL using router A external address
and port 80.  Router A log shows access to port 80 from router B's external
address.  Browser on B times out.  Error log on A shows above message.
Comment 34 aaron 2004-01-20 17:49:59 UTC
I'm also seeing the same issue.  Apache 2.0.45 on a Win2K server, internal 
department server behind corporate firewall.

[Tue Jan 20 12:33:50 2004] [warn] (720064)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Tue Jan 20 12:35:11 2004] [warn] (720064)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.

It just started in the last few weeks.  The only changes that I have made are 
to the httpd.conf

<IfModule mpm_winnt.c>
ThreadsPerChild 300
MaxRequestsPerChild 300
</IfModule>

Comment 35 Jur 2004-02-13 07:50:12 UTC
Any news on this one ? i am still having this problem !? The server runs pretty 
ok most of the time, but suddenly it goes slow. It seems to have effect on 
loading images only, textbased stuff loads pretty fast.
Comment 36 Jur 2004-02-13 07:50:40 UTC
Any news on this one ? i am still having this problem !? The server runs pretty 
ok most of the time, but suddenly it goes slow. It seems to have effect on 
loading images only, textbased stuff loads pretty fast.
Comment 37 Simon Walter 2004-02-29 21:52:30 UTC
anyone tried to disable WinSock2 API via "Win32DisableAcceptEx"?
http://httpd.apache.org/docs-2.0/mod/mpm_winnt.html#win32disableacceptex
i can't test it because my distribution from apachefriends.org doesn't list this
option
Comment 38 Rod M 2004-03-05 20:24:56 UTC
I tried the Win32DisableAcceptEx and it wouldn't work. No matter where I put 
it, I get an error.

C:\Apache2\bin>apache -k restart
Syntax error on line 110 of C:/Apache2/conf/httpd.conf:
Invalid command 'Win32DisableAcceptEx', perhaps mis-spelled or defined by a modu
le not included in the server configuration

I really need to use mod_perl, but after going live with a W2K server with 
2.0.48, this bug is driving me crazy. If it doesn't get fixed, I'll have to 
back off and run IIS on the machine. Right now, I'm getting error logs that are 
about 500KB a day and are filled with these two releated errors:

[Thu Mar 04 16:05:21 2004] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Thu Mar 04 16:05:21 2004] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Thu Mar 04 16:05:21 2004] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Thu Mar 04 16:05:21 2004] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.

Sometimes, the server goes to 50% utilization but won't respond and others it 
goes to zero and is equally comatose. I'll get the OS64 error 30 times in a 
second and then not for again for a couple minutes, sometimes ever 10 or 15 
minutes. Then it's back again. The server does about 500,000 pages a day and 
the number of errors is typically proportional to pages. It appears to get 
worse over time requiring the service to either be restarted or the server to 
be rebooted at least once a day.

Comment 39 Carl Olivier 2004-05-04 19:53:20 UTC
The Win32DisableAcceptEx option is only valid for Apache 2.0.49 and higher.  
This option definitely got rid of that problem for me and increased the 
performance of my Apache instance under load.
Comment 40 Joshua Slive 2004-05-04 20:12:21 UTC
This appears to be "fixed" (as in: a work-around for broken tcp-stacks has been
added in the Win32DisableAcceptEx directive).
Comment 41 James R. Sanders 2004-06-03 12:36:07 UTC
I am running Apache 2.0.49 and am having the SAME problems, except there is no 
mention of the semaphore bug problem. I just get [warn] (OS 64)The specified 
network name is no longer available.  : winnt_accept: Asynchronous AcceptEx 
failed. It also seems to be causing some graphic links to not show up in pages 
on localhost, and the fix Win32DisableAcceptEx IS in my httpd.conf but seems to 
do nothing to help fix the problem. I am running a win2k PII 350 box with all 
the latest windows updates installed. Are there any other possible fixes for 
this? Sorry if I posted this in the wrong area, I just noticed that this is a 
thread for winXP.
Comment 42 Jur 2004-06-14 07:52:24 UTC
Same here, it worked ok for a few weeks, but now it starts all over again. 
Images start loading very slow and the message in the log. I am running also on 
W2K with all SP's and fixes. i just went back to Apache after the latest bugs 
was fixed from some crappy webserver-software, hope I can stick with Apache now 
and a fix will appear soon.
Comment 43 jcalvi 2004-07-05 22:14:46 UTC
Yes,

also experiencing this bug without the semaphore timeout.

Occurring on Win2003 Apache 2.0.49. Happens every couple of hours. Appears to be
random, can't determine whats causing it.
Comment 44 johan 2004-07-22 14:23:28 UTC
You all speak of Apache, I am using Unison.exe for file synchronization on 
win2k and I experience the same error:

checkout url: http://group.yahoo.com/group/unison-hackers/message/223

johan
Comment 45 johan 2004-07-22 14:26:30 UTC
Sorry, should be:

http://groups.yahoo.com/group/unison-hackers/message/223

johan

Comment 46 Antonio Fraser 2004-08-13 17:34:16 UTC
I have the identical problem with 2.0.48. 

I have the DNS settings set correctly as suggested below, my patches are up to
date, there's no firewall on the machine, all of that stuff. 

This is a highly clustered system with external firewalls and switches and stuff
for a fortune 100 company, not a machine behind a DSL firewall.

I do not know if they are related, but I also see many problems with mod JK failing.
[2004] [error] ajp13.service() ajpGetReply recoverable error 120000
[Thu Aug 12 16:30:21 2004][error]ajp13.service() ajpGetReply recoverable error 3
[Thu Aug 12 16:30:21 2004][error]ajp13.service() ajpGetReply recoverable error 3
Comment 47 Guillaume Boudreau 2004-09-07 13:20:56 UTC
http://support.microsoft.com/?kbid=325487

Quote:

The most common causes for connectivity problems are:

* Network adapters and switch ports have mismatching duplex levels or transfer
speed settings.
* Network adapters or switches with transmission rates of 10/100 megabits per
second (Mbps) do not switch over correctly. Some autosense settings may not
correctly detect the speed of some network adapters.
* The network adapter is incompatible with the motherboard or other hardware or
software components and drivers.

Typical error messages include the following:

Error 55: "The specified network resource is no longer available"
(ERROR_DEV_NOT_EXIST).

Error 64: "The specified network name is no longer available"
(ERROR_NETNAME_DELETED).

Error 121: "The semaphore timeout period has expired" (ERROR_SEM_TIMEOUT).

Error 1231: "The remote network is not reachable by the transport"
(ERROR_NETWORK_UNREACHABLE).
Comment 48 Eduard 2004-09-23 23:42:44 UTC
I had the same problem. This error:
(OS 64)De opgegeven netwerknaam is niet langer beschikbaar.  : winnt_accept:
Asynchronous AcceptEx failed.

Since there was no solution yet, I completely reinstalled my server (had to be
done anyway) and now use IIS 5.0 (on W2K)

But now the problem remains. I have to stop and start the server just as with
apache (2.0.48)...!!

Could this problem be generated by a hardware problem (eg. networkcard) just as
the last post suggests? FTP and a counterstrike server are running fine though,
no indication of any problems.
Comment 49 Eduard 2004-09-28 19:12:15 UTC
I replaced some hardware (now 4 days ago), already planned it so no financial
harm done...

Replaced a (3-year-old) Realtek based networkcard with a 3Com
Replaced the UTP cable (and put it in another port on the switch)
Replaced mem from 256MB noname to 512MB corsair (don't think that did the trick
though, just being complete)

The problem is gone now, so it seemed indeed an hardware problem... hope this
helps for you all too!
Comment 50 anneb 2004-11-04 16:07:19 UTC
We had the above problem combined with quite low response times.

We upgraded to version 2.0.49 
AND 
added the following line httpd.conf:

Win32DisableAcceptEx

After this the problem was solved.
From the discussion I got the impression that some of you forgot to update
httpd.conf after upgrading.
Comment 51 Michael Huang 2005-01-12 00:48:30 UTC
Has the sephamore timeout/AcceptEx failed error problem been solved?

My machine is window 2k pro, fully patched.

I was running Apache 2.0.43 succesfully for many many months when I first 
started noticing sporadic slow performance.  There were boughts where pictures 
and PDF files would be served out extremely slowly or not at all.  I checked 
the error logs and found some sephamore timeout/acceptex errors scattered 
throughout.  These boughts lasted from several seconds to several minutes, but 
then magically fixed themselves (no restarting or doing anything to the server).

The problem suddenly got worse and and the server became nearly useless 
(boughts of slowness became longer than boughts of normal performance).  I 
upgraded to 2.0.52 a few days ago, which for some reason first seemed to have 
fixed the problem.  But then I realized that the problem was simply REDUCED, 
not eliminated.  The boughts of ultra-slow performance are less severe and less 
common than before, but are still occurring regularly.   I have not seen the 
sephamore message since, but the AcceptEx Failed message still appears 
sporadically.  

After tons of testing, I have gotten nowhere.  It does not seem that the 
writing of the acceptex error messages coincide with the boughts of slow server 
performance.  In fact, I'm not sure that these two problems are even related.  
I have no idea what is triggering the acceptex errors to write to the error 
log - I can find nothing in the access log that looks unusual. 

Adding "Win32DisableAcceptEx" to http.conf has not fixed the problem.

The previous post suggests that hardware issues (network card) might be at 
fault.  But all other connections to/from this machine seem fine.  

I see many posts above are from long ago- Did you resolve, and if so, how??
Comment 52 Tim 2005-01-13 17:26:05 UTC
I have a 2.5 GHZ server with 3 different network cards.
Apache 2.0.52 is installed on a Windows 2000 advanced server (surly, without 
installing the IIS). The server is fully patched and optimized with many 
different tools. It runs fast and accurate like a Swiss watch. It serves about 
20 GB a day upstream.
I also get those errors:

1) winnt_accept: Asynchronous AcceptEx failed
2) The semaphore timeout period has expired.
3) The specified network name is no longer available.
4) Acquired the start mutex.

I have tried all ways to stop those warnings with no success.
The server runs ok so, slowly I'm getting use to them.
I just ignore them but it would be grates help if there was an option adding it 
into the .conf file to disable those warnings and filling up the error log with 
them.




Comment 53 Michael Huang 2005-01-20 17:44:28 UTC
to follow up, i was WRONG when I said that I was still getting the AcceptEx 
error message even after adding the Win32DisableAcceptEx to http.conf.  I now 
no longer get the sephamore message or the AcceptEx message.  

However, the random instances of slow performance continue even after upgrading 
to 2.0.52 (images load very slowly or not at all).  The last one lasted about 2 
minutes and then magically fixed itself.  
Comment 54 Michael Huang 2005-02-01 20:20:38 UTC
This is Michael again - I would like to report that this problem(s) has 
resolved for me.

No more Acceptex or Sephamore timeout errors in the error log.  No more random 
instances of super-slow server performance.

To reiterate - this is a win 2k pro machine that ran Apache 1.3 and then 2.0.4x 
just great for about 2 years.  Then the sephamore and acceptex errors started 
appearing in the log, and sporadically the server would slow to a crawl.  The 
errors in the log did not appear to coincide with the bouts of slow server 
performance.  Eventualy, the server was crawling many many times a day and was 
almost unusable.

Upgrading apache to 2.0.52 made the server usuable again, but still struggled 
with random occurances where the server would slow to a crawl for no apparent 
reason and remain like that for minutes at a time, then magically fix itself.  
Adding Win32DisableAcceptEx removed the error messages from the log, but did 
not improve performance.

After adding the following to my conf file, the problems are now gone.  Apache 
is now running perfectly again:

EnableSendfile Off 
enablemmap Off

I did not upgrade any hardware.  I did not find any spyware or viruses or 
change any settings with my virus software.  The only thing I did was add the 
two lines above.
 
I understand that these two lines are only useful for Apache installed on 
Windows machines.  I have little clue why the server ran super for 2 years 
without these lines, why adding these lines fixed the problem, or why the above 
two lines helped now -  maybe my Windows 2k just got glitchy over time, or 
maybe one of the microsoft patches affected some network setting somewhere.  
Any apache/windows gurus want to offer some insight?

Regardless, the Apache problem is gone and I'm a happy camper again.










Comment 55 David Koudys 2005-02-14 21:21:12 UTC
From the top--
I've been running various incarnations of Apache 2.0 on a Compaq DeskPro EN6300 
box using Win2K Pro.  Apache ran flawlessly for a few years.
3 weeks ago I changed my hardware to a PC clone--P3-450 Ghz with a 3Com 10/100 
3C905 NIC.  Basically formatted the hard drive in the system and installed W2K 
Server from scratch.  Patched it completely using Windows Update and installed 
Apache 2.0.52.  Used the same http.conf file from my old web server.
What appeared to be an Apache lockup happened daily, at sporadic times.  
Couldn't peg it and had the log file full of the semaphore errors listed.
Added the 

Win32DisableAcceptEx

which got rid of the errors, but Apache still sporadically just stopped 
accepting requests.
Was almost to the point of turnign on my old server when I saw this above

EnableSendfile Off 
enablemmap Off

Added both to the http.conf file 5 days ago. It may be too early to say but 
Apache hasn't stopped yet.  I have no idea what those two settings are, but 
they appear to work at this time

Thanks for the support given in this thread!
Comment 56 Acerola 2005-02-26 20:19:02 UTC
I just got a brand new server at servermatrix yesterday:

Celeron 2.4
Windows 2003 standart
Apache 2.0.53
PHP 4.3.10
eAccelerator (latest CVS)

Today I got on my log:

[Sat Feb 26 12:27:16 2005] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:30:00 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:36:00 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:50:29 2005] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:50:32 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:50:32 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:50:38 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 12:50:41 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 13:29:59 2005] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 13:29:59 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 13:32:34 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 13:36:52 2005] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 13:37:03 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sat Feb 26 13:38:57 2005] [warn] (OS 64)The specified network name is no longer 
available.  : winnt_accept: Asynchronous AcceptEx failed.

The server today was completely frozen after that. No response at all. I tried 
restarting. No effect. I stopped and started it and it came back online.

There were also 5 log entries like this:

[Sat Feb 26 01:53:08 2005] [crit] [Sat Feb 26 01:53:08 2005] file C:
\\asf-build\\build-2.0.53\\server\\mpm\\winnt\\child.c, line 1074, assertion 
"(rv >= 0) && (rv < threads_created)" failed

I am gonna try the solution provided above.
Comment 57 demetrio 2005-03-03 15:26:59 UTC
Thanks boys i just added this parameters 
EnableSendfile Off 
enablemmap Off

and everything works fine
Comment 58 Jon Block 2005-03-14 21:10:15 UTC
I have Apache 2.0.52 and CFMX Version: 6,1,0,63958. I am able to reproduce this 
error when my server is running in production and I programatically delete a 
bunch of files and try to recreate them in web root while the server is trying 
to serve the files out to web browser clients. It seems like the server is 
saying "The specificed network name is not longer available." seems to mean "I 
thought there was a file in this particular location but when I tried to serve 
it out, it wasn't there."

??
Jon
Comment 59 Pavel Rubin 2005-04-27 11:41:16 UTC
This solution (Win32DisableAcceptEx, EnableMMAP Off, EnableSendfile Off ) had 
also worked fine for me, but now I have 
FATAL:  erealloc():  Unable to allocate 98304 bytes
errors... (There is more than 2Gb RAMon this server and only about 700 Mb are 
used, so there is no chance that there is no free memory.)
Also there were 
FATAL:  emalloc():  Unable to allocate 2 bytes
once.
Comment 60 Pavel Rubin 2005-04-27 14:27:53 UTC
I have decreased ThreadsPerChild setting from 350 to 170 and this erealloc() 
error dissapeared.
Comment 61 Jay 2005-08-04 19:53:01 UTC
WinXP SP2, with Apache 2.0.54. EnableSendfile Off enablemmap Off included in my
config. Still getting  winnt_accept: Asynchronous AcceptEx failed.

However, it is only when ONE speicifc IP address attempts to access my website.
I only have 2 or three hits a day for different IP's with no error. Being able
to narrow this down to a single incoming IP may help identify the problem.  Any
suggestions on logs I should have enabled?


Jay
Comment 62 xam 2005-10-16 07:32:25 UTC
Winxp sp2, No Antivirus, Only Windows Firewall running.
Apache 2.0.54, Mod ssl 2.0.54, OpenSLL 0.9.8, PHP 5.05, Mysql 4.1.15

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



KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
##

# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum  number of requests a server process serves
<IfModule mpm_winnt.c>
    ThreadsPerChild 250
    MaxRequestsPerChild  0
</IfModule>


What's wrong ??


[Sun Oct 16 03:26:53 2005] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:26:53 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:26:53 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:26:53 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:26:53 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:28:31 2005] [warn] (OS 121)The semaphore timeout period has 
expired.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:28:31 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:28:31 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[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: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.
[Sun Oct 16 03:36:36 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:39:34 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 03:56:00 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.
[Sun Oct 16 04:15:50 2005] [warn] (OS 64)The specified network name is no 
longer available.  : winnt_accept: Asynchronous AcceptEx failed.

Comment 63 Julian Lam 2007-08-27 08:01:06 UTC
I have this bug as well... applying Win32DisableAcceptEx, EnableMMAP Off, and
EnableSendfile Off had the remarkable effect of working, except then my server
crashed every couple hours with the error -1... or a large number starting with 4.
Comment 64 William A. Rowe Jr. 2007-12-21 20:11:21 UTC
Do not troubleshoot your windows socket stack problems on bugzilla, it's for
reporting bugs in the source code.

Apply the recommended EnableSendfile off / EnableMMAP off / Win32DisableAcceptEx.

If this does NOT solve your issue on a MODERN version of httpd, ask the peer
user support list, not bugzilla.

Even your network adapter driver could be the buggy driver, it's just not
our priority to work out the garbage coded by vendors sitting on your PC.