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

moodle-assignfeedback_editpdf-editor.js can end up in an infinite loop

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 3.5.15, 3.9.3
    • Fix Version/s: None
    • Component/s: Assignment
    • Affected Branches:
      MOODLE_35_STABLE, MOODLE_39_STABLE

      Description

      mod/assign/feedback/editpdf/yui/build/moodle-assignfeedback_editpdf-editor/moodle-assignfeedback_editpdf-editor.js Has the following logic:

      poll = false;
      if (data) {
      this.documentstatus = data.status;
      if (data.status === 0) {
          // The combined document is still waiting for input to be ready.
          poll = true;} else if (data.status === 1 || data.status === 3) {
          // The combine document is ready for conversion into a single PDF.
          poll = true;} else if (data.status === 2 || data.status === -1) {
          // The combined PDF is ready.
          // We now know the page count and can convert it to a set of images.
          this.pagecount = data.pagecount;    if (data.pageready == data.pagecount) {
              this.prepare_pages_for_display(data);
          } else {
              // Some pages are not ready yet.
              // Note: We use a different polling process here which does not block.
              this.update_page_load_progress();        // Fetch the images for the combined document.
              this.start_document_to_image_conversion();
          }
      }if (poll) {
          // Check again in 1 second.
          Y.later(1000, this, this.poll_document_conversion_status);
      }
      

      If poll is never set to true, it will check forever. We found a circumstance with 58,000 requests from a single user.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            dsoini Diane Soini
            Participants:
            Component watchers:
            Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Sujith Haridasan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: