Hi,
"The operation timed
out while waiting for a lock."
We get this error
when anyone tries to open two particular courses. (Course IDs: 1718 & 2769)
We upgraded from Moodle 3.5 to 3.7 last month, as well as moving from Ubuntu 16.04 to 18.04LTS. It's likely this issue has only starting happening since the update. No other issues have been noticed.
Cron runs without any issues
I've tried the following:
Restarting the server
Tried to delete the courses via Moodle or via the CLI (using https://github.com/daparker26/moodle-cli-delete-courses), both fail.
Reapplying permissions to the moodledata directory (www-data:www-data, 700 on directory's, 600 on files)
Deleting the contents of moodledata/cache
Running the command: php admin/cli/purge_caches.php
Renaming the "moodledata/lock" directory & creating a new empty "lock" directory with appropriate permissions.
Adding "$CFG->preventfilelocking = true" to config.php
I've done a fair bit of searching on here & google and am now properly out of ideas! Anyone able to help?
Version info:
Moodle: 2019052001.08
Release: '3.7.1+ (Build: 20190823)'
OS: Ubuntu 1804.LTS
PHP: 7.2.19-0ubuntu0.18.04.2
Apache: 2.4.29
MySQL: 5.7.27-0ubuntu0.18.04.1 - (Ubuntu)
Thanks
Gareth
Debug output:
Debug info: core_modinfo/build_course_cache_1718
Error code: locktimeout
Stack trace:
• line 618 of /lib/modinfolib.php: moodle_exception thrown
• line 457 of /lib/modinfolib.php: call to course_modinfo::get_course_cache_lock()
• line 418 of /lib/modinfolib.php: call to course_modinfo->__construct()
• line 2169 of /lib/modinfolib.php: call to course_modinfo::instance()
• line 163 of /mod/glossary/classes/local/concept_cache.php: call to get_fast_modinfo()
• line 279 of /mod/glossary/classes/local/concept_cache.php: call to mod_glossary\local\concept_cache::get_course_concepts()
• line 79 of /filter/glossary/filter.php: call to mod_glossary\local\concept_cache::get_concepts()
• line 163 of /filter/glossary/filter.php: call to filter_glossary->get_all_concepts()
• line 176 of /lib/filterlib.php: call to filter_glossary->filter()
• line 232 of /lib/filterlib.php: call to filter_manager->apply_filter_chain()
• line 1488 of /lib/weblib.php: call to filter_manager->filter_string()
• line 464 of /mod/url/locallib.php: call to format_string()
• line 109 of /mod/url/locallib.php: call to url_get_variable_values()
• line 247 of /mod/url/lib.php: call to url_get_full_url()
• line 465 of /course/lib.php: call to url_get_coursemodule_info()
• line 671 of /lib/modinfolib.php: call to get_array_of_activities()
• line 463 of /lib/modinfolib.php: call to course_modinfo::inner_build_course_cache()
• line 418 of /lib/modinfolib.php: call to course_modinfo->__construct()
• line 2169 of /lib/modinfolib.php: call to course_modinfo::instance()
• line 163 of /mod/glossary/classes/local/concept_cache.php: call to get_fast_modinfo()
• line 279 of /mod/glossary/classes/local/concept_cache.php: call to mod_glossary\local\concept_cache::get_course_concepts()
• line 79 of /filter/glossary/filter.php: call to mod_glossary\local\concept_cache::get_concepts()
• line 163 of /filter/glossary/filter.php: call to filter_glossary->get_all_concepts()
• line 176 of /lib/filterlib.php: call to filter_glossary->filter()
• line 232 of /lib/filterlib.php: call to filter_manager->apply_filter_chain()
• line 1488 of /lib/weblib.php: call to filter_manager->filter_string()
• line 282 of /calendar/renderer.php: call to format_string()
• line 170 of /calendar/classes/external/calendar_upcoming_exporter.php: call to core_calendar_renderer->course_filter_selector()
• line 139 of /calendar/classes/external/calendar_upcoming_exporter.php: call to core_calendar\external\calendar_upcoming_exporter->get_course_filter_selector()
• line 125 of /lib/classes/external/exporter.php: call to core_calendar\external\calendar_upcoming_exporter->get_other_values()
• line 3438 of /calendar/lib.php: call to core\external\exporter->export()
• line 53 of /blocks/calendar_upcoming/block_calendar_upcoming.php: call to calendar_get_view()
• line 321 of /blocks/moodleblock.class.php: call to block_calendar_upcoming->get_content()
• line 230 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
• line 1181 of /lib/blocklib.php: call to block_base->get_content_for_output()
• line 1233 of /lib/blocklib.php: call to block_manager->create_block_contents()
• line 374 of /lib/blocklib.php: call to block_manager->ensure_content_created()
• line 3909 of /lib/outputrenderers.php: call to block_manager->region_has_content()
• line 41 of /theme/fordson/layout/course.php: call to core_renderer->blocks()
• line 1370 of /lib/outputrenderers.php: call to include()
• line 1300 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
• line 244 of /course/view.php: call to core_renderer->header()