Bug #60760
Race condition during system cache flush
Status: | Needs Feedback | Start date: | 2014-08-04 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | - | % Done: | 0% |
|
Category: | Package Manager | Spent time: | - | |
Target version: | 7.4 (Backend) | |||
TYPO3 Version: | 6.2 | Is Regression: | No | |
PHP Version: | Sprint Focus: | |||
Complexity: | medium |
Description
TYPO3 6.2.4
When flushing the system cache there seems to be a time frame for a race condition. This can lead to different "class/interface not found" errors.
Steps to reproduce:
Use apache benchmark to start multiple concurrent requests, e.g.:
ab -n 100 -c 10 http://typo3dev.localhost/
While ab is running, flush the system cache in the backend. Now, reload the frontend to see some kind of error, e.g.:
Fatal error: Interface 'Psr\Log\LoggerInterface' not found in /home/ahense/src/TYPO3.CMS/typo3/sysext/core/Classes/Log/Logger.php on line 24
This works almost every time. For somewhat faster computers you might want to increase ab to -n 500 and -c 20.
The frontend only works again after flushing the system cache once more.
The problem seems to be a race condition which occurs when the frontend is being rendered while the system cache flushing process is still in progress. The system cache flushing does not correctly lock other calls to prevent the construction of a broken cache.
Related issues
History
#1 Updated by Mathias Schreiber 6 months ago
- Target version set to 7.3 (Packages)
#2 Updated by Alexander Opitz 6 months ago
Hi,
is this issue reproduceable with a newer version of TYPO3? Namely the latest 6.2.9.
#3 Updated by Alexander Hense 6 months ago
is this issue reproduceable with a newer version of TYPO3? Namely the latest 6.2.9.
I have just tried it again multiple times with a TYPO3 6.2.9 system using exactly the steps I initially described. The result is the same.
#4 Updated by Alexander Opitz 6 months ago
- Category set to Package Manager
- Status changed from New to Needs Feedback
- Complexity set to medium
Hmmm ok, so I like to know something more about your system.
Windows or Unixoid? If Unixoid, what is the filesystem on which typo3temp exists? And can you check if in typo3temp/locks a file is created and removed (thats the lock file which should prevent your mentioned race condition)?
#5 Updated by Camelia M 6 months ago
same issue here. typo3 6.2.9 on linux
I have a lock file created today (around the time the clear cache was made). the log did not get removed. not even at log out
#6 Updated by Alexander Opitz 6 months ago
Hi Camelia,
on which type of filesystem does your typo3temp exists?
#7 Updated by Benjamin Mack about 1 month ago
- Target version changed from 7.3 (Packages) to 7.4 (Backend)