Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unhandled error when Canvas designer/teacher roles scan a past enrollment course #884

Open
mrash2 opened this issue Jan 27, 2023 · 3 comments

Comments

@mrash2
Copy link

mrash2 commented Jan 27, 2023

When a Canvas user with a designer or teacher role scans a course from a past enrollment term, the scan does not complete properly, the UDOIT UI elements are unclickable, and a JavaScript error is displayed in the console. We've only been able to replicate this with the designer and teacher roles in Canvas with a course that has either been manually concluded or for which the course availability date has passed because the enrollment term has ended. We tried manually updating the course conclusion date and unchecking the option to prevent student access after that date, with the same result.

The JavaScript error seems to be that UDOIT is trying to read an HTML response (which appears to be a 500 error) as JSON. We are enforcing scopes and all else seems to be fine. These users are able to scan courses in the current enrollment term and default term with no issues. We have not been able to determine if any relevant custom permissions have been adjusted for these roles. Account Admins are able to scan previous courses with no issue.

image

@mrash2
Copy link
Author

mrash2 commented Mar 23, 2023

I just came across another course potentially with this same issue, but this one is within the current, active term. I'm not sure if this is a separate issue or if the one that I had originally suspected was linked to past enrollments is indeed something else. Are there any specific content items or issues I should consider looking at within the course that could be causing this error? This is a large course, so if there are any specific issues you can think of that I should check, that would be helpful. We're not noticing any issues with other users or courses, other than those mentioned previously in the original issue.

The first error that appears in the console is "Canvas front-end did not successfully start! (e is not iterable)."
image

The scan finally times out with HTML again being read as JSON.
image

@mrash2
Copy link
Author

mrash2 commented Mar 24, 2023

Another possible clue: if I select the "VM47:1" link next to the JSON error in the console, I see the HTML content is an nginx error page that is trying to be read as JSON. I'm not sure what in the course is leading to this error page, but it doesn't appear UDOIT is handling properly.

I've gone through all of the content within modules to look for anything unusual and so far have not found anything. I similarly perused the course files and several external content embeds, but so far not seeing anything that should cause this. I'll continue looking, but wanted to update here.

image

Also, in my previous comment, I think the first error message about the Canvas front-end is occurring even on successful scans in other courses, so that may be an unrelated and/or non-issue.

@mrash2
Copy link
Author

mrash2 commented Mar 24, 2023

Since the error appears to be nginx-related, is it possible that something like worker connections is insufficient to allow the scan to fully run? Here's what I've done since my last comment:

  1. Copied the content, one type at a time (e.g., syllabus, then modules, then announcements, etc.) into a separate, blank Canvas course site, and ran a scan after each import to try to pinpoint when the error appears.
  2. When I got to the course pages, there were almost 400, so I started importing 20 pages at a time, running a scan after each to see if the error appeared. It occurred somewhere within the 4th set of 20 pages.
  3. Cleared all the course content and imported only the pages and ran a scan. The error did not appear this time, so the issue does not appear to be linked to something on a particular page. I then imported the syllabus and modules, ran a scan, and the error re-emerged. Prior to this, the last successful scan resulted in 945 UDOIT errors and 434 suggestions, if that helps any.

Could the issue simply be an app or server adjustment to allow more processing to prevent the timeout?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant