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

automated_backups intermittently fail when large courses are included

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: 2.6.3, 2.6.4
    • Fix Version/s: None
    • Component/s: Backup
    • Labels:
      None
    • Affected Branches:
      MOODLE_26_STABLE

      Description

      To reproduce:
      1. Start with moodle install with a 2GB file upload limit
      2. Enable the .tgz backup format
      3. Generate a bunch of large test files (I did ones between 1GB and 1.5GB)
      4. Create a new course, set the upload limit to 2GB
      5. Upload a bunch of large files (I went to 7.5GB)
      6. Run admin/cli/automated_backups.php
      7. If the problem doesn't happen, perform some activities in the course and try again.

      Results:
      automated_backup prints "Backing up YOURCOURSE...", waits a long while, then the entire job exits with nothing printed out.

      Expected result:
      automated_backup successfully backs up the course and proceeds to back up any other courses requiring a backup.
      In particular: failure of a single backup should never cause the entire job to fail.

      I recreated this on a test moodle install with full developer debugging, and here is the end of the output of a run that reproduces this bug:

      Skipping Workshop Sandbox (Not modified since previous backup)
      Backup of 'Workshop Sandbox' is scheduled on undefined
      Backing up eisenhae-sandbox - Test of oversized courses...
      instantiating backup controller 60eb05812e71baa230e5dd6b61cd8abf
      setting controller status to 100
      loading controller plan
      setting controller status to 300
      applying plan defaults
      setting controller status to 400
      setting file inclusion to 1
      checking plan security
      setting controller status to 700
      saving controller to db
      calculating controller checksum 0243bc9901d8028a7551c9882e2787bd
      loading controller from db
      setting controller status to 700
      saving controller to db
      calculating controller checksum abf975ba3401bbb1aa75b51ea66c8a4d
      loading controller from db
      setting controller status to 800
      PHP Fatal error: Maximum execution time of 120 seconds exceeded in /var/www/moodleC/lib/filestorage/tgz_extractor.php on line 219
      PHP Stack trace:
      PHP 1.

      {main}() /var/www/moodleC/admin/cli/automated_backups.php:0
      PHP 2. backup_cron_automated_helper::run_automated_backup() /var/www/moodleC/admin/cli/automated_backups.php:94
      PHP 3. backup_cron_automated_helper::launch_automated_backup() /var/www/moodleC/backup/util/helper/backup_cron_helper.class.php:210
      PHP 4. backup_controller->execute_plan() /var/www/moodleC/backup/util/helper/backup_cron_helper.class.php:410
      PHP 5. backup_plan->execute() /var/www/moodleC/backup/controller/backup_controller.class.php:320
      PHP 6. base_plan->execute() /var/www/moodleC/backup/util/plan/backup_plan.class.php:120
      PHP 7. base_task->execute() /var/www/moodleC/backup/util/plan/base_plan.class.php:177
      PHP 8. backup_execution_step->execute() /var/www/moodleC/backup/util/plan/base_task.class.php:181
      PHP 9. backup_zip_contents->define_execution() /var/www/moodleC/backup/util/plan/backup_execution_step.class.php:34
      PHP 10. backup_general_helper::get_backup_information_from_mbz() /var/www/moodleC/backup/moodle2/backup_stepslib.php:1725
      PHP 11. mbz_packer->extract_to_pathname() /var/www/moodleC/backup/util/helper/backup_general_helper.class.php:248
      PHP 12. tgz_packer->extract_to_pathname() /var/www/moodleC/lib/filestorage/mbz_packer.php:104
      PHP 13. tgz_extractor->extract() /var/www/moodleC/lib/filestorage/tgz_packer.php:645
      PHP 14. tgz_extractor->extract_or_list() /var/www/moodleC/lib/filestorage/tgz_extractor.php:142
      PHP 15. substr() /var/www/moodleC/lib/filestorage/tgz_extractor.php:219

      Fatal error: Maximum execution time of 120 seconds exceeded in /var/www/moodleC/lib/filestorage/tgz_extractor.php on line 219

      Call Stack:
      0.0007 649400 1. {main}

      () /var/www/moodleC/admin/cli/automated_backups.php:0
      0.3590 51754568 2. backup_cron_automated_helper::run_automated_backup() /var/www/moodleC/admin/cli/automated_backups.php:94
      289.8800 92377056 3. backup_cron_automated_helper::launch_automated_backup() /var/www/moodleC/backup/util/helper/backup_cron_helper.class.php:210
      290.2509 93344424 4. backup_controller->execute_plan() /var/www/moodleC/backup/util/helper/backup_cron_helper.class.php:410
      290.2511 93344424 5. backup_plan->execute() /var/www/moodleC/backup/controller/backup_controller.class.php:320
      290.2513 93344424 6. base_plan->execute() /var/www/moodleC/backup/util/plan/backup_plan.class.php:120
      292.7128 94529048 7. base_task->execute() /var/www/moodleC/backup/util/plan/base_plan.class.php:177
      425.3428 94756000 8. backup_execution_step->execute() /var/www/moodleC/backup/util/plan/base_task.class.php:181
      425.3428 94756000 9. backup_zip_contents->define_execution() /var/www/moodleC/backup/util/plan/backup_execution_step.class.php:34
      806.0563 94764232 10. backup_general_helper::get_backup_information_from_mbz() /var/www/moodleC/backup/moodle2/backup_stepslib.php:1725
      806.0567 94764864 11. mbz_packer->extract_to_pathname() /var/www/moodleC/backup/util/helper/backup_general_helper.class.php:248
      806.0954 94764912 12. tgz_packer->extract_to_pathname() /var/www/moodleC/lib/filestorage/mbz_packer.php:104
      806.0955 94767360 13. tgz_extractor->extract() /var/www/moodleC/lib/filestorage/tgz_packer.php:645
      806.0956 94767408 14. tgz_extractor->extract_or_list() /var/www/moodleC/lib/filestorage/tgz_extractor.php:142
      928.9795 94842736 15. substr() /var/www/moodleC/lib/filestorage/tgz_extractor.php:219

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              eric.eisenhart Eric Eisenhart
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Sujith Haridasan
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: