Bug #90089
closedInstall tool breaks if it cannot unserialize extension configuration from LocalConfiguration.php
100%
Description
While trying to upgrade an existing installation from 8.7.30 to 9.5.13 with install tool, the process stopped in early state with the missleading message: "Something went wrong. Please use Check for broken extensions to see if a loaded extension breaks this part of the install tool and unload it."
When clicking on "Check for broken extensions" same issue occurs again.
Real error is a TypeError:
Argument 1 passed to TYPO3\CMS\Install\Controller\LayoutController::removeDotsFromArrayKeysRecursive() must be of the type array, boolean given, called in /kunden/412714_70794/rp-hosting/5139014/6139014/typo3cms/typo3_src-9.5.13/typo3/sysext/install/Classes/Controller/LayoutController.php on line 123
After reviewing source code and also adding some debug code I realize this issue is caused by extension settings of very old extensions I do not use anymore for years now. TYPO3 cannot unserialize still stored extension configuration in LocalConfiguration.php.
Please improve robustness in LayoutController.executeSilentLegacyExtConfExtensionConfigurationUpdateAction() and check for return value of unserialize method before passing it to another method. See line 123:
$newExtensionSettings = $this->removeDotsFromArrayKeysRecursive(unserialize($extensionSettings, ['allowed_classes' => false]));
Please provide a hint to the user what to do now.
My workaround:
In order to bypass this issue I had to remove entries for extensions beko_improved_login and tcdirectmail from array [EXT][extConf]in file LocalConfiguration.php. It also is a good time now to remove all remaining entries of extensions used years ago.
Updated by Gerrit Code Review about 4 years ago
- Status changed from New to Under Review
Patch set 1 for branch 9.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/63233
Updated by Georg Ringer about 4 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 97906c1c9331bd92c8c94befd513d3def471a33f.