Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: Apache error log flooded with AH00035 and AH00127 errors |
|
Author |
|
cbj4074
Joined: 02 Nov 2012 Posts: 24 Location: United States
|
Posted: Wed 07 Nov '12 18:02 Post subject: Apache error log flooded with AH00035 and AH00127 errors |
|
|
I see entries like the following in Apache's error log whenever I simulate a relatively heavy load with highly-concurrent requests (e.g., by holding-down the browser's Refresh key):
Code: |
[Wed Nov 07 09:51:20.924342 2012] [core:error] [pid 824:tid 1056] (OS 32)The process cannot access the file because it is being used by another process. : [client fe80::1ddc:6806:70b6:8546:63916] AH00035: access to /project/ denied (filesystem path 'C:/Users/User/Documents/Apache/project') because search permissions are missing on a component of the path, referer: https://localhost/
[Wed Nov 07 09:51:22.823451 2012] [core:error] [pid 824:tid 1052] (OS 32)The process cannot access the file because it is being used by another process. : [client fe80::1ddc:6806:70b6:8546:63924] AH00127: Cannot map GET /project/js/jquery.accordion.js HTTP/1.1 to file, referer: https://localhost/project/
|
These errors still occur under "normal" browsing conditions, although far less frequently than they do when I "hammer on the page".
This happens with Apache 2.2 and 2.4, as well as with every recent, major version of PHP (5.2, 5.3, and 5.4).
The requests in the log excerpts above are to PHP files that use PHP's require() function liberally. The URLs are mapped to PHP files using Apache's mod_rewrite module (and the QSA flag, in particular), coupled with internal application logic.
While the entries do not correspond directly, at about the time that these errors appear in Apache's error log, similar, related errors appear in PHP's error log:
Code: |
[07-Nov-2012 10:24:40] PHP Warning: require(C:/Users/User/Documents/Apache/project/protected/constants.inc.php): failed to open stream: No such file or directory in C:\Users\User\Documents\Projects\My Project\my-project\trunk\public\include\global.inc.php on line 18
[07-Nov-2012 10:24:40] PHP Stack trace:
[07-Nov-2012 10:24:40] PHP 1. {main}() C:\Users\User\Documents\Projects\My Project\my-project\trunk\public\auxiliary\css.php:0
[07-Nov-2012 10:24:40] PHP 2. require() C:\Users\User\Documents\Projects\My Project\my-project\trunk\public\auxiliary\css.php:5
[07-Nov-2012 10:24:40] PHP Fatal error: require(): Failed opening required 'C:/Users/User/Documents/Apache/project/protected/constants.inc.php' (include_path='.;C:\Program Files\php\includes;C:\Program Files\php\PEAR\pear') in C:\Users\User\Documents\Projects\My Project\my-project\trunk\public\include\global.inc.php on line 18
[07-Nov-2012 10:24:40] PHP Stack trace:
[07-Nov-2012 10:24:40] PHP 1. {main}() C:\Users\User\Documents\Projects\My Project\my-project\trunk\public\auxiliary\css.php:0
[07-Nov-2012 10:24:40] PHP 2. require() C:\Users\User\Documents\Projects\My Project\my-project\trunk\public\auxiliary\css.php:5
|
The file that is being passed to require() does exist on the filesystem. And the particular file that fails to be required changes sporadically.
The bottom line seems to be that something -- whether a third-party program/utility or Apache itself -- is causing files on the filesystem to be read-locked sporadically.
I am able to reproduce this issue in Windows' Safe Mode, too, which seems to eliminate many potential causes, like virus scanner, filter drivers, etc.
I am also able to reproduce this issue on a second, similarly-configured workstation.
Might anyone have any thoughts on this? Thanks in advance.
EDIT TO ADD:
Could the observed behavior be related to using Apache's "worker" MPM, instead of the older, more stable "prefork" MPM? |
|
Back to top |
|
cbj4074
Joined: 02 Nov 2012 Posts: 24 Location: United States
|
Posted: Wed 20 Feb '13 23:28 Post subject: |
|
|
I believe to have identified the observed behavior's cause: include() and require() calls across NTFS junction points.
I have opened a PHP bug report: https://bugs.php.net/bug.php?id=63413 .
Case closed (for now). |
|
Back to top |
|
|
|
|
|
|