Bug #54476

Unknown Exception in Caching framwork

Added by Jan-Erik Revsbech over 5 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Caching
Target version:
-
Start date:
2013-12-17
Due date:
% Done:

0%

TYPO3 Version:
6.2
PHP Version:
5.4
Tags:
Complexity:
medium
Is Regression:
No
Sprint Focus:

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?

History

#1 Updated by Philipp Gampe over 5 years ago

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.

#2 Updated by Martin Holtz over 5 years ago

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

#3 Updated by Franz Holzinger almost 5 years ago

  • 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

#4 Updated by Christian Kuhn almost 5 years ago

ping. should get fixed if this exception is missing in default requires during early bootstrap.

#5 Updated by David Zschille over 4 years ago

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.

#6 Updated by Christian Kuhn over 4 years ago

  • 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.

#7 Updated by Riccardo De Contardi over 4 years ago

current release is 6.2.12... can this be closed then? Or have someone experienced this again?

#8 Updated by Alexander Opitz about 4 years ago

  • 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