Bug #55029

Class Loader fails if entry in class cache is discarded

Added by Helmut Hummel over 1 year ago. Updated 19 days ago.

Status:Closed Start date:2014-01-15
Priority:Must have Due date:
Assigned To:- % Done:

0%

Category:- Spent time: -
Target version:6.2.0
TYPO3 Version:6.2 Is Regression:No
PHP Version: Sprint Focus:
Complexity:

Description

Steps to reproduce:

  • rm -rf typo3temp/Cache/
  • do a (e.g. FE-) request to populate caches
  • rm typo3temp/Cache/Data/cache_classes/psr_log_loggerinterface

After that you get a fatal error for every request.

This is the case because autoload registry and aliases only populate this cache if the package states change.
Having a volatile cache for cache_classes (like memcache or APC) will sooner or later lead to a fatal error, which is not acceptable.

Idea: Introduce a two level cache for cache_classes that has persistent (file) second level cache and a potentially volatile and fast first level cache.


Related issues

related to Core - Task #54990: ClassLoader cache ist too slow, no matter which CF Backen... Resolved 2014-01-14
related to Core - Bug #55099: PHP Warnings after clearing configuration cache in BE Resolved 2014-01-17
related to Core - Bug #54906: Fatal error: Interface 'Psr\Log\LoggerInterface' not found Resolved 2014-03-12 2014-03-12
related to Core - Task #54984: "Clear all caches" makes the site unavailable for several... Closed 2014-01-14
related to Core - Bug #54004: Extension checker does not use the autoloader? Resolved 2013-11-27

History

#1 Updated by Helmut Hummel over 1 year ago

  • Status changed from New to Accepted

#2 Updated by Alexander Opitz over 1 year ago

The described problem is for every Aliased class.

Non aliased classes can be loaded and the cache entry is regenerated, but if there are aliases for this class they don't get saved into the cache file, this information got lost and can lead to problems with "instanceof" code parts.

But the problem is very hard and this over 2000 class aliases costs us much time. :-(

#3 Updated by Benjamin Mack 19 days ago

  • Status changed from Accepted to Closed

Also available in: Atom PDF