モデレーターが投稿を移動させようとしたところ500内部エラーが発生、トラブルシューティングの方法は?

みなさん、こんにちは。

スレッド間で投稿を移動させようとすると、まれに「500 内部サーバーエラー」が発生します。

このようなトラブルシューティングに関するチュートリアルはありますか?また、問題の詳細を確認できるログファイルはどこにありますか?

ご回答いただき、ありがとうございます :slight_smile:

Ronny

投稿を移動する際にも 500 エラーが発生しています。あるトピックに投稿を移動し、その後元のトピックに戻そうとした際に、このエラーを再現することができました。

詳細は以下の通りです:

SyntaxError: Unexpected token < in JSON at position 0
    at Function.parse [as parseJSON] (<anonymous>)
    at t (_application-1aa5dba826bc3ed623e07f37fc542db9746ecf4a5fcf6b519e5921036bface8d.js:12468)
    at _application-1aa5dba826bc3ed623e07f37fc542db9746ecf4a5fcf6b519e5921036bface8d.js:34707
    at f (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70136)
    at T (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70309)
    at E (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70295)
    at y (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:70231)
    at t.invoke (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:64637)
    at e.t.flush (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:64527)
    at e.t.flush (_ember_jquery-d430881a3fb1403871256e5a02423c4b20a78793685e92088613ca9a701baf88.js:64731)

ご返信ありがとうございます!

その間に、データベース内の表 post_timings に問題の原因があることを突き止めました。この表には、ユーザーがスレッド内で既読をつけた投稿が保存されています。私には不明な状況下で、サーバーが既に存在するエントリをこの表に書き込もうとするケースが発生することがあります。

ログを検索し、このデータベース表に関するヒントを見つけました。残念ながら、どのログを検索したかはもう覚えていません… :confused:

私の場合の解決策は、単にこの表の内容を削除することでした。すべてのユーザーがスレッドの既読状況の進捗を失い、一部のユーザーはブラウザのキャッシュ情報を上書きするために、既存のスレッドに新しい投稿を再作成する必要がありました。

私のフォーラムは非常に小さく、ユーザー数は約20名程度です。ユーザー数が多いフォーラムにはこの方法は適用できないかもしれません :wink:

Ronnyより

ロンニー、ありがとう、ええと!読了履歴が失われることになった場合、私の1万人のユーザーがあまり喜んでくれないと思います。また、過去数週間で多くのユーザーから、投稿が正しく「既読」にマークされていないという報告も受けています。これもこれで説明がつくかもしれませんね。

@sam さんや他の皆さん、テーブルを削除せずにこれを整理する方法はありますか?:slight_smile:

この修正されたバグが、未読状態の原因を説明するでしょう:

ローカル環境でこのエラーを再現しようと試みました。投稿を新しいトピックに移動し、その後元に戻すことができました。

ここで言及されているコミットがエラーの原因かどうかは判断できません。このコミットは post_timings テーブルを変更しておらず、デフォルトで無効になっている実験的な機能の一部です。念のため、この機能が有効な状態で投稿の移動を試みましたが、正常に動作しました。

もし誰かがログを共有してくだされば、非常に役立つと思います。

古い DataTable エラーのログがあれば確認してみます。ただし、テーブル内容の削除で問題は確実に解決しました(私が述べた副作用はありますが)。

すみません、検索してみたのですが、もう見つかりません……:confused:

参考までに、私も特定の投稿をスレッド間移動させようとした際に、この500エラーが発生しています。特別なことは試していないので、Discourseの担当者からログが必要であれば、何を確認すればよいか教えてください。確認してみます。

ありがとうございます。次のベータ版がリリースされたら試してみます。