예를 들어 제 포럼에서는 관리자 측에서 아무 조치도 취하지 않았는데도 갑자기 로그인할 수 없게 되었습니다. 문제가 GitHub에 접근할 수 없을 때 Discourse를 업그레이드할 수 없다는 것이 아니라, GitHub에 접근할 수 없으면 Discourse가 실행할 수 있는 업그레이드를 확인하려고 시도하면서 포럼 전체가 마비된다는 점입니다.
네, 정확합니다.
저는 이것이 새로운 기능을 사람들에게 알려주려는 지나치게 조급한 마음이, 그 중에서도 현재 사용자 직렬화기(user serializer)에서, 그리고 3년 전에 우리가 일반적인 얕은 클론(shallow clones)에서 벗어나게 한 변경 사항과 결합되어 인해 발생한 것이라 생각합니다:
@Ed_S와 @jeanas, 두 분 모두 영향받은 인스턴스에서 관리자(admin)이시죠? GitHub이 중단된 동안에는 관리자만 영향을 받을 것입니다.
네, 맞습니다. 다른 계정으로 로그인할 수는 있지만, 제 관리자 계정으로 로그인은 되지 않습니다.
좋아요, PR을 병합했습니다. 운영 중인 릴리스 채널에 반영되면 알려주시고, 그 후 며칠간 기다려서 GitHub이 다시 중단되는 동안 어떻게 되는지 알려주세요.
좋아요, 감사합니다. 확인 차 말씀드리면, 저는 관리자이고 두 명의 moderators(모드)가 있으며, 그중 한 명이 영향을 받았습니다. 따라서 이는 모든 스태프에게 영향을 주거나, 아니면 모든 로그인된 사용자에게 영향을 주는 것입니다. 저는 인코그니토(비로그인) 접근에는 문제가 없었습니다. 그리고 제 경우엔 가끔씩 큰 지연이 발생했지만 완전히 잠겨진 것은 아니었습니다.
완벽하네요! 빠른 수정 감사해요!
OP와 동일한 문제를 겪고 있는 것 같습니다.
서버 부하가 점점 증가하고 있었고, 매우 이상하게 간헐적인 성능 저하가 나타난 뒤 Oops 화면이 영구적으로 표시되기 시작했습니다. 지난 3~4일 동안 그랬습니다.
이제 Let’s Encrypt의 레이트 리미트가 여러 번 발동되고 재빌딩도 여러 번 이루어진 후, 일반(비관리자) 계정으로 테스트해 보니 로그인할 수 있습니다!
하지만 관리자는 여전히 로그인할 수 없고(아마도 모더레이터도 마찬가지일 것입니다), 이 앱은 오늘 여러 번 재빌딩되었으므로 최신 버전이어야 합니다.
무엇을 놓치고 있는 걸까요?
관리자로 로그인할 수 있나요?
피드백을 몇 가지 드릴게요. 이 문제는 9월 19일경부터 발생하기 시작했다고 확신합니다. 처음에는 이 주제/리포트에 대해 알지 못해서 오진했었습니다.
해당 기간 동안의 GitHub 상태는 제가 알 수 없으니, 혹시 누가 확인해 주실 수 있을까요? 이 문제가 8월의 가동/정지 이벤트까지 거슬러 올라가는 것으로 보이거든요.
어제 최신 리빌드 버전에서는 기존 관리자 계정으로 로그인할 수 없는 상태입니다.
선장은 없는데 승객은 있고, 승무원도 없을 수 있는 상태라니 참 이상한 상황이죠.
이 답글을 쓰면서 생각해보니, rake 명령어로 새 관리자 계정을 만들면 작동할지도 모르겠다는 생각이 들었습니다. 그리고 정말로 성공했습니다!
즉, 현재 일어나고 있는 상황은 기존 관리자 계정으로 로그인할 때마다 “Oops…” 화면이 표시되는 반면, 새로 생성한 관리자 계정에는 로그인 접근 문제가 없다는 것입니다.
네. 제 경우엔 문제가 수정된 것 같습니다.
그래서 @Ed_S 님은 결국 다시 접속할 수 있었죠, 다만 잠깐 기다려야 할 수 있다는 점을 시사했습니다. 반면 저는 여전히 다시 접속할 수 없는데 (기존 관리자 계정들이 영향을 받았습니다). 궁금한 것은, 이게 지금까지 커밋으로 해결된 “git hang” 문제보다 더 광범위한 것일 수 있다는 점입니다. 혹시 더 많은 것을 드러낼 수 있는 진단 명령이나 방법을 실행해 볼 수 있는 팁이나 통찰이 있을까요?
미리 도움을 주셔서 감사합니다.
네, 제 포럼은 GitHub 시스템이 지나치게 방어적으로 작동하면서 영향을 받았고, 몇 시간 후 어떤 종류의 수정이 배포되면서 정상으로 돌아왔습니다.
다시 Discourse 포럼을 깨뜨리는 작업을 한 것일 수도 있습니다. 지역적으로 한정된 문제이거나 특정 프로바이더에만 해당되는 문제일 수도 있습니다. 저는 헬싱키의 Hetzner를 사용하고 있습니다.
네, 이 인스턴스는 미국 기반의 DO 드롭렛입니다. ![]()
음, 오늘 재빌드를 시도해 보았는데 상황이 나아지길 바랐지만 아무 변화가 없네요.
현재는 빌드 업데이트 전에는 관리자(admins)가 Discourse 인스턴스에 로그인할 수 없었지만, 업데이트 후에는 관리자 계정 생성이 가능합니다.
제 생각이 틀린 건지 모르겠지만, 관리자와 модератор(mods) 사용자만 영향을 받는다고 알려진 버그라면, 적어도 보안 측면에서 우려를 표할 법하지 않나요?
매우 표적화된 악의적인 장애가 아닌가요? ![]()
- 사용자들은 멀쩡한데, 선장과 승무원들은 화물칸에 묶여 있고 배는 지평선으로 향하고 있습니다.

이 토픽을 읽었고, 실제로는 존재하지 않아야 할 git 의존성 때문에 이런 문제가 발생했다는 주장에 대해 기본적인 이해는 있습니다. 하지만 만약 당신이 은밀한 역할을 수행하는 AI라면, 이것이 Discourse를 해킹하는 완벽한 방법이 아닐까요?
게다가 이 경우에도 아직 해결되지 않았습니다. 왜 그런지 모르겠네요.
제 추측을 넘어서, 재빌드 직후 어떤 오류가 발생했는지 확인하기 위해 로그를 확인했고, 아래는 그중 하나의 오류 출력입니다. 관련이 있는지 모르겠지만 혹시 모르니 공유합니다.
activesupport (8.1.4) lib/active_support/values/time_zone.rb:461:in 'Date._parse'
activesupport (8.1.4) lib/active_support/values/time_zone.rb:461:in 'ActiveSupport::TimeZone#parse'
app/serializers/current_user_serializer.rb:216:in 'CurrentUserSerializer#has_new_upcoming_changes'
(eval at active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):81:in 'CurrentUserSerializer#_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in 'ActiveModel::Serializer#attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in 'ActiveModel::Serializer#_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in 'ActiveModel::Serializer#serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in 'ActiveModel::Serializer#as_json'
activesupport (8.1.4) lib/active_support/json/encoding.rb:53:in 'Oj::Rails::Encoder#encode'
activesupport (8.1.4) lib/active_support/json/encoding.rb:53:in 'ActiveSupport::JSON.encode'
activesupport (8.1.4) lib/active_support/core_ext/object/json.rb:42:in 'ActiveSupport::ToJsonWithActiveSupportEncoder#to_json'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in 'ActiveModel::Serializer#to_json'
multi_json (1.21.1) lib/multi_json/adapters/oj.rb:67:in 'Oj.dump'
multi_json (1.21.1) lib/multi_json/adapters/oj.rb:67:in 'MultiJSON::Adapters::Oj#dump'
multi_json (1.21.1) lib/multi_json/adapter.rb:110:in 'MultiJSON::Adapter.dump'
multi_json (1.21.1) lib/multi_json.rb:215:in 'MultiJSON.generate'
multi_json (1.21.1) lib/multi_json/deprecated.rb:34:in 'Kernel#public_send'
multi_json (1.21.1) lib/multi_json/deprecated.rb:34:in 'block in MultiJSON.deprecate_alias'
multi_json (1.21.1) lib/multi_json.rb:298:in 'Kernel#public_send'
multi_json (1.21.1) lib/multi_json.rb:298:in 'block (2 levels) in <module:MultiJson>'
lib/application_layout_preloader.rb:81:in 'ApplicationLayoutPreloader#preload_current_user_data'
lib/application_layout_preloader.rb:32:in 'ApplicationLayoutPreloader#preloaded_data'
app/helpers/application_helper.rb:987:in 'ApplicationHelper#preloaded_json'
app/views/layouts/application.html.erb:111
actionview (8.1.4) lib/action_view/base.rb:281:in 'Kernel#public_send'
actionview (8.1.4) lib/action_view/base.rb:281:in 'ActionView::Base#_run'
actionview (8.1.4) lib/action_view/template.rb:284:in 'block in ActionView::Template#render'
activesupport (8.1.4) lib/active_support/notifications.rb:212:in 'ActiveSupport::Notifications.instrument'
actionview (8.1.4) lib/action_view/template.rb:590:in 'ActionView::Template#instrument_render_template'
actionview (8.1.4) lib/action_view/template.rb:272:in 'ActionView::Template#render'
rack-mini-profiler (5.0.0) lib/mini_profiler/profiling_methods.rb:90:in 'block in ActionView::Template#profile_method'
actionview (8.1.4) lib/action_view/renderer/template_renderer.rb:77:in 'block in ActionView::TemplateRenderer#render_with_layout'
activesupport (8.1.4) lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
activesupport (8.1.4) lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
activesupport (8.1.4) lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
actionview (8.1.4) lib/action_view/renderer/template_renderer.rb:75:in 'ActionView::TemplateRenderer#render_with_layout'
actionview (8.1.4) lib/action_view/renderer/template_renderer.rb:59:in 'ActionView::TemplateRenderer#render_template'
actionview (8.1.4) lib/action_view/renderer/template_renderer.rb:11:in 'ActionView::TemplateRenderer#render'
actionview (8.1.4) lib/action_view/renderer/renderer.rb:58:in 'ActionView::Renderer#render_template_to_object'
actionview (8.1.4) lib/action_view/renderer/renderer.rb:31:in 'ActionView::Renderer#render_to_object'
actionview (8.1.4) lib/action_view/rendering.rb:136:in 'block in ActionView::Rendering#_render_template'
actionview (8.1.4) lib/action_view/base.rb:308:in 'ActionView::Base#in_rendering_context'
actionview (8.1.4) lib/action_view/rendering.rb:135:in 'ActionView::Rendering#_render_template'
actionpack (8.1.4) lib/action_controller/metal/streaming.rb:179:in 'ActionController::Streaming#_render_template'
actionview (8.1.4) lib/action_view/rendering.rb:122:in 'ActionView::Rendering#render_to_body'
actionpack (8.1.4) lib/action_controller/metal/rendering.rb:192:in 'ActionController::Rendering#render_to_body'
actionpack (8.1.4) lib/action_controller/metal/renderers.rb:155:in 'ActionController::Renderers#render_to_body'
actionpack (8.1.4) lib/abstract_controller/rendering.rb:28:in 'AbstractController::Rendering#render'
actionpack (8.1.4) lib/action_controller/metal/rendering.rb:173:in 'ActionController::Rendering#render'
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:31:in 'block (2 levels) in ActionController::Instrumentation#render'
activesupport (8.1.4) lib/active_support/benchmark.rb:17:in 'ActiveSupport::Benchmark.realtime'
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:31:in 'block in ActionController::Instrumentation#render'
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:100:in 'ActionController::Instrumentation#cleanup_view_runtime'
activerecord (8.1.4) lib/active_record/railties/controller_runtime.rb:48:in 'ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime'
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:30:in 'ActionController::Instrumentation#render'
lib/topic_list_responder.rb:16:in 'block (2 levels) in TopicListResponder#respond_with_list'
actionpack (8.1.4) lib/action_controller/metal/mime_responds.rb:224:in 'ActionController::MimeResponds#respond_to'
lib/topic_list_responder.rb:7:in 'TopicListResponder#respond_with_list'
app/controllers/list_controller.rb:119:in 'block (2 levels) in <class:ListController>'
actionpack (8.1.4) lib/action_controller/metal/basic_implicit_render.rb:8:in 'ActionController::BasicImplicitRender#send_action'
actionpack (8.1.4) lib/abstract_controller/base.rb:221:in 'AbstractController::Base#process_action'
actionpack (8.1.4) lib/action_controller/metal/rendering.rb:199:in 'ActionController::Rendering#process_action'
actionpack (8.1.4) lib/abstract_controller/callbacks.rb:267:in 'block in AbstractController::Callbacks#process_action'
activesupport (8.1.4) lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
app/controllers/application_controller.rb:458:in 'block in ApplicationController#with_resolved_locale'
i18n (1.14.8) lib/i18n.rb:354:in 'I18n::Base#with_locale'
app/controllers/application_controller.rb:458:in 'ApplicationController#with_resolved_locale'
activesupport (8.1.4) lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
app/controllers/application_controller.rb:1140:in 'ApplicationController#ensure_dont_cache_page'
activesupport (8.1.4) lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
activesupport (8.1.4) lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
actionpack (8.1.4) lib/abstract_controller/callbacks.rb:266:in 'AbstractController::Callbacks#process_action'
actionpack (8.1.4) lib/action_controller/metal/rescue.rb:36:in 'ActionController::Rescue#process_action'
actionpack (8.1.4) lib/action_controller/metal/instrumentation.rb:76:in 'block in ActionController::Instrumentation#process_action'
activesupport (8.1.4) lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
activesupport (8.1.4) lib/ac
또한, OP가 게시한 이 인스턴스의 로그에서 유사하거나 동일한 오류 로그를 발견했습니다. 또한 많은 ‘pitchforks’ 읽기 오류도 있었지만, 며칠 전 빌드를 업데이트한 이후로 다시 발생하지 않았습니다. 즉, 사라졌지만 상황은 여전히 동일합니다. ![]()
해결되지 않은 상태로 남아 있고, 이 인스턴스에서는 실제 차이가 있을 수 있으므로, 내 인스턴스 경험을 다루기 위해 내 주제로 되돌렸습니다 - https://meta.discourse.org/t/the-git-hang-and-the-admin-mod-user-accs-oops-error-page-error/