Project

General

Profile

Actions

Bug #94355

closed

Delete action calls unserialize for a task which was listed as containing a class which doesn't exist and produces a fatal PHP error

Added by Jigal van Hemert over 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
scheduler
Target version:
-
Start date:
2021-06-16
Due date:
% Done:

100%

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

Description

During an upgrade from 6.2 to 10 some tasks were not needed anymore and their classes were removed.
The scheduler module lists these as containing class which are not present in the installation (correct!). Upon deleting such a task \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController::deleteTask() will fetch the task anyway (to check if it is running) and this requires a call to unserialize the task object.
Since this object contains the missing class PHP will end with a fatal error.

Solution could be to add an optional parameter to \TYPO3\CMS\Scheduler\Scheduler::fetchTask() which tells unserialize to only allow the AbstractTask class. That would make the check if the task is running still work and the task can be deleted after that.

Actions

Also available in: Atom PDF