Getting 500 Internal Server Error in AvatarLookup after Upgrade from 2.4.2 to 2.7.7

AI-generated summary

The user dmorlock encountered a 500 Internal Server Error in AvatarLookup after upgrading their Discourse instance from 2.4.2 to 2.7.7. The error occurred on the first requests after a fresh installation and recovery with data from 2.4. However, the errors disappeared after some retries.

RGJ suggested that the issue might be related to an outdated version of the Discourse Assign plugin, specifically the AvatarLookup constant.

After switching to the master branch instead of the stale “stable” branch, dmorlock was able to resolve the problem.

We are getting a HTTP 500 error for the first requests on a fresh 2.7.7 installation and recovery with data from 2.4:

Completed 500 Internal Server Error in 179ms (ActiveRecord: 0.0ms | Allocations: 27504)
NameError (uninitialized constant #<Class:#<Plugin::Instance:0x00007fe15d1f0e00>>::AvatarLookup)
app/models/topic_list.rb:24:in `block in preload'
app/models/topic_list.rb:24:in `preload'
app/models/topic_list.rb:148:in `load_topics'
app/models/topic_list.rb:81:in `topics'
app/serializers/suggested_topics_mixin.rb:16:in `include_suggested_topics?'
(eval):6:in `_fast_attributes'
app/controllers/application_controller.rb:519:in `render_json_dump'
app/controllers/topics_controller.rb:1147:in `block (2 levels) in perform_show_response'
app/controllers/topics_controller.rb:1137:in `perform_show_response'
app/controllers/topics_controller.rb:162:in `show'
app/controllers/application_controller.rb:395:in `block in with_resolved_locale'
app/controllers/application_controller.rb:395:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'

After some retries, the errors seem to disappear. The error can be reproduced by restarting the discourse instance. We are using the docker based Discourse installation.

Please let me know if you need further infos or let me know how I can further investigate this issue.

Thanks,
Daniel.

It looks like you’re running an old version of the Discourse Assign plugin.

Indeed, the “stable”-Branch was falsely used (which is stale). Switching to master solved the problem, thanks!

2 Likes