Bug #55029
Class Loader fails if entry in class cache is discarded
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
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