Логи: ошибка «Job exception: unexpected return»

Привет :wave:

Я заметил эту ошибку в /logs. Она, вероятно, связана с этим коммитом: PERF: defer loading channels (#26155) · discourse/discourse@bbb8595 · GitHub

info

Job exception: unexpected return
backtrace
/var/www/discourse/plugins/chat/app/services/chat/list_channel_messages.rb:177:in `block in update_user_last_channel'
/var/www/discourse/lib/scheduler/defer.rb:115:in `block in do_work'
rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:109:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:97:in `block (2 levels) in start_thread'

Ещё немного информации:

  • Функция тредов сейчас отключена на моём сайте.

  • Я заметил, что ошибка появляется в /logs, когда я открываю чат и он переключается на последний посещённый канал. Если я возвращаюсь к списку каналов и закрываю чат, то ошибка больше не появляется в /logs после повторного открытия чата.

Воспроизведение:

  1. Откройте чат и перейдите в канал
  2. Закройте чат
  3. Откройте чат снова — он переключится на последний посещённый канал

Ошибка должна появиться в /logs.

Редакция: Похоже, это иногда происходит также при переходе в канал из списка каналов.
Редакция 2: Это происходит, когда я перехожу в последний посещённый канал из списка каналов.

Спасибо :slightly_smiling_face:

2 лайка

Отличное замечание, @Don, спасибо. Будет исправлено в FIX: do not use return in block by jjaffeux · Pull Request #26260 · discourse/discourse · GitHub

3 лайка