Approving a post on a closed topic gives a 500


Hope all is well at Discourse. It was good to run the blog post a couple of months ago. We are now using Discourse to power our Newsletter system as well as our Wiki.

Noticed an odd bug today. We are not on the latest version of Discourse just yet, so I cannot confirm if this has been reported and fixed yet, but we noticed a bug where approving a post on a closed topic gives a 500 error.

A moderator merged a thread today and closed the old topic. It seemed that while the mod was doing this a user added a new post. As he was new and hit some flags, the post was flagged for approval. I went to the Approve Posts section. When I tried to accept it, I received a 500 error modal. As soon as I re-opened the topic, I was able to approve the post and re-lock the thread.

If there any logs I can provide, please let me know. This bug report is not as verbose as I am happy with, but I hope I have given you enough to repro.

I would test myself but I couldn’t find an up to date reference of the Discourse post schema. In short, this is what I expect would reproduce the problem:

  1. Create a topic, add a couple of posts and close
  2. Add an SQL insert post on the topic with an unapproved status on the post.
  3. Try and approve the post via the web interface.

Hope this helps


1 Like

Basically, a race condition between queuing a post for approval and closing a topic.