Bug #55029

Class Loader fails if entry in class cache is discarded

Added by Helmut Hummel about 6 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
Start date:
2014-01-15
Due date:
% Done:

0%

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

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 TYPO3 Core - Task #54990: ClassLoader cache ist too slow, no matter which CF Backend is used Closed 2014-01-14
Related to TYPO3 Core - Bug #55099: PHP Warnings after clearing configuration cache in BE Closed 2014-01-17
Related to TYPO3 Core - Bug #54906: Fatal error: Interface 'Psr\Log\LoggerInterface' not found Closed 2014-03-12 2014-03-12
Related to TYPO3 Core - Task #54984: "Clear all caches" makes the site unavailable for several seconds Closed 2014-01-14
Related to TYPO3 Core - Bug #54004: Extension checker does not use the autoloader? Closed 2013-11-27

History

#1 Updated by Helmut Hummel about 6 years ago

  • Status changed from New to Accepted

#2 Updated by Alexander Opitz almost 6 years 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 Benni Mack over 4 years ago

  • Status changed from Accepted to Closed

Also available in: Atom PDF