Project

General

Profile

Actions

Bug #75361

closed

Possible crash when launching the Upgrade Wizard

Added by Xavier Perseguers about 8 years ago. Updated over 5 years ago.

Status:
Rejected
Priority:
Should have
Assignee:
-
Category:
Install Tool
Target version:
-
Start date:
2016-04-01
Due date:
% Done:

0%

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

Description

Background

  • Loaded a 7.6 DB dump and all files locally
  • Replaced typo3_src with master branch
  • Went to /typo3/install

Steps to reproduce

  • In the install tool, click on "Upgrade Wizard" menu
  • It crashes with:

Cause

  • PHP Fatal error is thrown in \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadSingleExtTablesFiles:1881 with
require $extensionInformation['ext_tables.php'];
  • This could be prevented or catched and rethrown with e.g., the $_EXTKEY using a catch (\Error $e) since PHP7
  • Underlying faulty extension is EXT:gridelements, because of this call:
// Register backend_layout wizard
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath(
        'wizard_gridelements_backend_layout',
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Wizard/'
);

Files

error.png (44.2 KB) error.png Xavier Perseguers, 2016-04-01 12:35
Actions #1

Updated by Xavier Perseguers about 8 years ago

Having a full stack trace could be useful, but just catching it with:

try {
    require $extensionInformation['ext_tables.php'];
} catch (\Error $e) {
    throw new \Error('Cannot load ext_tables.php from ' . $_EXTKEY . ': ' . $e->getMessage(), 1459507027, $e);
}

leads to a usable error message, which is more than enough to debug:

Oops, an error occurred!
Cannot load ext_tables.php from gridelements: Call to undefined method TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath()
Actions #2

Updated by Markus Slaby over 6 years ago

Same in TYPO3 8.7.8 - for all Integrators. Just check for broken extensions bevore.

Actions #3

Updated by Christian Kuhn over 5 years ago

  • Status changed from New to Rejected

This can't be avoided until ext_tables.php and ext_localconf.php are gone: The upgrade wizards among various other single modules must load them, so if there is a fatal in them, it will crash.

The v9 install tool mitigates that a bit better and adds a link to the check broken extensions, though. I'll also try to print better error messages if that happens, that is a bit very sparse in v9 at the moment.

Actions

Also available in: Atom PDF