Dopo aver ricostruito l'app, non riesco ad accedere con errore 500

Dice:

Oops

Il software che alimenta questo forum di discussione ha riscontrato un problema imprevisto. Ci scusiamo per l’inconveniente.

Informazioni dettagliate sull’errore sono state registrate e è stata generata una notifica automatica. Ci daremo un’occhiata.

Non è necessaria alcuna azione ulteriore. Tuttavia, se la condizione di errore persiste, è possibile fornire dettagli aggiuntivi, inclusi i passaggi per riprodurre l’errore, pubblicando un argomento di discussione nella categoria feedback del sito.

Nei log:

info

NoMethodError (metodo non definito `keys' per nil:NilClass)
(eval):76:in `_fast_attributes'
app/controllers/application_controller.rb:650:in `preload_current_user_data'
app/controllers/application_controller.rb:445:in `preload_json'
app/controllers/application_controller.rb:421:in `block in with_resolved_locale'
app/controllers/application_controller.rb:421:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:389:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/008-rack-cors.rb:24: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:228:in `call'

backtrace

plugins/chat/lib/chat/channel_fetcher.rb:164:in `preload_custom_fields_for'
plugins/chat/lib/chat/channel_fetcher.rb:159:in `secured_public_channels'
plugins/chat/lib/chat/channel_fetcher.rb:9:in `structured'
plugins/chat/plugin.rb:239:in `block (2 levels) in activate!'
(eval):76: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.rb:347:in `as_json'
activesupport (7.0.5.1) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.5.1) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.5.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.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapters/oj.rb:56:in `dump'
multi_json (1.15.0) lib/multi_json/adapter.rb:25:in `dump'
multi_json (1.15.0) lib/multi_json.rb:139:in `dump'
app/controllers/application_controller.rb:650:in `preload_current_user_data'
app/controllers/application_controller.rb:445:in `preload_json'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
actionpack (7.0.5.1) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:595:in `each'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:595:in `invoke_before'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:116:in `block in run_callbacks'
app/controllers/application_controller.rb:421:in `block in with_resolved_locale'
i18n (1.14.1) lib/i18n.rb:322:in `with_locale'
app/controllers/application_controller.rb:421:in `with_resolved_locale'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.5.1) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.5.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (7.0.5.1) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.5.1) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.5.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.5.1) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.5.1) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.5.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.5.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.5.1) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.5.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.1.0) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
actionpack (7.0.5.1) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.5.1) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.5.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.5.1) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.5.1) lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
actionpack (7.0.5.1) lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack (7.0.5.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.5.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.5.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.5.1) lib/action_dispatch/routing/route_set.rb:852:in `call'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
rack (2.2.8) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.8) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.8) lib/rack/head.rb:12:in `call'
actionpack (7.0.5.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:389:in `call'
lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
config/initializers/008-rack-cors.rb:24:in `call'
rack (2.2.8) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.8) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.5.1) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.5.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
logster (2.12.2) lib/logster/middleware/reporter.rb:43:in `call'
railties (7.0.5.1) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.5.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.5.1) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.8) lib/rack/method_override.rb:24:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.8) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.5.1) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler (3.1.0) lib/mini_profiler.rb:260:in `call'
message_bus (4.3.7) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:228:in `call'
railties (7.0.5.1) lib/rails/engine.rb:530:in `call'
railties (7.0.5.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.5.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.8) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.8) lib/rack/urlmap.rb:58:in `each'
rack (2.2.8) 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

hostname	iosre-app
process_id	226
application_version	497d5b4ca04794612509e43674aeba8aabb669e3
HTTP_HOST	iosre.com
REQUEST_URI	/
REQUEST_METHOD	GET
HTTP_USER_AGENT	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
HTTP_ACCEPT	text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
HTTP_REFERER	https://iosre.com/
HTTP_X_FORWARDED_FOR	115.171.177.163, 192.168.0.1
HTTP_X_REAL_IP	192.168.0.1
username	snakeninny
time	11:09 pm

Qualche idea? Grazie!

Lo stesso anche in modalità provvisoria

Se disabiliti la chat di discourse nella pagina del tuo plugin, scompare?

Quali plugin hai installato?

Non riesco nemmeno ad accedere… Non riesco ad accedere alla pagina dei plugin
Un elenco di plugin installati in app.yml:

- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git
- git clone https://github.com/discourse/discourse-akismet.git
- git clone https://github.com/discourse/discourse-feature-voting
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-apple-auth.git
- git clone https://github.com/discourse/discourse-follow.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-bcc.git
- git clone https://github.com/paviliondev/discourse-landing-pages.git

Un elenco di plugin in /var/www/discourse/plugins:

root@iosre-app:/var/www/discourse/plugins# ls -al
total 96
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:02 .
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 ..
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 chat
drwxr-xr-x 12 discourse root      4096 Jan  7 03:07 discourse-akismet
drwxr-xr-x  7 discourse root      4096 Jan  7 03:07 discourse-apple-auth
drwxr-xr-x  9 discourse root      4096 Jan  7 03:07 discourse-bcc
drwxr-xr-x  9 discourse root      4096 Jan  7 03:07 discourse-cakeday
drwxr-xr-x 11 discourse root      4096 Jan  7 03:07 discourse-data-explorer
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 discourse-details
drwxr-xr-x 11 discourse root      4096 Jan  7 03:07 discourse-feature-voting
drwxr-xr-x 12 discourse root      4096 Jan  7 03:07 discourse-follow
drwxr-xr-x 13 discourse root      4096 Jan  7 03:02 discourse-landing-pages
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 discourse-lazy-videos
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 discourse-local-dates
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 discourse-narrative-bot
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 discourse-presence
drwxr-xr-x 11 discourse root      4096 Jan  7 03:07 discourse-reactions
drwxr-xr-x 10 discourse root      4096 Jan  7 03:07 discourse-solved
drwxr-xr-x  8 discourse root      4096 Jan  7 03:07 discourse-spoiler-alert
drwxr-xr-x 12 discourse root      4096 Jan  7 03:02 docker_manager
drwxr-xr-x  2 discourse root      4096 Jan  7 03:02 plugins
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 poll
drwxr-xr-x  1 discourse discourse 4096 Jan  7 03:01 styleguide

Prova a ricostruire senza il plugin del padiglione

Senza paviliondev:

- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git
- git clone https://github.com/discourse/discourse-akismet.git
- git clone https://github.com/discourse/discourse-feature-voting
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-apple-auth.git
- git clone https://github.com/discourse/discourse-follow.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-bcc.git
# - git clone https://github.com/paviliondev/discourse-landing-pages.git

Dopo la ricompilazione, l’errore 500 persiste.
È strano che questa volta la modalità sicura non mi abbia salvato. In backtrace ho notato chat, può essere un bug di chat? Come posso disabilitare temporaneamente il plugin chat per testare?

Questa volta ho ricostruito l’app senza la maggior parte dei plugin:

- git clone https://github.com/discourse/docker_manager.git
# - git clone https://github.com/discourse/discourse-solved.git
# - git clone https://github.com/discourse/discourse-reactions.git
# - git clone https://github.com/discourse/discourse-spoiler-alert.git
# - git clone https://github.com/discourse/discourse-akismet.git
# - git clone https://github.com/discourse/discourse-feature-voting
# - git clone https://github.com/discourse/discourse-data-explorer.git
# - git clone https://github.com/discourse/discourse-apple-auth.git
# - git clone https://github.com/discourse/discourse-follow.git
# - git clone https://github.com/discourse/discourse-cakeday.git
# - git clone https://github.com/discourse/discourse-bcc.git
# - git clone https://github.com/paviliondev/discourse-landing-pages.git

Ancora la stessa cosa

Qualcosa in questo sembra correlato alla chat… puoi provare

./mothership enter ...
rails c
SiteSetting.chat_enabled = false
1 Mi Piace

Grazie! È chat

(base) root@iosre:/var/discourse# ./launcher enter app
x86_64 arch detected.
root@iosre-app:/var/www/discourse# rails c
Plugin name is 'discourse-topic-voting', but plugin directory is named 'discourse-feature-voting'
[1] pry(main)> SiteSetting.chat_enabled = false
=> false

Dopo questo, nessun errore 500, posso accedere alla pagina

dobbiamo capire cosa è successo nella chat che ha causato questo errore, c’è qualcosa nella configurazione del canale.
al minimo possiamo inserire una protezione in channel_fetcher per assicurarci che non si blocchi mai in questo modo.

1 Mi Piace

Grazie! Posso aiutarti in qualcosa?

niente ancora, il team di chat darà un’occhiata questa settimana, ti farò sapere!

4 Mi Piace

Ho ottenuto la stessa cosa, su stabile.

Sospetto che questo sia stato risolto qui FIX: Preload the right fields on categories (#24396) · discourse/discourse@0bc568f · GitHub

Che versione stai eseguendo @snakeninny?

1 Mi Piace

Ah grazie, avevo il sospetto che fosse correlato al nostro lavoro sulle categorie ma non riuscivo a dimostrarlo. L’errore si verifica completamente nel precaricamento delle categorie, quindi avrebbe senso.

Tuttavia, dall’OP:

Quindi molto probabilmente è dopo la correzione :confused:

1 Mi Piace

Ah, me lo sono perso.

Ma quel commit è precedente alla correzione! È datato 9 novembre e la correzione è stata apportata il 15 novembre.

Sì, certo, penso di aver scambiato i link, quindi sì, è il 99% del problema.

Prova ad aggiornare se puoi @snakeninny

Grazie @RGJ :chefs_kiss:

4 Mi Piace

:warning: Questo problema si verifica quando i forum vengono aggiornati dalla versione 3.1.3 alla 3.1.4.
Stiamo indagando sulla causa e vi aggiorneremo non appena avremo maggiori informazioni.

5 Mi Piace

Sì, quindi il problema è che la correzione menzionata sopra non è stata retrocompatibilizzata con la versione stabile, ma la versione stabile ora ne dipende.

@j.jaffeux @daniel Potete per favore retrocompatibilizzare urgentemente questa versione stabile? Attualmente la versione stabile è completamente compromessa per qualsiasi utente connesso quando la chat è abilitata.

2 Mi Piace

Sì, per favore, ho lo stesso errore, anche il mio sito è andato in crash, sto ancora aspettando che communiteq risponda.