ActivityPub 플러그인: 스택 레벨이 너무 깊음

최근 4~5일 동안 로그에서 이 오류가 발생하고 있습니다:

Message (18 copies reported)

Job exception: stack level too deep
Backtrace

activesupport-7.2.2.1/lib/active_support/core_ext/object/blank.rb:166:in `present?'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:57:in `base_object_id'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'  

환경에는 대상(object)에 대한 정보가 거의 없습니다:

|queue|default|
|---|---|
|class|Jobs::DiscourseActivityPubProcess|
|args|[object Object], []|
1개의 좋아요

특정 기간 동안 해당 문제가 970건 발생했습니다. 매일 몇 건씩 꾸준히 일어나고 있어요. 하지만 실제로 눈에 띄는 문제는 보이지 않습니다.

(그리고 요즘 이상한 데드락 현상도 발생하기 시작했는데, 이건 따로 주제 삼아 다뤄볼 가치가 있겠네요)

1개의 좋아요

여전히 이 오류가 뜨는데, 어떻게 이런 상황이 발생하는지 알 수가 없습니다.

아는 건 이 정도입니다. 아니, 거의 모르겠네요.

로그에서 한 인시던트가 이 줄을 정말로 수많은 번 반복합니다. 몇 번인지 모릅니다. 스크롤을 계속 하다 보니 손목이 아파서요.

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'

base_object_id 앞의 그 따옴표(백틱)가 마음에 들지 않습니다.

링크 아이콘이 표시되고 있는데, 클릭하면 GitHub 404로 갑니다.

https://github.com/discourse/discourse/blob/3165992a90c481e5aa6fb1b18854cf7d9c3ed791/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb#L58

이건 아무 의미 없는 거죠? 해당 브랜치에는 activity-pub 디렉터리가 없는데, 왜 이렇게 표시되는 걸까요? 그냥 궁금해서 물어봅니다.

어떻게 이런 걸 놓쳤네요! 죄송합니다. 이 PR로 해결할 수 있을 것 같습니다.

1개의 좋아요

감사합니다 @angus :+1: 병합되었습니다.

2개의 좋아요

감사합니다.

매우 기초적인 질문일 수 있지만 궁금해서 묻습니다. 어디에도 의심스러운 내용은 보이지 않았고, 로그에 단순히 짜증나는 오류가 표시될 뿐이었습니다. 그 오류가 실제로 무언가를… 일으킨 건가요?

이 코드는 짧은 시간 내에 중복된 활동이 전송되는 것을 방지하는 데 사용되었습니다. 일부 다른 플랫폼에서는 때때로 이러한 동작을 수행합니다. 따라서 아무런 변화를 느끼지 못했다면, 그렇게 하는 서버와 연동되어 있지 않은 것입니다.

2개의 좋아요