Bug #54476
closed
Unknown Exception in Caching framwork
Added by Jan-Erik Revsbech almost 11 years ago.
Updated about 9 years ago.
Description
While debugging af problem with a typo 6.2-beta2 sites (also tried with master), I stumbled upon this error in my server logs
PHP Fatal error: Class 'TYPO3\\CMS\\Core\\Cache\\Exception' not found in /usr/local/src/typo3/typo3_src-6.2.0beta2/typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php on line 241
The problems is that if there is an error writing the cache files in SimpleFileBackend (thats the problem I am investigating), SimpleFileBackend tries to throw a new \TYPO3\CMS\Core\Cache\Exception which results in an error because the Exception is not loaded due to the CloassLoader cache being deleteded!
I'm not sure what the best way to solve this is. Either we throw a regular \Exception, we require the file manually if it is not defined, or we alter the classloader to somehow handle this edge-case? Any suggestions?
This must be a bug in the bootstrap. Normally, the bootstrap requires all files (manually) which are need for the caching framework.
Either this class is missing or we somehow include them too late.
I had the same issues with the folling errors:
Warning: file_put_contents(/typo3/typo3temp/Cache/Code/cache_classes/52d7e0f05f611.temp) [function.file-put-contents]: failed to open stream: No such file or directory in /html/typo3/typo3_src-6.2.0beta2/typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php on line 238
Warning: file_put_contents(/typo3/typo3temp/Cache/Code/cache_classes/52d7e0f05f795.temp) [function.file-put-contents]: failed to open stream: No such file or directory in /html/typo3/typo3_src-6.2.0beta2/typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php on line 238
Fatal error: Class 'TYPO3\CMS\Core\Cache\Exception' not found in /typo3/typo3_src-6.2.0beta2/typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php on line 241
- Target version set to next-patchlevel
This bug is still present in TYPO3 6.2.5.
[20-Oct-2014 19:01:00 Europe/Berlin] PHP Fatal error: Class 'TYPO3\CMS\Core\Cache\Exception' not found in /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Cache/Backend/SimpleFileBackend.php on line 241
[20-Oct-2014 19:01:00 Europe/Berlin] PHP Stack trace:
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 1. {main}() /home/user/public_html/typo3_src-6.2.5/typo3/tce_db.php:0
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 2. require() /home/user/public_html/typo3_src-6.2.5/typo3/tce_db.php:23
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 3. TYPO3\CMS\Core\Core\Bootstrap->initializeBackendAuthentication() /home/user/public_html/typo3_src-6.2.5/typo3/init.php:59
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 4. TYPO3\CMS\Core\Authentication\BackendUserAuthentication->backendCheckLogin() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/Bootstrap.php:995
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 5. TYPO3\CMS\Core\Authentication\BackendUserAuthentication->fetchGroupData() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php:2342
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 6. spl_autoload_call() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php:1373
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 7. TYPO3\CMS\Core\Core\ClassLoader->loadClass() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php:0
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 8. TYPO3\CMS\Core\Core\ClassLoader->buildCachedClassLoadingInformation() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:169
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 9. TYPO3\CMS\Core\Core\ClassLoader->acquireLock() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:232
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 10. TYPO3\CMS\Core\Core\ClassLoader->getLocker() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:707
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 11. spl_autoload_call() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:751
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 12. TYPO3\CMS\Core\Core\ClassLoader->loadClass() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:0
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 13. TYPO3\CMS\Core\Core\ClassLoader->buildCachedClassLoadingInformation() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:169
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 14. TYPO3\CMS\Core\Cache\Frontend\StringFrontend->set() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:248
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 15. TYPO3\CMS\Core\Cache\Backend\SimpleFileBackend->set() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Cache/Frontend/StringFrontend.php:50
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 16. spl_autoload_call() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Cache/Frontend/StringFrontend.php:241
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 17. TYPO3\CMS\Core\Core\ClassLoader->loadClass() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Cache/Frontend/StringFrontend.php:0
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 18. TYPO3\CMS\Core\Core\ClassLoader->buildCachedClassLoadingInformation() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:169
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 19. TYPO3\CMS\Core\Cache\Frontend\StringFrontend->set() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Core/ClassLoader.php:248
[20-Oct-2014 19:01:00 Europe/Berlin] PHP 20. TYPO3\CMS\Core\Cache\Backend\SimpleFileBackend->set() /home/user/public_html/typo3_src-6.2.5/typo3/sysext/core/Classes/Cache/Frontend/StringFrontend.php:50
ping. should get fixed if this exception is missing in default requires during early bootstrap.
We see this bug once a month in our logs. In TYPO3 we have a scheduler job running which clears the cache daily. And once a month this doesn't seems to work correct: the website FE page is blank and in the PHP error log we see always something like
[08-Jan-2015 17:01:00 Europe/Berlin] PHP Fatal error: Class 'tx_kesearch_lib' not found in /usr/www/htdocs/typo3conf/ext/ke_search/pi1/class.tx_kesearch_pi1.php on line 32
or
[22-Dec-2014 12:00:01 Europe/Berlin] PHP Fatal error: Class 'Tx_Extbase_Utility_Extension' not found in /usr/www/htdocs/typo3conf/ext/news/ext_localconf.php on line 11
Going in the BE and clearing the cache manually solves the problem.
- Status changed from New to Needs Feedback
This should be solved with the composer autoloader in 6.2.10 and should no longer be reproducible. We'll close this issue a while after 6.2.10 release if no further "this is broken" reports come in.
current release is 6.2.12... can this be closed then? Or have someone experienced this again?
- Status changed from Needs Feedback to Closed
- Target version deleted (
next-patchlevel)
No feedback within the last 90 days => closing this issue.
If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.
Also available in: Atom
PDF