Profiles link to 404

AI-generated summary

The discussion is about a bug in a Discourse forum where user profiles link to a 404 page. absi initially reported the issue and was asked by osioke to provide more details and check the logs for errors. absi shared the logs, which showed errors related to Active Model Serializers. codinghorror suggested trying safe mode and removing third-party plugins as a possible solution.

After rebuilding from the backend, absi found that the issue was still present, but only when logged in as an admin. Normal users and guests can view profile badges without issues. absi is unable to access user profiles, change passwords, or perform other user-related tasks as an admin, and their developer has given up on resolving the issue.

Suddenly all user profiles are going to 404 page.

Any ideas what happened?

Can someone help me?

Can you share more details like if you did anything before this issue happened?

Also, try checking /logs for errors relating to the /u/ pages or errors that happen around the same time you tried to access a user profile.

I only noticed a few days ago when users started complaining. But it could be when I updated everything a few weeks ago to latest version.

You mean this?

activemodel-6.0.1/lib/active_model/attribute_methods.rb:431:in `method_missing'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:99:in `block in attribute'

(eval):12:in `_fast_attributes'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:468:in `rescue in attributes'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:455:in `attributes'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:480:in `_serializable_hash'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:359:in `serializable_hash'

active_model_serializers-0.8.4/lib/active_model/serializer/associations.rb:124:in `block in serialize'

activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'

activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'

active_model_serializers-0.8.4/lib/active_model/serializer/associations.rb:123:in `map'

active_model_serializers-0.8.4/lib/active_model/serializer/associations.rb:123:in `serialize'

/var/www/discourse/lib/freedom_patches/ams_include_without_root.rb:57:in `include!'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:368:in `block in include_associations!'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:367:in `each_key'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:367:in `include_associations!'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:362:in `serializable_hash'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:343:in `as_json'

activesupport-6.0.1/lib/active_support/json/encoding.rb:22:in `encode'

activesupport-6.0.1/lib/active_support/json/encoding.rb:22:in `encode'

activesupport-6.0.1/lib/active_support/core_ext/object/json.rb:42:in `to_json'

active_model_serializers-0.8.4/lib/active_model/serializer.rb:331:in `to_json'

multi_json-1.14.1/lib/multi_json/adapters/oj.rb:56:in `dump'

multi_json-1.14.1/lib/multi_json/adapters/oj.rb:56:in `dump'

multi_json-1.14.1/lib/multi_json/adapter.rb:25:in `dump'

multi_json-1.14.1/lib/multi_json.rb:139:in `dump'

/var/www/discourse/app/controllers/application_controller.rb:453:in `render_json_dump'

/var/www/discourse/app/controllers/users_controller.rb:93:in `block (2 levels) in show'

actionpack-6.0.1/lib/action_controller/metal/mime_responds.rb:214:in `respond_to'

/var/www/discourse/app/controllers/users_controller.rb:85:in `show'

actionpack-6.0.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack-6.0.1/lib/abstract_controller/base.rb:196:in `process_action'

actionpack-6.0.1/lib/action_controller/metal/rendering.rb:30:in `process_action'

actionpack-6.0.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'

activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'

actionpack-6.0.1/lib/abstract_controller/callbacks.rb:41:in `process_action'

actionpack-6.0.1/lib/action_controller/metal/rescue.rb:22:in `process_action'

actionpack-6.0.1/lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'

activesupport-6.0.1/lib/active_support/notifications.rb:180:in `block in instrument'

activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport-6.0.1/lib/active_support/notifications.rb:180:in `instrument'

actionpack-6.0.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'

actionpack-6.0.1/lib/action_controller/metal/params_wrapper.rb:245:in `process_action'

activerecord-6.0.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack-6.0.1/lib/abstract_controller/base.rb:136:in `process'

actionview-6.0.1/lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler-1.1.6/lib/mini_profiler/profiling_methods.rb:78:in `block in profile_method'

actionpack-6.0.1/lib/action_controller/metal.rb:191:in `dispatch'

actionpack-6.0.1/lib/action_controller/metal.rb:252:in `dispatch'

actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:51:in `dispatch'

actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:33:in `serve'

actionpack-6.0.1/lib/action_dispatch/journey/router.rb:49:in `block in serve'

actionpack-6.0.1/lib/action_dispatch/journey/router.rb:32:in `each'

actionpack-6.0.1/lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack-6.0.1/lib/action_dispatch/routing/route_set.rb:837:in `call'

/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:68:in `call'

rack-2.0.8/lib/rack/tempfile_reaper.rb:15:in `call'

rack-2.0.8/lib/rack/conditional_get.rb:25:in `call'

rack-2.0.8/lib/rack/head.rb:12:in `call'

/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'

/var/www/discourse/lib/middleware/anonymous_cache.rb:318:in `call'

rack-2.0.8/lib/rack/session/abstract/id.rb:259:in `context'

rack-2.0.8/lib/rack/session/abstract/id.rb:253:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/cookies.rb:648:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport-6.0.1/lib/active_support/callbacks.rb:101:in `run_callbacks'

actionpack-6.0.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'

logster-2.6.3/lib/logster/middleware/reporter.rb:43:in `call'

railties-6.0.1/lib/rails/rack/logger.rb:38:in `call_app'

railties-6.0.1/lib/rails/rack/logger.rb:28:in `call'

/var/www/discourse/config/initializers/100-quiet_logger.rb:18:in `call'

/var/www/discourse/config/initializers/100-silence_logger.rb:31:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'

/var/www/discourse/lib/middleware/enforce_hostname.rb:17:in `call'

rack-2.0.8/lib/rack/method_override.rb:22:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/executor.rb:14:in `call'

rack-2.0.8/lib/rack/sendfile.rb:111:in `call'

actionpack-6.0.1/lib/action_dispatch/middleware/host_authorization.rb:77:in `call'

rack-mini-profiler-1.1.6/lib/mini_profiler/profiler.rb:184:in `call'

message_bus-2.2.3/lib/message_bus/rack/middleware.rb:57:in `call'

/var/www/discourse/lib/middleware/request_tracker.rb:181:in `call'

railties-6.0.1/lib/rails/engine.rb:526:in `call'

railties-6.0.1/lib/rails/railtie.rb:190:in `public_send'

railties-6.0.1/lib/rails/railtie.rb:190:in `method_missing'

rack-2.0.8/lib/rack/urlmap.rb:68:in `block in call'

rack-2.0.8/lib/rack/urlmap.rb:53:in `each'

rack-2.0.8/lib/rack/urlmap.rb:53:in `call'

unicorn-5.5.3/lib/unicorn/http_server.rb:605:in `process_client'

unicorn-5.5.3/lib/unicorn/http_server.rb:700:in `worker_loop'

unicorn-5.5.3/lib/unicorn/http_server.rb:548:in `spawn_missing_workers'

unicorn-5.5.3/lib/unicorn/http_server.rb:144:in `start'

unicorn-5.5.3/bin/unicorn:128:in `<top (required)>'

/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'

/var/www/discourse/vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'

Or this one:

Failed to backfill 'Editor' badge: {:post_ids=>[1604], :user_ids=>[ ]}

/var/www/discourse/app/services/badge_granter.rb:370:in `rescue in backfill'

/var/www/discourse/app/services/badge_granter.rb:270:in `backfill'

/var/www/discourse/app/services/badge_granter.rb:172:in `block (2 levels) in process_queue!'

activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'

activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'

/var/www/discourse/app/services/badge_granter.rb:171:in `block in process_queue!'

/var/www/discourse/app/services/badge_granter.rb:165:in `each'

/var/www/discourse/app/services/badge_granter.rb:165:in `process_queue!'

/var/www/discourse/app/jobs/scheduled/process_badge_backlog.rb:7:in `execute'

/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'

rails_multisite-2.0.7/lib/rails_multisite/connection_management.rb:63:in `with_connection'

/var/www/discourse/app/jobs/base.rb:221:in `block in perform'

/var/www/discourse/app/jobs/base.rb:217:in `each'

/var/www/discourse/app/jobs/base.rb:217:in `perform'

/var/www/discourse/app/jobs/base.rb:279:in `perform'

mini_scheduler-0.12.2/lib/mini_scheduler/manager.rb:86:in `process_queue'

mini_scheduler-0.12.2/lib/mini_scheduler/manager.rb:36:in `block (2 levels) in initialize'

I vaguely remember this being caused by a plugin in the past. Try in safe mode, try with all third party plugins removed.

We rebuilt from the backend but the problem is still there.

However now it is only when logged in as an admin.

Any normal user (or guest) can click on profile names and see the badges.

This problem is not going away.

It is so odd: I can view all profile badges when not logged in.

But when logged in as admin it goes to 404.

Even in the control panel; I cannot access any links in the user section.

Impossible to view profiles, change password or do anything related to users (as an admin).

Anyone know how to help me?

My developer has given up on this…