Project

General

Profile

Actions

Bug #70015

closed

Exception/CMS/1 during update to 6.2.15

Added by Kurt Ludikovsky about 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Should have
Category:
-
Target version:
-
Start date:
2015-09-22
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
5.5
Tags:
Complexity:
easy
Is Regression:
No
Sprint Focus:

Description

Error:

While upgrading to 6.2.15 I have got the following error in the Install-tool when trying to use the Upgrade Wizard:

Uncaught TYPO3 Exception
#1: PHP Catchable Fatal Error: Argument 2 passed to TYPO3\CMS\Core\Utility\GeneralUtility::array_merge() must be of the type array, null given, called in /var/www/vhosts/<dom.tld>/sub_test/typo3conf/ext/t3skin_improved/ext_tables.php on line 44 and defined in /var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 1795 (More information)

TYPO3\CMS\Core\Error\Exception thrown in file
/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 101.

(/Full details below)

Cause:

If I track it correctly this is raised by the arry_merge function in sysext/core/Classes/Utility/GeneralUtility.php (line 1795) which does not check if any part of the two arrays to merge is null.

Ans this seems to be the case when the function is called from the t2skin_improved, which (possibly) does it due to repetitive/recursive use of the statement in typo3conf/ext/t3skin_improved/ext_tables.php at line 39.

        // some special icons for container sysfolders
        $path_icons_original = '../' . TYPO3_mainDir . 'gfx/i/';

        $ICON_TYPES = t3lib_div::array_merge(array(
            'fe_users' => Array('icon' => $path_icons_original . 'modules_fe_users.gif'),
            'shop' => Array('icon' => $path_icons_original . 'modules_shop.gif'),
            'board' => Array('icon' => $path_icons_original . 'modules_board.gif'),
            'approve' => Array('icon' => $path_icons_original . 'modules_approvals.gif'),
        ), $ICON_TYPES);

        if (t3lib_extMgm::isLoaded('direct_mail')) {
            $ICON_TYPES = t3lib_div::array_merge(array(
                'dmail' => Array('icon' => t3lib_extMgm::extRelPath('direct_mail') . 'res/gfx/modules_dmail.gif'),
            ), $ICON_TYPES);
        }

Additional Info:

Uncaught TYPO3 Exception
#1: PHP Catchable Fatal Error: Argument 2 passed to TYPO3\CMS\Core\Utility\GeneralUtility::array_merge() must be of the type array, null given, called in /var/www/vhosts/<dom.tld>/sub_test/typo3conf/ext/t3skin_improved/ext_tables.php on line 44 and defined in /var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 1795 (More information)

TYPO3\CMS\Core\Error\Exception thrown in file
/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 101.

11 TYPO3\CMS\Core\Error\ErrorHandler::handleError(4096, "Argument 2 passed to TYPO3\CMS\Core\Utility\Genera…kin_improved/ext_tables.php on line 44 and defined", "/var/www/vhosts/<dom.tld>/sub_test/typo…po3/sysext/core/Classes/Utility/GeneralUtility.php", 1795, array)

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
01793:   * @return array Merged result.
01794:   */
01795:  static public function array_merge(array $arr1, array $arr2) {
01796:   return $arr2 + $arr1;
01797:  }

10 TYPO3\CMS\Core\Utility\GeneralUtility::array_merge(array, NULL)

/var/www/vhosts/<dom.tld>/sub_test/typo3conf/ext/t3skin_improved/ext_tables.php:
00042:    'board' => Array('icon' => $path_icons_original . 'modules_board.gif'),
00043:    'approve' => Array('icon' => $path_icons_original . 'modules_approvals.gif'),
00044:   ), $ICON_TYPES);
00045:   
00046:   if (t3lib_extMgm::isLoaded('direct_mail')) {

9 require("/var/www/vhosts/<dom.tld>/sub_test/typo3conf/ext/t3skin_improved/ext_tables.php")

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php:
01785:     // and are explicitly set in cached file as well
01786:     $_EXTCONF = $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY];
01787:     require $extensionInformation['ext_tables.php'];
01788:     static::loadNewTcaColumnsConfigFiles();
01789:    }

8 TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadSingleExtTablesFiles()

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php:
01763:    }
01764:   } else {
01765:    self::loadSingleExtTablesFiles();
01766:   }
01767:  }

7 TYPO3\CMS\Core\Utility\ExtensionManagementUtility::loadExtTables(boolean)

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/core/Classes/Core/Bootstrap.php:
00942:  public function loadExtensionTables($allowCaching = TRUE) {
00943:   Utility\ExtensionManagementUtility::loadBaseTca($allowCaching);
00944:   Utility\ExtensionManagementUtility::loadExtTables($allowCaching);
00945:   $this->executeExtTablesAdditionalFile();
00946:   $this->runExtTablesPostProcessingHooks();

6 TYPO3\CMS\Core\Core\Bootstrap::loadExtensionTables(boolean)

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php:
00250:    ->applyAdditionalConfigurationSettings()
00251:    ->initializeTypo3DbGlobal()
00252:    ->loadExtensionTables(FALSE);
00253:  }
00254: 

5 TYPO3\CMS\Install\Controller\Action\AbstractAction::loadExtLocalconfDatabaseAndExtTables()

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/install/Classes/Controller/Action/Tool/UpgradeWizard.php:
00037:  protected function executeAction() {
00038:   // ext_localconf, db and ext_tables must be loaded for the upgrade wizards
00039:   $this->loadExtLocalconfDatabaseAndExtTables();
00040: 
00041:   // To make sure initialUpdateDatabaseSchema is first wizard, it is added here instead of ext_localconf.php

4 TYPO3\CMS\Install\Controller\Action\Tool\UpgradeWizard::executeAction()

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php:
00087:  public function handle() {
00088:   $this->initializeHandle();
00089:   return $this->executeAction();
00090:  }
00091: 

3 TYPO3\CMS\Install\Controller\Action\AbstractAction::handle()

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/install/Classes/Controller/ToolController.php:
00185:   $toolAction->setPostValues($this->getPostValues());
00186:   $toolAction->setLastError($this->getLastError());
00187:   $this->output($toolAction->handle());
00188:  }
00189: }

2 TYPO3\CMS\Install\Controller\ToolController::dispatchAuthenticationActions()

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/install/Classes/Controller/ToolController.php:
00061:   $this->outputLoginFormIfNotAuthorized();
00062:   $this->registerExtensionConfigurationErrorHandler();
00063:   $this->dispatchAuthenticationActions();
00064:  }
00065: 

1 TYPO3\CMS\Install\Controller\ToolController::execute()

/var/www/vhosts/<dom.tld>/sub_test/typo3_src-6.2.15/typo3/sysext/install/Start/Install.php:
00117:  }
00118: }
00119: \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($controllerClassName)->execute();

Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Feature #64596: Deprecate \TYPO3\CMS\Core\Utility\GeneralUtility::array_mergeClosedGöran Bodenschatz2015-01-29

Actions
Actions

Also available in: Atom PDF