Bug #60655
closedBE-Login throws exception when session has expired
0%
Description
The BE-Login with Typo3 Version 6.2.4 sometimes throws an exception:
#1: PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Function spl_autoload_call() hasn't defined the class it was called for in ***/typo3_src-6.2.4/typo3/sysext/backend/Classes/Controller/LoginController.php line 147 (More information)
This happens mainly when I don't log out from the backend and then open the browser on the next day, so I guess the session just has timed out. I also saw that there are 2 cookies set: PHPSESSID and be_typo_user - when I delete these cookies, the backend login works again until the next day (when I reopen the browser and the session propably has expired).
Here is the full stacktrace as shown by the excpetion:
TYPO3\CMS\Core\Error\Exception thrown in file
***/typo3_src-6.2.4/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 101.
6 TYPO3\CMS\Core\Error\ErrorHandler::handleError(2, "session_start() [<a href='function.session-start'>…_call() hasn't defined the class it was called for", "***/typo3_src-6.2.4/t…ext/backend/Classes/Controller/LoginController.php", 147, array)
5 session_start()
***/typo3_src-6.2.4/typo3/sysext/backend/Classes/Controller/LoginController.php:
00145: public function init() {
00146: // We need a PHP session session for most login levels
00147: session_start();
00148: $this->redirect_url = GeneralUtility::sanitizeLocalUrl(GeneralUtility::_GP('redirect_url'));
00149: $this->GPinterface = GeneralUtility::_GP('interface');
4 TYPO3\CMS\Backend\Controller\LoginController::init()
***/typo3_src-6.2.4/typo3/sysext/backend/Classes/Controller/LoginController.php:
00134: */
00135: public function __construct() {
00136: $this->init();
00137: }
00138:
3 TYPO3\CMS\Backend\Controller\LoginController::__construct()
***/typo3_src-6.2.4/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
04362: switch (count($arguments)) {
04363: case 1:
04364: $instance = new $className();
04365: break;
04366: case 2:
2 TYPO3\CMS\Core\Utility\GeneralUtility::instantiateClass("TYPO3\CMS\Backend\Controller\LoginController", array)
***/typo3_src-6.2.4/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
04344: }
04345: // Create new instance and call constructor with parameters
04346: $instance = static::instantiateClass($finalClassName, func_get_args());
04347: // Register new singleton instance
04348: if ($instance instanceof \TYPO3\CMS\Core\SingletonInterface) {
1 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Backend\Controller\LoginController")
***/typo3_src-6.2.4/typo3/index.php:
00046: }
00047:
00048: $loginController = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Controller\\LoginController');
00049: $loginController->main();
00050: $loginController->printContent();