Hello,
On a discourse instance we use groups where owners have to validate people.
Recently, we started seeing errors when owners try to accept people into groups. I’m not sure if it applies to particular groups, owners or users.
A pop up “Internal Server Error” is shown, and the frontend still believes the request was successful (the UI shows the user as “accepted”). However when reloading we can see that it’s not the case and the request is still pending.
This error leaves 2 log messages:
A fatal
Message (44 copies reported)
I18n::InvalidLocale ("" is not a valid locale)
lib/freedom_patches/translate_accelerator.rb:129:in `translate_no_override'
lib/freedom_patches/translate_accelerator.rb:226:in `translate'
app/controllers/groups_controller.rb:488:in `handle_membership_request'
app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
app/controllers/application_controller.rb:423:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Backtrace
i18n (1.14.5) lib/i18n.rb:380:in `enforce_available_locales!'
i18n (1.14.5) lib/i18n.rb:213:in `translate'
lib/freedom_patches/translate_accelerator.rb:129:in `translate_no_override'
lib/freedom_patches/translate_accelerator.rb:226:in `translate'
app/controllers/groups_controller.rb:488:in `handle_membership_request'
actionpack (7.0.8.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.8.1) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.8.1) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.0.8.1) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.8.1) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:423:in `with_resolved_locale'
activesupport (7.0.8.1) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.8.1) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.8.1) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.8.1) lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack (7.0.8.1) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.8.1) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.8.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.8.1) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.8.1) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.8.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.8.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.8.1) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.8.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.0.8.1) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.8.1) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:852:in `call'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.0.8.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:393:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.8.1) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.8.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster (2.19.1) lib/logster/middleware/reporter.rb:40:in `call'
railties (7.0.8.1) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.8.1) lib/rails/rack/logger.rb:27:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.8.1) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:277:in `call'
railties (7.0.8.1) lib/rails/engine.rb:530:in `call'
railties (7.0.8.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.8.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
rack (2.2.9) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
Env
1/44
hostname redacted
process_id 188
application_version 755f8de6d42fcb198dab1616e5b753c38a308643
HTTP_HOST redacted
REQUEST_URI /groups/51/handle_membership_request.json
REQUEST_METHOD PUT
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
HTTP_ACCEPT */*
HTTP_REFERER redacted/g/com_stats/requests
HTTP_X_FORWARDED_FOR redacted
HTTP_X_REAL_IP redacted
username redacted
time 7:25 pm
params
user_id 345
accept true
and a warning
Message (44 copies reported)
Failed to handle exception in exception app middleware : I18n::InvalidLocale : "" is not a valid locale
Backtrace
i18n-1.14.5/lib/i18n.rb:380:in `enforce_available_locales!'
i18n-1.14.5/lib/i18n.rb:213:in `translate'
/var/www/discourse/lib/freedom_patches/translate_accelerator.rb:129:in `translate_no_override'
/var/www/discourse/lib/freedom_patches/translate_accelerator.rb:226:in `translate'
/var/www/discourse/app/controllers/groups_controller.rb:488:in `handle_membership_request'
actionpack-7.0.8.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.0.8.1/lib/abstract_controller/base.rb:215:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
i18n-1.14.5/lib/i18n.rb:351:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack-7.0.8.1/lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.0.8.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-7.0.8.1/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.0.8.1/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack-7.0.8.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-7.0.8.1/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack-7.0.8.1/lib/abstract_controller/base.rb:151:in `process'
actionview-7.0.8.1/lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler-3.3.1/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack-7.0.8.1/lib/action_controller/metal.rb:188:in `dispatch'
actionpack-7.0.8.1/lib/action_controller/metal.rb:251:in `dispatch'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8.1/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8.1/lib/action_dispatch/routing/route_set.rb:852:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.9/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.9/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.9/lib/rack/head.rb:12:in `call'
actionpack-7.0.8.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'
rack-2.2.9/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.9/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-7.0.8.1/lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack-7.0.8.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster-2.19.1/lib/logster/middleware/reporter.rb:40:in `call'
railties-7.0.8.1/lib/rails/rack/logger.rb:40:in `call_app'
railties-7.0.8.1/lib/rails/rack/logger.rb:27:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.9/lib/rack/method_override.rb:24:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.9/lib/rack/sendfile.rb:110:in `call'
actionpack-7.0.8.1/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler-3.3.1/lib/mini_profiler.rb:191:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:277:in `call'
railties-7.0.8.1/lib/rails/engine.rb:530:in `call'
railties-7.0.8.1/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8.1/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.9/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.9/lib/rack/urlmap.rb:58:in `each'
rack-2.2.9/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
Env
1/44
hostname redacted
process_id 188
application_version 755f8de6d42fcb198dab1616e5b753c38a308643
current_db default
time 7:25 pm