Bug #55029

Class Loader fails if entry in class cache is discarded

Added by Helmut Hummel over 7 years ago. Updated almost 6 years ago.

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

0%

Estimated time:
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 usedClosed2014-01-14

Actions
Related to TYPO3 Core - Bug #55099: PHP Warnings after clearing configuration cache in BEClosed2014-01-17

Actions
Related to TYPO3 Core - Bug #54906: Fatal error: Interface 'Psr\Log\LoggerInterface' not foundClosedAlexander Opitz2014-03-122014-03-12

Actions
Related to TYPO3 Core - Task #54984: "Clear all caches" makes the site unavailable for several secondsClosed2014-01-14

Actions
Related to TYPO3 Core - Bug #54004: Extension checker does not use the autoloader?ClosedNicole Cordes2013-11-27

Actions
#1

Updated by Helmut Hummel over 7 years ago

  • Status changed from New to Accepted
#2

Updated by Alexander Opitz about 7 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 almost 6 years ago

  • Status changed from Accepted to Closed

Also available in: Atom PDF