Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-61480

Uninstalling tool_usertours breaks Moodle

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      1. Install Moodle and leave the boost theme as the default
      2. Go into Administration -> Plugins -> Plugins overview
      3. Find tool_usertours and Uninstall
        1. Confirm that the page loaded successfully
      Show
      Install Moodle and leave the boost theme as the default Go into Administration -> Plugins -> Plugins overview Find tool_usertours and Uninstall Confirm that the page loaded successfully
    • Affected Branches:
      MOODLE_33_STABLE, MOODLE_34_STABLE
    • Fixed Branches:
      MOODLE_33_STABLE, MOODLE_34_STABLE
    • Pull Master Branch:
      MDL-61480-master

      Description

      As an administrator, you are allowed to uninstall the tool_usertours plugin, but if you are using the boost theme, this fails with a database error. This also appears to break Moodle such that all pages subsequently fail with this error. The error message is:

      Debug info: Table 'moodle.mdl_tool_usertours_tours' doesn't exist
      SELECT t.*
      FROM mdl_tool_usertours_tours t
      WHERE t.enabled = 1
      AND t.id IN (SELECT s.tourid FROM mdl_tool_usertours_steps s GROUP BY s.tourid)
      ORDER BY t.sortorder ASC
      [array (
      )]
      Error code: dmlreadexception
      Stack trace:

      line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
      line 1216 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
      line 69 of /admin/tool/usertours/classes/cache.php: call to mysqli_native_moodle_database->get_records_sql()
      line 82 of /admin/tool/usertours/classes/cache.php: call to tool_usertours\cache::get_enabled_tourdata()
      line 580 of /admin/tool/usertours/classes/manager.php: call to tool_usertours\cache::get_matching_tourdata()
      line 565 of /admin/tool/usertours/classes/manager.php: call to tool_usertours\manager::get_matching_tours()
      line 505 of /admin/tool/usertours/classes/helper.php: call to tool_usertours\manager::get_current_tour()
      line 75 of /admin/tool/usertours/lib.php: call to tool_usertours\helper::bootstrap()
      line 1279 of /lib/outputrenderers.php: call to tool_usertours_before_footer()
      line 437 of /lib/outputrenderers.php: call to core_renderer->footer()
      line 226 of /admin/renderer.php: call to plugin_renderer_base->__call()
      line 679 of /admin/index.php: call to core_admin_renderer->upgrade_plugin_check_page()

      To reproduce:

      1. Install Moodle and leave the boost theme as the default
      2. Go into Administration -> Plugins -> Plugins overview
      3. Find tool_usertours and uninstall it
      4. The error message appears
      5. Try to go to another page in the site (e.g. /courses/view.php?id=2)
      6. The error message appears and the page is not shown

        Attachments

          Activity

            People

            • Assignee:
              dobedobedoh Andrew Nicols
              Reporter:
              maherne Michael Aherne
              Peer reviewer:
              Michael Aherne
              Integrator:
              Jake Dallimore
              Tester:
              Gladys Basiana
              Participants:
              Component watchers:
              Andrew Nicols, Mathew May, Michael Hawkins, Shamim Rezaie, Simey Lameze, Matteo Scaramuccia, Andrew Nicols, Mathew May, Michael Hawkins, Shamim Rezaie, Simey Lameze
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Fix Release Date:
                19/Mar/18

                Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour
                1h