프로필 링크가 404 오류 발생

갑자기 모든 사용자 프로필이 404 페이지로 이동합니다.

무슨 일이 있었는지 혹시 아이디어가 있으신가요?

누군가 도와줄 수 있나요?

이 문제가 발생하기 전에 특별히 어떤 작업을 수행했는지 등 더 자세한 내용을 공유해 주실 수 있나요?

또한, /u/ 페이지와 관련된 오류나 사용자 프로필에 접근을 시도했던 시점前后에 발생한 오류가 있는지 /logs를 확인해 보세요.

사용자들이 불만을 제기하기 시작했을 때 며칠 전에야 처음 알게 되었습니다. 하지만 몇 주 전에 모든 것을 최신 버전으로 업데이트했을 때일 수도 있습니다.

이것을 말씀하시는 건가요?

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>'

또는 이 코드:

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'

과거에 이 문제가 플러그인 때문에 발생했던 것 같은 기억이 납니다. 안전 모드에서 시도해 보거나, 모든 서드파티 플러그인을 제거한 상태로 테스트해 보세요.

백엔드를 재구축했지만 문제는 여전히 남아 있습니다.

다만, 지금은 관리자 계정으로 로그인했을 때만 발생하는 상황입니다.

일반 사용자(또는 게스트)는 프로필 이름을 클릭하면 배지를 볼 수 있습니다.

이 문제는 사라지지 않을 것 같습니다.

정말 이상합니다: 로그인하지 않은 상태에서는 모든 프로필 배지를 볼 수 있습니다.

하지만 관리자 계정으로 로그인하면 404 오류가 나요.

관리자 패널에서도 마찬가지입니다. 사용자 섹션의 어떤 링크에도 접근할 수 없어요.

관리자로서 프로필을 확인하거나 비밀번호를 변경하는 등 사용자 관련 작업을 전혀 할 수 없습니다.

도와주실 분 계신가요?

제 개발자도 이 문제에 대해 포기해 버렸거든요…