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'

Env 没有太多关于该对象的信息:

|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 目录,但为什么它会显示那个?我只是好奇。

我居然错过了这个!抱歉,这应该能解决问题。

1 个赞

感谢 @angus :+1: 已合并。

2 个赞

谢谢。

这是一个非常基础的问题,因为我很想知道。我没有发现任何可疑之处,日志中只是出现了一个烦人的错误。这个错误是真实存在的吗?

它被用于一段代码,该代码可以防止在短时间内发送重复的活动,而其他一些平台有时也会这样做。所以,如果你没有注意到任何东西,你并没有与执行此操作的服务器进行联合。

2 个赞