Project

General

Profile

Actions

Bug #65576

closed

mergeWithExistingConfiguration() fails for some extension configs.

Added by Oliver Heins over 9 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Category:
-
Target version:
-
Start date:
2015-03-06
Due date:
% Done:

100%

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

Description

I ran into this error:

PHP Catchable fatal error:  Argument 1 passed to TYPO3\CMS\Core\Utility\ArrayUtility::flatten() must be of the type array, boolean given, called in /var/www/typo3_src/typo3_src-6.2.9/typo3/sysext/extensionmanager/Classes/Domain/Repository/ConfigurationItemRepository.php on line 174 and defined in /var/www/typo3_src/typo3_src-6.2.9/typo3/sysext/core/Classes/Utility/ArrayUtility.php on line 383```

After short googling, this error seems somehow related to this bug: https://forge.typo3.org/issues/40864, which was resolved in summer 2012: https://review.typo3.org/#/c/14548/

However, unserialize might not throw an exception but just return false or something else (according to http://php.net/manual/en/function.unserialize.php#refsect1-function.unserialize-returnvalues the return value is mixed and can be a boolean, integer, float, string, array or object).

So I suggest to add another line to the try block of ConfigurationItemRepository.php::mergeWithExistingConfiguration():

assert(is_array($currentExtensionConfig));

Unfortunately, I can't provide the offending extension configuration, because the problem disappeared after (dirty) patching the core.

Actions

Also available in: Atom PDF