Project

General

Profile

Actions

Bug #100539

closed

Upgrade Wizards with problems

Added by Dennis Bork 12 months ago. Updated 9 months ago.

Status:
Resolved
Priority:
Should have
Assignee:
-
Category:
Install Tool
Start date:
2023-04-10
Due date:
% Done:

100%

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

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

Actions #1

Updated by Dennis Bork 12 months ago

  • Description updated (diff)
Actions #2

Updated by Dennis Bork 12 months ago

  • Description updated (diff)
Actions #3

Updated by Dennis Bork 12 months ago

  • Description updated (diff)
Actions #4

Updated by Dennis Bork 12 months ago

  • Target version changed from 12.3 to 12 LTS
Actions #5

Updated by Dennis Bork 12 months ago

  • Category changed from Backend User Interface to Install Tool
Actions #6

Updated by Frank Nägler 11 months 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.

Actions #7

Updated by Dennis Bork 11 months 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.

Actions #8

Updated by Dennis Bork 11 months ago

  • Assignee set to Frank Nägler
Actions #9

Updated by Frank Nägler 11 months ago

  • Assignee deleted (Frank Nägler)
Actions #10

Updated by Kurt Gusbeth 11 months 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.

Actions #11

Updated by Kurt Gusbeth 11 months 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();
});

Actions #12

Updated by Benni Mack 10 months ago

  • Target version changed from 12 LTS to Candidate for patchlevel
Actions #13

Updated by Susanne Moog 9 months 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.

Actions #14

Updated by Susanne Moog 9 months ago

  • Status changed from Needs Feedback to In Progress
Actions #15

Updated by Gerrit Code Review 9 months 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

Actions #16

Updated by Gerrit Code Review 9 months 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

Actions #17

Updated by Gerrit Code Review 9 months 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

Actions #18

Updated by Gerrit Code Review 9 months 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

Actions #19

Updated by Gerrit Code Review 9 months 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

Actions #20

Updated by Gerrit Code Review 9 months 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

Actions #21

Updated by Gerrit Code Review 9 months 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

Actions #22

Updated by Susanne Moog 9 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF