|
Support
|
kb8040201 - Apache error - An operation on something that is not a socket
|
|
Symptoms
When looking at the error log file of the Apache Web Server, you may notice that the file is growing constantly. Opening the error.log file you should find a line as following:
[error] (OS 10038)An operation was attempted on something that is not a socket. : Child 5364: Encountered too many errors accepting client connections. Possible causes: dynamic address renew, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.
Cause
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().
For more information, please consult Apache Documentation.
Resolution
You should use this directive to disable the use of AcceptEx() and to do so, follow this short procedure:
- Turn off the Apache Web server
- Select Start/Run.
- Type net stop Apache2 and press Enter.
- Edit the Apache configuration file
- Select Start/Run .
-
Type notepad c:\progra~1\apache~1\apache2\conf\httpd.conf and press Enter.
Note: The Apache installation path may differ if you choose a different path during installation. - Insert the new directive
- Locate the line Listen 80.
Note: where 80 is the default listening port and could be different if you specified so when installing. - Append a new line just after the Listen 80 directive.
- Insert the following directive: Win32DisableAcceptEx
Note: Apache is case sensitive, be sure to type the directive as it is. - Delete the access log file (facultative)
-
Locate the C:\Program Files\Apache Group\Apache2\Log\Error.log file in Windows Explorerand delete it.
Note 1: The Apache installation path may differ if you choose a different path during installation. - Turn the Apache Web server on
- Select Start/Run .
- Type net start Apache2 and press Enter.
To verify if the procedure succeeded, you could have a look at the folder C:\Program Files\Apache Group\Apache2\Log; there should be the error.log file but it should not be growing anymore.
Note: The Apache installation path may differ if you choose a different path during installation.
Applies To
Apache 2.0.x
Printable Version