Bug #94355
closedDelete action calls unserialize for a task which was listed as containing a class which doesn't exist and produces a fatal PHP error
100%
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.