Handle 500 errors more gracefully
https://runescape.wiki/w/User:Cqm/Scrapbook_7 causes a 500 error to be returned. This is likely because it was designed to stress test exchange modules with a combination of DPL and Scribunto's
mw.loadData. It attempts to load up to 4500 items and display the limit of the item according to its exchange data. You might notice the
<nowiki> tag at the top of the page (which prevented it loading on Wikia) doesn't work due to the new requirement on balanced tags.
I think there's 2 issues in this:
- This shouldn't really be failing. The same page works on Wikia so evidently, there's a regression here.
- The page returned is particularly unhelpful for those that don't know what happened or aren't equipped to find out what's gone wrong. We should be returning a custom error page with a link to
Special:Contactso that those unlucky enough to find 500 errors on a page that does matter can easily report them.
I think the second task is fairly quick to implement in nginx. As I believe @tehkittycat has been doing work around that lately (and I haven't found the nginx configuration anywhere in Git to be able to do it myself), I'm assigning this to him for that purpose.
The first issue needs more debugging as to whether it's an issue with DPL, Scriunto or a combination of both. Given other issues with DPL, I'm inclined to think the issue is in that rather than Scribunto.