Topic closed without system record

I really need more information to properly dig in to this. I’m willing to try a few more things, but I just don’t have much to go on. I don’t think just looking at a topic as an anon user is going to give me anything useful at this point. You may need to seek out someone in the #marketplace that can dig into your logs, site settings, and database to really see what’s going on.

@littleviolette does your site suppress edit history? The screenshot in the OP of this topic does not seem like a self-deleted topic since the content is all there and there is no edit icon next to the timestamp. If it was self-deleted, it should show something like “deleted by author” and an edit indication.

@Fabby At this point, I’m unsure if you and littleviolette are experiencing the same thing. You had decided not to look into some of the suggestions based on some of littleviolette’s answers, so I’d like to circle back. Is there any follow up here:

I also would like to know if you use the API or run any integrations with other services.

If you two can give me your best summary of the problem again based on everything you’ve observed since the start of this topic, that would be appreciated! It’s getting a little hard to follow everything, so a summary I can refer back to while testing would be awesome.

2 Likes

Hey Taylor,

Summary:

  1. Currently running 2.8.0.beta4, issue is still happening

  2. Plugins from today:

    Name Version Enabled?
    Discourse-auto-deactivate Automatically deactivates inactive users so that they need to recomfirm their email in order to login in again 0.0.1 Y
    discourse-chat-integration This plugin integrates discourse with a number of chat providers 0.1 Y
    discourse-fingerprint Computes user fingerprints to help administrators combat internet trolls. 2 Y
    discourse-push-notifications Plugin for integrating Chrome and FireFox push notifications 0.3.0 Y
    discourse-solved Add a solved b utton to answers on Discourse 0.1 Y
    discourse-user-notes Gives the ability for staff members to attach notes to users 0.0.2 Y
    docker_managerdocker_manager Docker manager for Discourse image 0.1 Y
    procourse-installer A Discourse plugin for discovering and installing other Discourse plugins. 0.1 Y
    retort React7ions plugin for Discourse 1.2.3 Y
    styleguide Preview how Widgets are Styled in Discourse 0.2 N
  3. Unlimited edits on first post enabled: issue still happening

  4. If we filter we cannot see anything for that time: no system, no discobot, no mod. (it would be nice if we could filter discobot out!)

  5. I don’t understand what this means: Post a topic there with the problem definition and the above summary asking for someone that can dig into your logs, site settings, and database to really see what’s going on ???

  6. Is there any technical information (HTML / Wiki / PDF manuals; no video’s, please!) available on Discourse that allows us to look into this ourselves because you’re dealing with a bunch of Nerds and Geeks here (With Capitals) and he have PostgreSQL, networking, virtualisation, devs, *nix enigneering, Windows professionals in our mod team…

:question:

1 Like

If you examine the topics table in your database you should be able to figure out the exact moment the topic was closed (for instance by inspecting the updated_at column). You might want to run a script that periodically dumps the contents of the topic table so you can go back in time. If you happen to have set up a Postgresql replication log you might be able to leverage that.

Then you need to find out if there was something that triggered this. This can be either a Sidekiq job (so you need to inspect the Sidekiq job queue to see which jobs ran around that time), a user action (so you need to inspect production.log or the nginx log file) or an external actor (API client, Zapier and such) calling the API (this can also be found in production.log or the nginx log file).

3 Likes

Richard,

  • Thank you for the information and if I knew where to look, I’m pretty sure that would be very helpful to me. :grin:
  • Could you please take 3 steps back and give me a link to a document describing step 1, as I’m a moderator on the site and have never installed Discourse and the Manjaro discourse owners are also the Manjaro project leads so pretty busy.
  • Is being a moderator enough or do I need to be asked to be promoted to owner to dig that deep?

The only things I know about discourse are:

  • Sam and Code_horror are the founders
  • It runs on a PostgreSQL back-end (which I have installed / run before)
  • There is one level up in the hierarchy from moderator and that is Owner
  • Discourse is pretty good software! :joy:

:upside_down_face: :confused:

I’m a bit confused here.

since you said

so they should be able to figure out what I said?

Anyway. I do not have such a document - and if you’re going to need that much hand holding I’m afraid you should follow Taylors suggestion and post in #marketplace after all. There is no role “owner” and you will need system level access (so outside of Discourse, on the system itself).

4 Likes

Thank you. Clearer now. I’ll post a summary of this conversation locally on the mod’s board and see what comes out.

:+1:

1 Like

@tshenry ,

Thank you for circling back and apologies for the delayed response. Here is what we have observed so far:

  1. A topic is shown as locked without any record of the system or a user locking it. Such record cannot be found in Logs either. The mysterious auto-close happens only to topics with only the first post, presumably soon after the post was created based on the screenshot our user has submitted below showing the original post was created 2m ago.

  1. Approximately 1 day after the original post was created, the system deletes the original post. Here are the timestamps of two topics that have been locked without record then subsequently deleted by the system.

Original post created: Aug. 26, 2021 6:34PM
Original post deleted by system: Aug. 27, 2021 6:41PM

Original post created: Jul 31, 2021 5:48PM
Original post deleted by the system: Aug. 01, 2021 6:02PM

This is an example screenshot of the topic that I posted in the OP of this thread today:

Regarding our forum configurations:

  1. No we do not suppress edit history;
  2. We do not have any unofficial plugins installed to our knowledge. Here are the plugins we have installed on our forum:

  1. We have auto-close topics set up in some categories, but this mysterious auto-close occurs in categories that do not have auto-close timer set up as well;
  2. We do not have solved topics auto close hours set up;
  3. Our mods do not manually add auto-close timers to topics or attempt to manually cancel existing timers;
  4. Topics with this issue are not topics that were moved between categories?
  5. We are running on 2.8.0.beta6, updated 2 days ago. We haven’t had any reporting of this abnormal auto-close behavior recently. I will report back if we see it again.

Thank you for your help!

4 Likes

Reporting back:

I spotted two auto-closed threads recently from the same OP without system record. I immediately contacted the OP and asked whether he just deleted the posts and the OP said yes. This happened in a category that does not have an auto-close timer set.

I suspect the issue is related to the OP deleting the first post. However, when I re-opened one of the threads this time, the original post doesn’t get deleted after 24 hours. I am not sure why, but I hope this provide some context for those who have the capability to troubleshoot.

Thanks a lot!

3 Likes

@tshenry In case it might help with debugging, this has happened twice on our discourse.group forum as well. Here’s a link to a mysteriously closed topic (already reopened): https://igraph.discourse.group/t/how-should-i-do-for-reducing-graph-object-memory-usage/909

I asked about this on Discourse Meta here:

EDIT: It seems that this happens when the user who posted attempts to delete their post. Deleted posts appear locked to outside viewers, without an indication that the post was in fact deleted (and not just locked). The good news is that the person who posted can “unlock” it by undeleting. See the above-linked topic for more details.

3 Likes

Ohh, this is looking very promising! I have had a lot of other things on my plate recently, so I haven’t had a great opportunity to dive back in. I’ll try to give it another go this week. Hopefully I can come up with a definitive repro to pass to the dev team given the great info everyone has shared.

Thanks to everyone that’s helped with trying to figure this one out!

Edit: Ran out of time this week, but have it high up on my list next week.

3 Likes

Hey @IAmGav :wave:

Would you mind confirming all of the steps you took to reproduce this issue? No detail is too small at this point! I’ve tried many times, many ways to trigger it without success on try.discourse.org. Are you able to trigger it there by chance?

These are the main points I’ve tried from the user side of things:

  • using the exact topic title and content you did
  • self-deleting the topic immediately
  • self-deleting the topic after the edit grace period
  • both as trust level 0 and 1
  • selecting a category and tag

In all cases so far, an edit revision appears on the post and the contents are replaced with “(topic deleted by author)”

I’m in contact with @szhorvat as well to try to cover the admin side of things, hoping to see if there are any interesting site setting configurations.

1 Like

i tried it on try.discourse and it did give the expected behavior

I also tried to on a site i create last night for testing and it also worked

So it might be something on that site.

1 Like

Step what I did on site to replicate the issue.

  1. create an account
  2. confirm email to account
  3. create a normal post
  4. delete created post

it’s that easy

1 Like

@szhorvat when last did you do an upgrade in the command line ?

@tshenry could it be because of the PostgreSQL bug that was found ?

We are using Discourse’s hosting, so I don’t / can’t do upgrades myself. I think it’s always automatically updated to the latest beta version.

1 Like

Oh yes, you told me before :man_facepalming:t3:

Sorry.

Will wait for @tshenry response

1 Like

This should be fixed in:

The repro steps are rather simple when you figure out what’s going on :grinning_face_with_smiling_eyes: :

  1. As an admin, change the min_first_post_length to something larger than 25

  2. As a regular user, create a topic and delete it

  3. You’d expect the topic to be closed and edited to say (topic deleted by author), but it will only get closed

What’s happening here is the (topic deleted by author) string is shorter than min_first_post_length and when the system edits the topic, the post length validations will not allow the edit to go through but the topic will be closed because it’s done separately.

My fix above bypasses all validations for the revision that the system makes when a user deletes their posts.

10 Likes

That is an impressive bit of bug-hunting. :clap::slightly_smiling_face:

5 Likes

It definitely became a lot easier to track down thanks to everyone’s efforts here! I imagine it’d have taken me 2-3 times as much time if it were not for the awesome detective work done here :heart:

5 Likes

This topic was automatically closed after 10 days. New replies are no longer allowed.