Project

General

Profile

Actions

Bug #51092

closed

Cache file access problems in the backend - warnings, notifications and exceptions

Added by Tobias Klepp over 10 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Caching
Target version:
-
Start date:
2013-08-15
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.1
PHP Version:
5.3
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

After TYPO3 update from version 6.1.2 to 6.1.3 the warnings, notifications and exceptions appear again and again. I have the same problems with the TYPO3 version 6.1.0 and 6.1.1. Also in 6.0.x.

Normaly after I clear the cache - but not every time, I get one of the following errors in the backend. Very often I get the error, if I change something in my extension language file and clear the cache. The next click in the backend display an error or exeption.

On my Windows 7 developer maschine:

PHP Warning
PHP Warning: unlink(C:/typo3webroot/typo3temp/Cache/Code/fluid_template/SysNote_Note_action_list_4d1af4749ea8015c9d048957144d875714c4b069.php): No such file or directory in C:\typo3webroot\typo3\sysext\core\Classes\Cache\Backend\FileBackend.php line 244

router (Flash message)
The cache file "C:/typo3webroot/typo3temp/Cache/Data/t3lib_l10n/d1065ae0d00ff9995d63c736052d29fe" could not be written.

On the CentOS production system:

Uncaught TYPO3 Exception
#1222361632: The cache file "/typo3webroot/typo3temp/Cache/Data/t3lib_l10n/2843042ceb8c780e7a3df1e82d66fb87" could not be written. (More information)

TYPO3\CMS\Core\Cache\Exception thrown in file
/typo3webroot/typo3_src-6.1.3/typo3/sysext/core/Classes/Cache/Backend/FileBackend.php in line 175.

13 TYPO3\CMS\Core\Cache\Backend\FileBackend::set("2843042ceb8c780e7a3df1e82d66fb87", "a:3:{s:14:"mlang_tabs_tab";a:1:{i:0;a:2:{s:6:"sour…ry";s:6:"target";s:22:"Data for media library";}}}", array, NULL)

/typo3webroot/typo3_src-6.1.3/typo3/sysext/core/Classes/Cache/Frontend/VariableFrontend.php:

00087:    $this->backend->set($entryIdentifier, igbinary_serialize($variable), $tags, $lifetime);
00088:   } else {

00089:    $this->backend->set($entryIdentifier, serialize($variable), $tags, $lifetime);

00090:   }
00091:  }

12 TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::set("2843042ceb8c780e7a3df1e82d66fb87", array)

/typo3webroot/typo3_src-6.1.3/typo3/sysext/core/Classes/Localization/LocalizationFactory.php:

00117:    $this->store->setData($fileReference, $languageKey, $LOCAL_LANG[$languageKey]);
00118:    // Cache processed data

00119:    $this->cacheInstance->set($hash, $this->store->getDataByLanguage($fileReference, $languageKey));

00120:   } catch (\TYPO3\CMS\Core\Localization\Exception\FileNotFoundException $exception) {
00121:    // Source localization file not found

11 TYPO3\CMS\Core\Localization\LocalizationFactory::getParsedData("EXT:ams_medialibrary/mod2/locallang_mod.xml", "default", "utf-8", 0)

/typo3webroot/typo3_src-6.1.3/typo3/sysext/core/Classes/Utility/GeneralUtility.php:

03763:   /** @var $languageFactory \TYPO3\CMS\Core\Localization\LocalizationFactory */
03764:   $languageFactory = self::makeInstance('TYPO3\\CMS\\Core\\Localization\\LocalizationFactory');

03765:   return $languageFactory->getParsedData($fileRef, $langKey, $charset, $errorMode);

03766:  }
03767: 

10 TYPO3\CMS\Core\Utility\GeneralUtility::readLLfile("EXT:ams_medialibrary/mod2/locallang_mod.xml", "default", "utf-8")

/typo3webroot/typo3_src-6.1.3/typo3/sysext/lang/Classes/LanguageService.php:

00450:   $localLanguage = array();
00451:   foreach ($languages as $language) {

00452:    $tempLL = \TYPO3\CMS\Core\Utility\GeneralUtility::readLLfile($fileRef, $language, $this->charSet);

00453:    $localLanguage['default'] = $tempLL['default'];
00454:    if (!isset($localLanguage[$this->lang])) {

9 TYPO3\CMS\Lang\LanguageService::readLLfile("EXT:ams_medialibrary/mod2/locallang_mod.xml")

/typo3webroot/typo3_src-6.1.3/typo3/sysext/lang/Classes/LanguageService.php:

00304:     // Getting data if not cached
00305:    if (!isset($this->LL_files_cache[$parts[0]])) {

00306:     $this->LL_files_cache[$parts[0]] = $this->readLLfile($parts[0]);

00307:      // If the current language is found in another file, load that as well:
00308:     $lFileRef = $this->localizedFileRef($parts[0]);

8 TYPO3\CMS\Lang\LanguageService::sL("LLL:EXT:ams_medialibrary/mod2/locallang_mod.xml:mlang_labels_tablabel")

/typo3webroot/typo3_src-6.1.3/typo3/sysext/backend/Classes/Module/ModuleLoader.php:

00285:      if ($MLANG['default']['ll_ref']) {
00286:       // Now the 'default' key is loaded with the CURRENT language - not the english translation...

00287:       $MLANG['default']['labels']['tablabel'] = $GLOBALS['LANG']->sL($MLANG['default']['ll_ref'] . ':mlang_labels_tablabel');

00288:       $MLANG['default']['labels']['tabdescr'] = $GLOBALS['LANG']->sL($MLANG['default']['ll_ref'] . ':mlang_labels_tabdescr');
00289:       $MLANG['default']['tabs']['tab'] = $GLOBALS['LANG']->sL($MLANG['default']['ll_ref'] . ':mlang_tabs_tab');

7 TYPO3\CMS\Backend\Module\ModuleLoader::checkMod("txamsmedialibraryM1_txamsmedialibraryM2", "/typo3webroot/typo3conf/ext/ams_medialibrary/mod2")

/typo3webroot/typo3_src-6.1.3/typo3/sysext/backend/Classes/Module/ModuleLoader.php:

00170:       if ($extModRelPath) {
00171:        // EXTENSION submodule:

00172:        $theTempSubMod = $this->checkMod($mods . '_' . $valsub, PATH_site . $extModRelPath);

00173:        // Default sub-module in either main-module-path, be it the default or the userdefined.
00174:        if (is_array($theTempSubMod)) {

6 TYPO3\CMS\Backend\Module\ModuleLoader::load(array)

/typo3webroot/typo3_src-6.1.3/typo3/sysext/backend/Classes/View/ModuleMenuView.php:

00057:   $this->moduleLoader = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Module\\ModuleLoader');
00058:   $this->moduleLoader->observeWorkspaces = TRUE;

00059:   $this->moduleLoader->load($GLOBALS['TBE_MODULES']);

00060:   $this->loadedModules = $this->moduleLoader->modules;
00061:  }

5 TYPO3\CMS\Backend\View\ModuleMenuView::__construct()

/typo3webroot/typo3_src-6.1.3/typo3/sysext/core/Classes/Utility/GeneralUtility.php:

04109:   } else {
04110:    $fullyQualifiedClassName = '\\' . $finalClassName;

04111:    $instance = new $fullyQualifiedClassName();

04112:   }
04113:   // Create alias if not present

4 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Backend\View\ModuleMenuView")

/typo3webroot/typo3_src-6.1.3/typo3/sysext/backend/Classes/Module/ModuleController.php:

00062:   if (count($this->moduleMenu->getEntries()) === 0) {
00063:    /** @var $moduleMenu \TYPO3\CMS\Backend\View\ModuleMenuView */

00064:    $moduleMenu = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\View\\ModuleMenuView');

00065:    $rawData = $moduleMenu->getRawModuleData();
00066:    $this->convertRawModuleDataToModuleMenuObject($rawData);

3 TYPO3\CMS\Backend\Module\ModuleController::createModuleMenu()

/typo3webroot/typo3_src-6.1.3/typo3/sysext/core/Classes/Core/Bootstrap.php:

01022:   /** @var $moduleMenuUtility \TYPO3\CMS\Backend\Module\ModuleController */
01023:   $moduleMenuUtility = Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Module\\ModuleController');

01024:   $moduleMenuUtility->createModuleMenu();

01025:   return $this;
01026:  }

2 TYPO3\CMS\Core\Core\Bootstrap::initializeModuleMenuObject()

/typo3webroot/typo3_src-6.1.3/typo3/init.php:

00072:  ->initializeBackendUserMounts()
00073:  ->initializeLanguageObject()

00074:  ->initializeModuleMenuObject()

00075:  ->initializeBackendTemplate()
00076:  ->endOutputBufferingAndCleanPreviousOutput()

1 require("/typo3webroot/typo3_src-6.1.3/typo3/init.php")

/typo3webroot/typo3_src-6.1.3/typo3/mod.php:

00031:  */
00032: unset($MCONF);

00033: require 'init.php';

00034: // Find module path:
00035: $temp_M = (string) \TYPO3\CMS\Core\Utility\GeneralUtility::_GET('M');

Actions #1

Updated by Philipp Gampe over 10 years ago

  • Priority changed from Must have to Should have
  • Target version deleted (next-patchlevel)
Actions #2

Updated by Philipp Gampe over 10 years ago

  • Status changed from New to Needs Feedback

The first problem might be a concurrency problem.

Did you verify file permissions (also those of the created files) and check if you have enough free disk space?

Actions #3

Updated by Tobias Klepp over 10 years ago

Should be ok on Linux system. Folders have rwxr-xr-x apache:apache and files rw-r--r-- apache:apache. If I click on Unlock the Install Tool the file ENABLE_INSTALL_TOOL created with rw-r--r-- apache:apache and if I logout out from the Install Tool the file deleted without any warnings. For my understanding, the file permissions are right. Disc space is also not the problem.

Actions #4

Updated by Alexander Opitz over 10 years ago

  • Status changed from Needs Feedback to New
  • Is Regression set to No
Actions #5

Updated by Christian Kuhn over 9 years ago

  • Status changed from New to Needs Feedback

Unsure on how to proceed here: Is this still an issue with 6.2?

Actions #6

Updated by Tobias Klepp over 9 years ago

With TYPO3 6.2.8 is looks fine on Windows. Only very rarely get an error message.

Actions #7

Updated by Alexander Opitz almost 9 years ago

  • Status changed from Needs Feedback to Closed

Closing this as it seams fixed.

Actions

Also available in: Atom PDF