Project

General

Profile

Actions

Bug #33116

closed

Scheduler BE module fails to load

Added by Dmitry Dulepov over 12 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2012-01-11
Due date:
% Done:

100%

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

Description

Getting the following error message in PHP error log:

PHP Fatal error: tx_scheduler_Module::listTasks(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Swift_RfcComplianceException" of the object you are trying to operate on was loaded before unserialize() gets called or provide a __autoload() function to load the class definition in /var/lib/typo3/TYPO3_4-5_snowflake/typo3/sysext/scheduler/mod1/index.php on line 1153

The problem is that scheduler tries to unserialize the exception and that fails because it is not autoloaded at that point.

Actions #1

Updated by Gerrit Code Review over 12 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/7736

Actions #2

Updated by Gerrit Code Review over 12 years ago

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/8747

Actions #3

Updated by Gerrit Code Review over 12 years ago

Patch set 1 for branch TYPO3_4-5 has been pushed to the review server.
It is available at http://review.typo3.org/8748

Actions #4

Updated by Dmitry Dulepov over 12 years ago

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

Updated by Christian Kuhn over 12 years ago

  • Status changed from Resolved to New
Actions #6

Updated by Christian Kuhn over 12 years ago

Dmitry, your patch was merged by me, but I had to revert it after I got this message in lots of BE modules:

Core: Error handler (BE): 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 /var/www/core/typo3/sysext/rsaauth/sv1/storage/class.tx_rsaauth_split_storage.php line 44

This behavior happened for example in the log module, after I installed and used phpmyadmin. The only way to get rid of it was by removing the php session id cookie. It is thrown, if the unserialize callback function you added to registerautoloader() still does not find the class. In my case there are serialized PMA objects in the session, our TYPO3 autoloader does not find them, the PMA autoloader is not registered -> the warning is thrown.

With further investigation I came to the following conclusions:
- When unserializing, the whole autoload register chain is called.
- The unserialize callback is then useless (if it just triggers the chain again), or - if done at all - should be constructed in a way that it then always given an instance back (eg. by doing some nasty magic like new eval('class ' . $theClass . extends stdClass {}) in it.

Since the callback magic isn't very clean, for now, we should only merge the second part of the patch that tests for incomplete_class in the scheduler.

I've pushed a new patch to gerrit for the later.

Actions #7

Updated by Gerrit Code Review over 12 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/8757

Actions #8

Updated by Gerrit Code Review over 12 years ago

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/8896

Actions #9

Updated by Gerrit Code Review over 12 years ago

Patch set 1 for branch TYPO3_4-5 has been pushed to the review server.
It is available at http://review.typo3.org/8897

Actions #10

Updated by Christian Kuhn over 12 years ago

  • Status changed from Under Review to Resolved
Actions #11

Updated by Gerrit Code Review over 12 years ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/9225

Actions #12

Updated by Gerrit Code Review over 12 years ago

Patch set 1 for branch TYPO3_4-5 has been pushed to the review server.
It is available at http://review.typo3.org/9232

Actions #13

Updated by Wouter Wolters about 12 years ago

Merged in 4.5.12, 4.6.5, 4.7.0beta1

Actions #14

Updated by Ernesto Baschny about 12 years ago

  • Status changed from Under Review to Closed
Actions

Also available in: Atom PDF