Bug #93733

ext:form configuration scans Yaml files of deactivated extension during Upgrade wizard

Added by Sybille Peters 2 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Form Framework
Target version:
-
Start date:
2021-03-14
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
10
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

When the Upgrade wizards card for 10 (Create tables etc.) is loaded, it looks like some part of form parses or tries to parse YAML files of extensions which are not even activated.

IMHO, any part of the core should not parse configuration files of deactivated extensions. And it should not try to parse unrelated configuration files, especially not in any part of the Install Tool.

I find this problematic, because the Upgrade wizard (and Install Tool in general) should be a very robust part of the core which should not be affected by any extensions, especially not by deactivated extensions.

If there is not any problem, this should not affect an installation but if there is some problem this could make it more difficult to get the basic TYPO3 core up and running again.

Setup / Reproduce

  • TYPO3 9.5.24, non Composer
  • deactivate all third party extensions
  • replace source code for 10
  • load Upgrade wizards
  • with the Debugger, put a breakpoint in typo3/sysext/form/Classes/Mvc/Configuration/YamlSource.php Line 72
    \YamlSource->loadFromFilePath or change the Yaml file of an uninstalled extension so that the Web user has no access.

Next TYPO3\\CMS\\Form\\Mvc\\Configuration\\Exception\\ParseErrorException: An error occurred while parsing file \"EXT:unioltemplate/Configuration/Yaml/BaseSetup.yaml\": YAML File \"EXT:unioltemplate/Configuration/Yaml/BaseSetup.yaml\" could not be loaded in /var/www/mysite/htdocs//typo3/sysext/form/Classes/Mvc/Configuration/YamlSource.php:141
Stack trace:
#0 /var/www/mysite/htdocs//typo3/sysext/form/Classes/Mvc/Configuration/YamlSource.php(72): TYPO3\\CMS\\Form\\Mvc\\Configuration\\YamlSource->loadFromFilePath('EXT:unioltempla...')
#1 /var/www/mysite/htdocs//typo3/sysext/form/Classes/Mvc/Configuration/ConfigurationManager.php(113): TYPO3\\CMS\\Form\\Mvc\\Configuration\\YamlSource->load(Array)
#2 /var/www/mysite/htdocs//typo3/sysext/form/Classes/Mvc/Configuration/ConfigurationManager.php(66): TYPO3\\CMS\\Form\\Mvc\\Configuration\\ConfigurationManager->getConfigurationFromYamlFile('form')
#3 /var/www/mysite/htdocs//typo3/sysext/form/Classes/Mvc/Persistence/FormPersistenceManager.php(127): TYPO3\\CMS\\Form\\Mvc\\Configuration\\ConfigurationManager->getConfiguration('YamlSettings', 'form')
#4 /var/www/mysite/htdocs//typo3/sysext/extbase/Classes/Object/Container/Container.php(252): TYPO3\\CMS\\Form\\Mvc\\Persistence\\FormPersistenceManager->initializeObject()
#5 /var/www/mysite/htdocs//typo3/sysext/extbase/Classes/Object/Container/Container.php(169): TYPO3\\CMS\\Extbase\\Object\\Container\\Container->initializeObject(Object(TYPO3\\CMS\\Form\\Mvc\\Persistence\\FormPersistenceManager))
#6 /var/www/mysite/htdocs//typo3/sysext/extbase/Classes/Object/Container/Container.php(111): TYPO3\\CMS\\Extbase\\Object\\Container\\Container->getInstanceInternal('TYPO3\\\\CMS\\\\Form\\\\...')
#7 /var/www/mysite/htdocs//typo3/sysext/extbase/Classes/Object/ObjectManager.php(114): TYPO3\\CMS\\Extbase\\Object\\Container\\Container->getInstance('TYPO3\\\\CMS\\\\Form\\\\...', Array)
#8 /var/www/mysite/htdocs//typo3/sysext/form/Classes/Hooks/FormFileExtensionUpdate.php(138): TYPO3\\CMS\\Extbase\\Object\\ObjectManager->get('TYPO3\\\\CMS\\\\Form\\\\...')
#9 /var/www/mysite/htdocs//typo3/sysext/install/Classes/Service/UpgradeWizardsService.php(293): TYPO3\\CMS\\Form\\Hooks\\FormFileExtensionUpdate->updateNecessary()
#10 /var/www/mysite/htdocs//typo3/sysext/install/Classes/Service/UpgradeWizardsService.php(271): TYPO3\\CMS\\Install\\Service\\UpgradeWizardsService->getWizardInformationByIdentifier('formFileExtensi...')
#11 /var/www/mysite/htdocs//typo3/sysext/install/Classes/Controller/UpgradeController.php(1104): TYPO3\\CMS\\Install\\Service\\UpgradeWizardsService->getUpgradeWizardsList()
#12 /var/www/mysite/htdocs//typo3/sysext/install/Classes/Middleware/Maintenance.php(246): TYPO3\\CMS\\Install\\Controller\\UpgradeController->upgradeWizardsListAction(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))
#13 /var/www/mysite/htdocs//typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(121): TYPO3\\CMS\\Install\\Middleware\\Maintenance->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))
#14 /var/www/mysite/htdocs//typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php(45): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))
#15 /var/www/mysite/htdocs//typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(172): TYPO3\\CMS\\Core\\Middleware\
ormalizedParamsAttribute->process(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest), Object(class@anonymous))
#16 /var/www/mysite/htdocs//typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php(78): class@anonymous->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))
#17 /var/www/mysite/htdocs//typo3/sysext/core/Classes/Http/AbstractApplication.php(85): TYPO3\\CMS\\Core\\Http\\MiddlewareDispatcher->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))
#18 /var/www/mysite/htdocs//typo3/sysext/install/Classes/Http/Application.php(52): TYPO3\\CMS\\Core\\Http\\AbstractApplication->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))
#19 /var/www/mysite/htdocs//typo3/sysext/core/Classes/Http/AbstractApplication.php(97): TYPO3\\CMS\\Install\\Http\\Application->handle(Object(TYPO3\\CMS\\Core\\Http\\ServerRequest))
#20 /var/www/mysite/htdocs//typo3/install.php(105): TYPO3\\CMS\\Core\\Http\\AbstractApplication->run()
#21 /var/www/mysite/htdocs//typo3/install.php(106): {closure}()
#22 {main}"}

While the wizard was running, I updated some extension and the permissions were not set correctly.

No data to display

Also available in: Atom PDF