Bug #100539
closedUpgrade Wizards with problems
Added by Dennis Bork over 1 year ago. Updated 4 months ago.
100%
Description
The upgrade wizards
- Migrate transOrigDiffSourceField field to json encoded string.
- Scan for move placeholders of workspaces and remove them from the database.
- Scan for new versioned records of workspaces and migrate the placeholder and versioned records into one record.
- Move "sys_redirect" records to site config root pages.
bringing the the 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.
..."
and that only with system extenions
Updated by Dennis Bork over 1 year ago
- Target version changed from 12.3 to 12 LTS
Updated by Dennis Bork over 1 year ago
- Category changed from Backend User Interface to Install Tool
Updated by Frank Nägler over 1 year ago
- Status changed from New to Needs Feedback
I can't reproduce this issue, can you ensure that all caches are cleared? Also remove olf files from the var folder and try again please.
Updated by Dennis Bork over 1 year ago
I have cleared the hole caches and removed the var-folder, but it's the same.
The Exceptions are:
Migrate transOrigDiffSourceField field to json encoded string.
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
Service "TYPO3\CMS\Install\Updates\RowUpdater\L18nDiffsourceToJsonMigration" not found: the container inside "Symfony\Component\DependencyInjection\Argument\ServiceLocator" is a smaller service locator that only knows about the "backendGroupsExplicitAllowDenyMigration", "backendModulePermission", "backendUserLanguage", "databaseRowsUpdateWizard", "feLoginModeExtension", "legacyCollectionsExtension", "migrateSiteSettings", "passwordPolicyForFrontendUsersUpdate", "shortcutRecordsMigration", "svgFilesSanitization", "sysFileCollectionIdentifierMigration", "sysFileMountIdentifierMigration", "sysLogChannel", "sysLogSerialization" and "sysTemplateNoWorkspaceMigration" services.
Scan for move placeholders of workspaces and remove them from the database.
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
Service "TYPO3\CMS\Install\Updates\RowUpdater\WorkspaceMovePlaceholderRemovalMigration" not found: the container inside "Symfony\Component\DependencyInjection\Argument\ServiceLocator" is a smaller service locator that only knows about the "backendGroupsExplicitAllowDenyMigration", "backendModulePermission", "backendUserLanguage", "databaseRowsUpdateWizard", "feLoginModeExtension", "legacyCollectionsExtension", "migrateSiteSettings", "passwordPolicyForFrontendUsersUpdate", "shortcutRecordsMigration", "svgFilesSanitization", "sysFileCollectionIdentifierMigration", "sysFileMountIdentifierMigration", "sysLogChannel", "sysLogSerialization" and "sysTemplateNoWorkspaceMigration" services.
Scan for new versioned records of workspaces and migrate the placeholder and versioned records into one record.
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
Service "TYPO3\CMS\Install\Updates\RowUpdater\WorkspaceNewPlaceholderRemovalMigration" not found: the container inside "Symfony\Component\DependencyInjection\Argument\ServiceLocator" is a smaller service locator that only knows about the "backendGroupsExplicitAllowDenyMigration", "backendModulePermission", "backendUserLanguage", "databaseRowsUpdateWizard", "feLoginModeExtension", "legacyCollectionsExtension", "migrateSiteSettings", "passwordPolicyForFrontendUsersUpdate", "shortcutRecordsMigration", "svgFilesSanitization", "sysFileCollectionIdentifierMigration", "sysFileMountIdentifierMigration", "sysLogChannel", "sysLogSerialization" and "sysTemplateNoWorkspaceMigration" services.
Move "sys_redirect" records to site config root pages.
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
Service "TYPO3\CMS\Install\Updates\RowUpdater\L18nDiffsourceToJsonMigration" not found: the container inside "Symfony\Component\DependencyInjection\Argument\ServiceLocator" is a smaller service locator that only knows about the "backendGroupsExplicitAllowDenyMigration", "backendModulePermission", "backendUserLanguage", "databaseRowsUpdateWizard", "feLoginModeExtension", "legacyCollectionsExtension", "migrateSiteSettings", "passwordPolicyForFrontendUsersUpdate", "shortcutRecordsMigration", "svgFilesSanitization", "sysFileCollectionIdentifierMigration", "sysFileMountIdentifierMigration", "sysLogChannel", "sysLogSerialization" and "sysTemplateNoWorkspaceMigration" services.
Updated by Kurt Gusbeth over 1 year ago
I can confirm this Bug in TYPO3 12.4.0.
I am using TYPO3 on windows.
Upgrading from TYPO3 11.5. All extensions uninstalled.
Updated by Kurt Gusbeth over 1 year ago
Because you can´t reproduce this issue, here the complete output:
(1/1) Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
Service "TYPO3\CMS\Install\Updates\RowUpdater\SysRedirectRootPageMoveMigration" not found: the container inside "Symfony\Component\DependencyInjection\Argument\ServiceLocator" is a smaller service locator that only knows about the "backendGroupsExplicitAllowDenyMigration", "backendModulePermission", "backendUserLanguage", "databaseRowsUpdateWizard", "feLoginModeExtension", "legacyCollectionsExtension", "migrateSiteSettings", "passwordPolicyForFrontendUsersUpdate", "shortcutRecordsMigration", "svgFilesSanitization", "sysFileCollectionIdentifierMigration", "sysFileMountIdentifierMigration", "sysLogChannel", "sysLogSerialization" and "sysTemplateNoWorkspaceMigration" services.
in C:\xampp\htdocs\git\typo3\vendor\symfony\dependency-injection\ServiceLocator.php line 126
} else {
$msg[] = 'Try using dependency injection instead.';
}
return new ServiceNotFoundException($id, end($this->loading) ?: null, null, [], implode(' ', $msg));
}
private function createCircularReferenceException(string $id, array $path): ContainerExceptionInterface
{
at Symfony\Component\DependencyInjection\ServiceLocator->createNotFoundException('TYPO3\\CMS\\Install\\Updates\\RowUpdater\\SysRedirectRootPageMoveMigration')
in C:\xampp\htdocs\git\typo3\vendor\symfony\service-contracts\ServiceLocatorTrait.php line 49
public function get(string $id): mixed
{
if (!isset($this->factories[$id])) {
throw $this->createNotFoundException($id);
}
if (isset($this->loading[$id])) {
$ids = array_values($this->loading);
at Symfony\Component\DependencyInjection\ServiceLocator->doGet('TYPO3\\CMS\\Install\\Updates\\RowUpdater\\SysRedirectRootPageMoveMigration')
in C:\xampp\htdocs\git\typo3\vendor\symfony\dependency-injection\ServiceLocator.php line 39
public function get(string $id): mixed
{
if (!$this->externalId) {
return $this->doGet($id);
}
try {
return $this->doGet($id);
at Symfony\Component\DependencyInjection\ServiceLocator->get('TYPO3\\CMS\\Install\\Updates\\RowUpdater\\SysRedirectRootPageMoveMigration')
in C:\xampp\htdocs\git\typo3\vendor\symfony\dependency-injection\Argument\ServiceLocator.php line 38
public function get(string $id): mixed
{
return match (\count($this->serviceMap[$id] ?? [])) {
0 => parent::get($id),
1 => $this->serviceMap[$id][0],
default => ($this->factory)(...$this->serviceMap[$id]),
};
}
at Symfony\Component\DependencyInjection\Argument\ServiceLocator->get('TYPO3\\CMS\\Install\\Updates\\RowUpdater\\SysRedirectRootPageMoveMigration')
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-install\Classes\Updates\UpgradeWizardRegistry.php line 53
if (!$this->hasUpgradeWizard($identifier)) {
throw new \UnexpectedValueException('Upgrade wizard with identifier ' . $identifier . ' is not registered.', 1673964964);
}
return $this->getLegacyUpgradeWizard($identifier) ?? $this->upgradeWizards->get($identifier);
}
/**
* Get all registered upgrade wizards
at TYPO3\CMS\Install\Updates\UpgradeWizardRegistry->getUpgradeWizard('TYPO3\\CMS\\Install\\Updates\\RowUpdater\\SysRedirectRootPageMoveMigration')
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-install\Classes\Service\UpgradeWizardsService.php line 161
}
public function getWizardInformationByIdentifier(string $identifier): array
{
$wizard = $this->upgradeWizardRegistry->getUpgradeWizard($identifier);
if ($wizard instanceof ChattyInterface) {
$wizard->setOutput($this->output);
}
at TYPO3\CMS\Install\Service\UpgradeWizardsService->getWizardInformationByIdentifier('TYPO3\\CMS\\Install\\Updates\\RowUpdater\\SysRedirectRootPageMoveMigration')
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-install\Classes\Controller\UpgradeController.php line 1147
{
$container = $this->lateBootService->loadExtLocalconfDatabaseAndExtTables(false);
$upgradeWizardsService = $container->get(UpgradeWizardsService::class);
$wizardToBeMarkedAsUndoneIdentifier = $request->getParsedBody()['install']['identifier'];
$wizardToBeMarkedAsUndone = $upgradeWizardsService->getWizardInformationByIdentifier($wizardToBeMarkedAsUndoneIdentifier);
$result = $upgradeWizardsService->markWizardUndone($wizardToBeMarkedAsUndoneIdentifier);
$this->lateBootService->resetGlobalContainer();
$messages = new FlashMessageQueue('install');
if ($result) {
at TYPO3\CMS\Install\Controller\UpgradeController->upgradeWizardsMarkUndoneAction(object(TYPO3\CMS\Core\Http\ServerRequest))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-install\Classes\Middleware\Maintenance.php line 231
'Unknown action method ' . $action . ' in controller ' . $controllerName,
1505216027
);
}
$response = $controller->$action($request);
}
return $response;
}
at TYPO3\CMS\Install\Middleware\Maintenance->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymousC:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php:128$6a9))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php line 111
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
return $this->middleware->process($request, $this->next);
}
};
}
at Psr\Http\Server\RequestHandlerInterface@anonymousC:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php:93$6a8->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Middleware\NormalizedParamsAttribute.php line 41
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request));
return $handler->handle($request);
}
}
at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymousC:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php:93$6a8))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php line 162
if (!$middleware instanceof MiddlewareInterface) {
throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
}
return $middleware->process($request, $this->next);
}
};
}
}
at Psr\Http\Server\RequestHandlerInterface@anonymousC:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php:128$6a9->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\MiddlewareDispatcher.php line 70
- Invoke the middleware stack
*/
public function handle(ServerRequestInterface $request): ResponseInterface {
return $this->tip->handle($request);
}
/**
* Seed the middleware stack with the inner request handler
at TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\AbstractApplication.php line 80
public function handle(ServerRequestInterface $request): ResponseInterface
{
try {
$response = $this->requestHandler->handle($request);
} catch (ImmediateResponseException $exception) {
$response = $exception->getResponse();
}
return $response;
at TYPO3\CMS\Core\Http\AbstractApplication->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-install\Classes\Http\Application.php line 46
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->initializeContext();
$request = $request->withAttribute('applicationType', SystemEnvironmentBuilder::REQUESTTYPE_INSTALL);
return parent::handle($request)
->withHeader('X-Frame-Options', 'SAMEORIGIN');
}
/**
at TYPO3\CMS\Install\Http\Application->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in C:\xampp\htdocs\git\typo3\vendor\typo3\cms-core\Classes\Http\AbstractApplication.php line 92
- Set up the application and shut it down afterwards
*/
final public function run() {
$response = $this->handle(ServerRequestFactory::fromGlobals());
$this->sendResponse($response);
}
}
at TYPO3\CMS\Core\Http\AbstractApplication->run()
in C:\xampp\htdocs\git\typo3\public\typo3\install.php line 19
call_user_func(static function () {
$classLoader = require dirname(dirname(DIR)).'/vendor/autoload.php';
\TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(1, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_INSTALL);
\TYPO3\CMS\Core\Core\Bootstrap::init($classLoader, true)->get(\TYPO3\CMS\Install\Http\Application::class)->run();
});
at {closure}()
in C:\xampp\htdocs\git\typo3\public\typo3\install.php line 20
call_user_func(static function () {
$classLoader = require dirname(dirname(DIR)).'/vendor/autoload.php';
\TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(1, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_INSTALL);
\TYPO3\CMS\Core\Core\Bootstrap::init($classLoader, true)->get(\TYPO3\CMS\Install\Http\Application::class)->run();
});
Updated by Benni Mack over 1 year ago
- Target version changed from 12 LTS to Candidate for patchlevel
Updated by Susanne Moog over 1 year ago
This broke with https://review.typo3.org/c/Packages/TYPO3.CMS/+/77452 for all RowUpdaters if I see that correctly, as the rowUpdate classes are not added to the service locator.
Updated by Susanne Moog over 1 year ago
- Status changed from Needs Feedback to In Progress
Updated by Gerrit Code Review over 1 year ago
- Status changed from In Progress to Under Review
Patch set 1 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79652
Updated by Gerrit Code Review over 1 year ago
Patch set 1 for branch 12.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79653
Updated by Gerrit Code Review over 1 year ago
Patch set 2 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79652
Updated by Gerrit Code Review over 1 year ago
Patch set 2 for branch 12.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79653
Updated by Gerrit Code Review over 1 year ago
Patch set 3 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79652
Updated by Gerrit Code Review over 1 year ago
Patch set 3 for branch 12.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79653
Updated by Gerrit Code Review over 1 year ago
Patch set 4 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79652
Updated by Susanne Moog over 1 year ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset f5eabd8274e3f2830d06bc61ec4b6b1bec155218.