Moderator move post, get 500 internal error, how to troubleshoot

Hello everyone,

if we try to move a post from one thread to another, we sometimes get a ‘500 internal server error’

Is there some tutorial how to troubleshoot issues like this? Where can I find the log files to get details about the issue?

Thanks for every reply :slight_smile:

Greetings, 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:

로니 드림

론니, 고마워. 그리고 진짜 당황스럽네! 내 1만 명 사용자들이 읽기 기록을 잃는 것에 대해 별로 좋아하지 않을 것 같아. 지난 몇 주간 많은 사용자들로부터 게시물이 제대로 읽음 처리되지 않는다는 보고도 받았어. 아마 이것도 그 이유 때문인 것 같군.

@sam이나 다른 분들, 테이블을 삭제하지 않고 이 문제를 정리할 방법이 있을까? :slight_smile:

해결된 이 버그가 읽지 않은 상태를 설명할 수 있습니다:

방금 로컬 환경에서 이 오류를 재현해 보았습니다. 게시물을 새 토픽으로 이동한 뒤 다시 원래 위치로 되돌리는 작업은 정상적으로 수행되었습니다.

여기서 언급된 커밋이 오류의 원인인지 단정할 수 없습니다. 해당 커밋은 post_timings 테이블을 변경하지 않으며, 우리가 개발 중인 실험적 기능(기본적으로 비활성화됨)의 일부입니다. 확실하게 확인하기 위해 해당 기능을 활성화한 상태에서 게시물을 이동해 보았지만, 이 경우에도 정상적으로 작동했습니다.

누군가 로그를 공유해 주신다면 정말 도움이 될 것입니다.

데이터테이블 오류에 대한 이전 로그가 있는지 확인해 보겠습니다. 하지만 테이블 내용 삭제는 제가 언급한 부수적 영향과 함께 문제를 확실히 해결했습니다.

죄송합니다. 찾아보았지만 더 이상 찾을 수가 없네요… :confused:

참고로, 특정 게시글을 다른 스레드로 이동하려고 할 때 저도 500 오류가 발생하고 있습니다. 특별한 작업은 하지 않았으니, Discourse 측에서 로그가 필요하시다면 무엇을 확인해야 하는지 알려주시면 가능한지 살펴보겠습니다.

감사합니다. 다음 베타 버전이 출시되면 시도해 보겠습니다.