Scheduled Tasks: A lock was created but not released
Schedule tasks can use two types of locks:
- Database locks —
lock_db
table - File locks —
dirroot/lock
in the moodle data directory/file store
The follow error can occur when running a cron through the CLI for example:
!!! Coding error detected, it must be fixed by a programmer: A lock was created but not released at:
[dirroot]/lib/classes/task/manager.php on line 483
Code should look like:
$factory = \core\lock\lock_config::get_lock_factory('type');
$lock = $factory->get_lock(Resource id #585);
$lock->release(); // Locks must ALWAYS be released like this.
As a starting point, trying disabling the schedule task causing the error and see if you can get the cron to run successfully.
You can try clearing out the locks as well from the database/filestore (whichever is relevant) and running the cron again.
No Comments