instructure/canvas-lms · error · ActiveRecord::RecordNotFound

Unable to find a submission with that attempt

Error message

Unable to find a submission with that attempt

What it means

Guard in Filters::QuizSubmissions#retrieve_quiz_submission_attempt!: model_for_attempt(attempt) returned nil, i.e. the quiz submission has no version/versioned model corresponding to the requested attempt number. Raised when fetching a quiz submission for a specific attempt that doesn't exist.

Solutions

  1. Use an attempt number between 1 and the submission's actual attempt count
  2. Fetch the submission's attempt list first instead of hard-coding an attempt value
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at app/controllers/filters/quiz_submissions.rb:61 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of instructure/canvas-lms@1c9f0bb801 (2026-09-15). Data as JSON: /api/errors/98025edac5ef0749. Report an issue: GitHub.

Appendix: source

Thrown at app/controllers/filters/quiz_submissions.rb:61

    else
      query[:id] = id.to_i
    end

    unless (@quiz_submission = scope.where(query).first)
      raise ActiveRecord::RecordNotFound, "Quiz Submission not found"
    end

    @quiz_submission.ensure_question_reference_integrity!
    @quiz_submission
  end

  def require_active_quiz_submission
    require_quiz_submission(active: true)
  end

  def retrieve_quiz_submission_attempt!(attempt)
    unless (@quiz_submission = @quiz_submission.model_for_attempt(attempt.to_i))
      raise ActiveRecord::RecordNotFound, "Unable to find a submission with that attempt"
    end
  end

  def prepare_service
    participant = Quizzes::QuizParticipant.new(@current_user, temporary_user_code)
    participant.access_code = params[:access_code]
    participant.ip_address = request.remote_ip
    participant.validation_token = params[:validation_token]

    @service = Quizzes::QuizSubmissionService.new(participant)
  end
end

View on GitHub (pinned to 1c9f0bb801)