Bug #77203

Core Update fails if configuration presets --> Debug is set to "Debug [Active]"

Added by Thomas Candrian almost 6 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Could have
Assignee:
-
Category:
Install Tool
Target version:
-
Start date:
2016-07-21
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
7
PHP Version:
7.0
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Doing so results in almost instantly display of "General error" if you click onto "Check for core update". sending the AJAX request by hand results in following error:

Uncaught TYPO3 Exception
#1289386765: Could not analyse class: "TYPO3\CMS\Install\Controller\Action\Ajax\CoreUpdateUpdateVersionMatrix" maybe not loaded or no autoloader? PHP Warning: Declaration of TYPO3\CMS\Install\Controller\Action\Ajax\AbstractCoreUpdate::injectView(TYPO3\CMS\Install\View\JsonView $view) should be compatible with TYPO3\CMS\Install\Controller\Action\AbstractAction::injectView(TYPO3\CMS\Install\View\FailsafeView $view) in /var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Classes/Controller/Action/Ajax/AbstractCoreUpdate.php line 21 (More information)

TYPO3\CMS\Extbase\Object\Container\Exception\UnknownObjectException thrown in file
/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php in line 37.

11 TYPO3\CMS\Extbase\Object\Container\ClassInfoFactory::buildClassInfoFromClassName("TYPO3\CMS\Install\Controller\Action\Ajax\CoreUpdateUpdateVersionMatrix")

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/extbase/Classes/Object/Container/Container.php:

00347: $classInfo = $this->getClassInfoCache()->get($classNameHash);
00348: if (!$classInfo instanceof \TYPO3\CMS\Extbase\Object\Container\ClassInfo) {

00349: $classInfo = $this->getClassInfoFactory()->buildClassInfoFromClassName($className);

00350: $this->getClassInfoCache()->set($classNameHash, $classInfo);
00351: }

10 TYPO3\CMS\Extbase\Object\Container\Container::getClassInfo("TYPO3\CMS\Install\Controller\Action\Ajax\CoreUpdateUpdateVersionMatrix")

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/extbase/Classes/Object/Container/Container.php:

00171: return $this->singletonInstances[$className];
00172: }

00173: $classInfo = $this->getClassInfo($className);

00174: $classIsSingleton = $classInfo->getIsSingleton();
00175: if (!$classIsSingleton) {

9 TYPO3\CMS\Extbase\Object\Container\Container::getInstanceInternal("TYPO3\CMS\Install\Controller\Action\Ajax\CoreUpdateUpdateVersionMatrix", array)

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/extbase/Classes/Object/Container/Container.php:

00124: {
00125: $this->prototypeObjectsWhichAreCurrentlyInstanciated = array();

00126: return $this->getInstanceInternal($className, $givenConstructorArguments);

00127: }
00128:

8 TYPO3\CMS\Extbase\Object\Container\Container::getInstance("TYPO3\CMS\Install\Controller\Action\Ajax\CoreUpdateUpdateVersionMatrix", array)

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/extbase/Classes/Object/ObjectManager.php:

00097: $instance = call_user_func_array(array(\TYPO3\CMS\Core\Utility\GeneralUtility::class, 'makeInstance'), $arguments);
00098: } else {

00099: $instance = $this->objectContainer->getInstance($objectName, $arguments);

00100: }
00101: return $instance;

7 TYPO3\CMS\Extbase\Object\ObjectManager::get("TYPO3\CMS\Install\Controller\Action\Ajax\CoreUpdateUpdateVersionMatrix")

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Classes/Controller/AjaxController.php:

00143: $actionClass = ucfirst($action);
00144: /** @var \TYPO3\CMS\Install\Controller\Action\ActionInterface $toolAction */

00145: $toolAction = $this->objectManager->get('TYPO3\\CMS\\Install\\Controller\\Action\\Ajax\\' . $actionClass);

00146: if (!($toolAction instanceof Action\ActionInterface)) {
00147: throw new Exception(

6 TYPO3\CMS\Install\Controller\AjaxController::dispatchAuthenticationActions()

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Classes/Controller/AjaxController.php:

00062: $this->checkSessionLifetime();
00063: $this->checkLogin();

00064: $this->dispatchAuthenticationActions();

00065: }
00066:

5 TYPO3\CMS\Install\Controller\AjaxController::execute()

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Classes/Http/RequestHandler.php:

00062: $controllerClassName = \TYPO3\CMS\Install\Controller\StepController::class;
00063: }

00064: GeneralUtility::makeInstance($controllerClassName)->execute();

00065: }
00066:

4 TYPO3\CMS\Install\Http\RequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/core/Classes/Core/Bootstrap.php:

00300:
00301: // Execute the command which returns a Response object or NULL

00302: $this->response = $requestHandler->handleRequest($request);

00303: return $this;
00304: }

3 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Classes/Http/Application.php:

00072: public function run(callable $execute = null)
00073: {

00074: $this->bootstrap->handleRequest(\TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals());

00075:
00076: if ($execute !== null) {

2 TYPO3\CMS\Install\Http\Application::run()

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Start/Install.php:

00106: call_user_func(function () {
00107: $classLoader = require DIR . '/../../../../vendor/autoload.php';

00108: (new \TYPO3\CMS\Install\Http\Application($classLoader))->run();

00109: });

1 {closure}()

/var/www/_Sources/typo3_src-7.6.10/typo3/sysext/install/Start/Install.php:

00107: $classLoader = require DIR . '/../../../../vendor/autoload.php';
00108: (new \TYPO3\CMS\Install\Http\Application($classLoader))->run();

00109: });

#1

Updated by Christian Kuhn almost 6 years ago

Hmmm, looks like a hidden php 7.0 issue at first glance - master maybe not affected since the FailSafeView was removed there.

Would anyone like to dig deeper and try to come up with a patch?

#2

Updated by Renzo Bauen over 5 years ago

Same issue for me!
I have two installations

Installation A, working as expected:
/var/www/test-->website (where the apache points to)
/var/www/typo3_src-7.6.12 -->core

Installation B, NOT working:
/var/www/dev/test -->website (where the apache points to)
/var/www/dev/typo3_src-7.6.12 -->core

B is a 1:1 copy A; for both the symlink to the core reads like this: typo3_src -> ../typo3_src-7.6.1
The rights are exactly set the same.

For me it looks like there where somewhere a hardcoded path...
Both installations are working well, except for the core update!

#3

Updated by Renzo Bauen over 5 years ago

I did some debugging:
So i saw, that my Installation A was running on PHP 5.6 and Installation B on PHP 7.
I changed the PHP Version to 7 for Installation A: result -> same error!

Then i checked the ajax calls, to see, whitch of them goes wrong.

In File typo3/sysext/install/Resources/Public/JavaScript/Install.js line 413ff the first Call for an action (coreUpdateUpdateVersionMatrix) goes wrong and returns an error.

From line 417: success: function(result) the script jumps directly to line 423 and then the server throws a 500 internal server error, without touching the lines 418 to 422.

The called URL is: http://www.testserver.tld/typo3/sysext/install/Start/Install.php?install[action]=importantActions&install[context]=backend&install[controller]=tool&install%5Bcontroller%5D=ajax&install%5Baction%5D=coreUpdateUpdateVersionMatrix&_=1482095896198

If i check this URL by hand, then TYPO3 throws the same error as Thomas mentioned allready.

#4

Updated by Hartmut Steglich over 5 years ago

Same problem here

Custom configuration [Active]
Debug [Active]
=> error

Live [Active]
=> no problem, update as expected

TYPO3 7.6.15 -> 7.6.16
PHP 7.1.0

#5

Updated by David Henninger about 5 years ago

Hartmut Steglich wrote:

Same problem here

Custom configuration [Active]
Debug [Active]
=> error

Live [Active]
=> no problem, update as expected

TYPO3 7.6.15 -> 7.6.16
PHP 7.1.0

I have - or rather - had the same issue, but I still don't understand what happened:

I first tried to narrow it down, figuring out which of the variables that are set with the live and debug presets is the cause of this. First I set it to live, checked the update function (worked!), then switched to debug (update failed again) and applied the "live" options one by one. Updates started working when I set the SYS/exceptionalErrors from 28674 (E_WARNING | E_RECOVERABLE_ERROR | E_DEPRECATED | E_USER_DEPRECATED) to 20480 (E_RECOVERABLE_ERROR | E_USER_DEPRECATED) for some reason.

However, after a reset to live preset and then back to debug, it continued working. I even restarted PHP7 (php7.0-fpm 7.0.18-1~dotdeb+8.1) and cleared typo3temp manually, but no change:
I can check for updates now, no matter which preset gets applied. I am running Typo3 7.6.18

For reference, these settings get applied with the LIVE preset:
'BE/debug' => ''
'FE/debug' => ''
'SYS/devIPmask' => ''
'SYS/displayErrors' => '0'
'SYS/enableDeprecationLog' => ''
'SYS/sqlDebug' => '0'
'SYS/systemLogLevel' => '2'
'SYS/clearCacheSystem' => ''
'SYS/exceptionalErrors' => '20480'
'GFX/image_processing' => '1'
'GFX/im' => '1'
'GFX/im_path' => '/usr/bin/'
'GFX/im_path_lzw' => '/usr/bin/'
'GFX/im_version_5' => 'gm'
'GFX/im_v5effects' => '-1'
'GFX/im_mask_temp_ext_gif' => '1'
'GFX/colorspace' => 'RGB'

And heres the debug preset on my system:
'BE/debug' => '1'
'FE/debug' => '1'
'SYS/devIPmask' => '*'
'SYS/displayErrors' => '1'
'SYS/enableDeprecationLog' => 'file'
'SYS/sqlDebug' => '1'
'SYS/systemLogLevel' => '0'
'SYS/exceptionalErrors' => '28674'
'SYS/clearCacheSystem' => '1'
'GFX/image_processing' => '1'
'GFX/im' => '1'
'GFX/im_path' => '/usr/bin/'
'GFX/im_path_lzw' => '/usr/bin/'
'GFX/im_version_5' => 'gm'
'GFX/im_v5effects' => '-1'
'GFX/im_mask_temp_ext_gif' => '1'
'GFX/colorspace' => 'RGB'

#6

Updated by Gerrit Code Review over 4 years ago

  • Status changed from New to Under Review

Patch set 1 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54417

#7

Updated by Gerrit Code Review over 4 years ago

Patch set 2 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54417

#8

Updated by Gerrit Code Review over 4 years ago

Patch set 3 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54417

#9

Updated by Gerrit Code Review over 4 years ago

Patch set 4 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54417

#10

Updated by Anonymous over 4 years ago

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

Updated by Benni Mack over 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF