[TYPO3-mvc] New caching issue 4.6.1: injectCacheFactory()

g4-lisz at tonarchiv.ch g4-lisz at tonarchiv.ch
Sun Nov 27 16:55:23 CET 2011


On 27.11.2011 15:36, Stefan Neufeind wrote:
> On 11/27/2011 03:14 PM, g4-lisz at tonarchiv.ch wrote:
>> hi there,
>>
>> after moving from Typo3 4.5. to Typo3 4.6.1 because of a caching issue
>> with extbase, we now get another error message from time to time:
>>
>> Warning: Attempt to assign property of non-object in
>> /var/www/typo3_src-4.6.1/t3lib/cache/class.t3lib_cache_factory.php on
>> line 64 Warning: Attempt to assign property of non-object in
>> /var/www/typo3_src-4.6.1/t3lib/cache/class.t3lib_cache_factory.php on
>> line 65 Fatal error: Call to a member function injectCacheFactory() on a
>> non-object in
>> /var/www/typo3_src-4.6.1/t3lib/cache/class.t3lib_cache_factory.php on
>> line 66
>>
>> i'm not sure if this is still extbase/fluid related.
>>
>> any help would be much appreciated!
> Hi,
>
> judging from the error-message this is related to commit
> b36b630287851f2cf0eaf2d658457c4a85b11de7 which says:
>
>      [TASK] Update caching framework to latest FLOW3 version
>
> which is change-id Ib1be85fbbe0cb198201fb09bbdb9f9e42c097d35
> http://review.typo3.org/1722
>
> Until then the solution was to call the constructor with one variable
> for the cache-manager and now it's two (a new $context was added as
> first parameter).
>
> https://review.typo3.org/#patch,sidebyside,1722,10,t3lib/cache/class.t3lib_cache_factory.php
>
> Could you please check from where the constructor is called in your
> case? As a quick solution maybe tree to check $cacheManager with is_a()
> for being a "t3lib_cache_Manager" and if not (or if it's null?) get a
> backtrace to see from where and how the cache-factory is called.
>
>
> The singleton is usually instanciated at:
>
> t3lib/class.t3lib_cache.php:
> $GLOBALS['typo3CacheFactory'] =
> t3lib_div::makeInstance('t3lib_cache_Factory', 'production',
> $GLOBALS['typo3CacheManager']);
>
>
> Please check if there is this 'production'-setting for you of if for
> some strange reason your cache-singleton is constructed somewhere else
> (which imho it shouldn't).
>
>
> Good luck,
>   Stefan Neufeind
hi stefan,

thanks for your reply!

i put this now, i hope that's what you meant:
      63         public function __construct($context, 
t3lib_cache_Manager $cacheManager) {
      64                 if ($cacheManager == NULL || (! 
is_a($cacheManager, 't3lib_cache_Manager'))) {
      65                         debug_print_backtrace();
      66                 }

as soon as i get a backtrace, i will post it here.

cheers,
till


More information about the TYPO3-project-typo3v4mvc mailing list