Discourse Automation Plugin schlägt mit einem 'Internal Server Error' fehl

Vor dem letzten Update gab es eine Automatisierung über das Automation Plugin, die Folgendes tut (und erfolgreich getestet wurde, ohne Änderungen):

  • Skript: PNs senden
  • Wann: „Benutzer zur Gruppe hinzugefügt“
  • Verfolgte Gruppe: „eine Gruppe, die erfordert, dass der Gruppenbesitzer zuerst „Anfragen genehmigt““
  • Skriptoptionen: eine PN (getestet und erfolgreich funktioniert).

Derzeit, in Version: 3.5.0.beta3-dev(231e9ca99a) wird nun „interner Serverfehler“ angezeigt, wenn versucht wird, die Benutzer zu genehmigen.

Der folgende Fehler tritt auf:

PG::NotNullViolation (ERROR:  null value in column "total_time" of relation "discourse_automation_stats" violates not-null constraint
DETAIL:  Failing row contains (18, 8, 2025-04-10, 2025-04-10 07:34:42.740189, null, null, null, null, 1).
)
lib/mini_sql_multisite_connection.rb:109:in `run'
lib/plugin/instance.rb:609:in `block in on'
lib/discourse_event.rb:12:in `block in trigger'
lib/discourse_event.rb:12:in `trigger'
app/models/group.rb:869:in `trigger_user_added_event'
app/models/group.rb:838:in `add'
app/controllers/groups_controller.rb:502:in `block in handle_membership_request'
app/controllers/groups_controller.rb:500:in `handle_membership_request'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13: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/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'

Ich vermute, dass dies mit den neuen Änderungen an der Tabelle discourse_automation_stats zusammenhängt, die hier erwähnt werden:

[quote] @sam

[/quote]

Danke!

1 „Gefällt mir“

Danke für den Bericht. Ich glaube, Sie haben einen weiteren Fehler, aber der von uns hinzugefügte Statuscode verbirgt ihn.

Das sollte es beheben:

Und dann sollten wir den eigentlichen Fehler sehen können.

2 „Gefällt mir“

Danke!

Bedeutet das, dass ich nach dem Update den eigentlichen Fehler beheben muss?

1 „Gefällt mir“

Ja, bitte, obwohl ich von hier aus vermute, dass du es vielleicht selbst reparieren kannst.

2 „Gefällt mir“

Vielen Dank für Ihre Geduld!

Ich erhalte ein weiteres generisches Problem {"status":422,"error":"Unprocessable Entity"}. Bitte sehen Sie sich den Screenshot an, nachdem ich auf ‘genehmigen’ geklickt habe:

Die Nutzlast sind Formulardaten (application/x-www-form-urlencoded; charset=UTF-8):
user_id=10127&accept=true

Danke! Obwohl ich nicht sicher bin, warum dort ‘unverarbeitbare Entität’ steht, haben Sie einen Tipp?

Es tut mir leid, aber das sieht nicht nach Automatisierung aus.

Können Sie bitte auf „Antwort“ im ersten Screenshot klicken?

Hallo
Danke! Es ist die gleiche Antwort…

Ich habe weitere Nachforschungen angestellt und festgestellt, dass…

Zwei Dinge haben sich bereits geändert:

  1. Der Benutzer wird erfolgreich zur Gruppe hinzugefügt
  2. Die automatisierte Nachricht wird gesendet
  3. Dieser Fehler “Unprocessable Entity” erscheint nicht, wenn das Administratorkonto verwendet wird, um die Gruppenanfrage anzunehmen, aber er erscheint für einen Nicht-Admin-Gruppenbesitzer (auch wenn 1 und 2 jetzt sowohl für Admins als auch für Nicht-Admins erfolgreich sind).

Es scheint, dass wir uns jetzt mit einem neuen Problem befassen (da die oben genannten Probleme jetzt funktionieren, aber das Ergebnis nur unklar ist, wenn es durch dieses neue Problem blockiert wird)…

Sogar die Server-Fehlerprotokolle haben sich geändert:

info log
ActiveRecord::RecordNotSaved (Etwas ist schief gelaufen. Vielleicht wurde dieses Thema geschlossen oder gelöscht, während Sie es angesehen haben?)
lib/post_creator.rb:238:in `create!'
app/controllers/groups_controller.rb:523:in `handle_membership_request'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13: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/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
backtrace log
lib/post_creator.rb:238:in `create!'
app/controllers/groups_controller.rb:523:in `handle_membership_request'
actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.13) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.13) lib/rack/head.rb:12:in `call'
actionpack (7.2.2.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:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.13) lib/rack/method_override.rb:24:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'
rack (2.2.13) lib/rack/sendfile.rb:110:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.13) lib/rack/urlmap.rb:58:in `each'
rack (2.2.13) 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.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'
env log
hostname community-app
process_id 913
application_version 6fc5ce968892b980c3db6b19b49683fb38a59e29
HTTP_HOST meta.discourse.org
REQUEST_URI /groups/200/handle_membership_request.json
REQUEST_METHOD PUT
HTTP_USER_AGENT Mozilla/5.0
HTTP_ACCEPT /
HTTP_REFERER https://meta.discourse.org/g/group_name/requests
HTTP_X_FORWARDED_FOR 0.0.0.0
HTTP_X_REAL_IP 0.0.0.0
username copuxtest
time 7:37 am
params
user_id 5836
accept true

Es tut mir leid, aber ich bin sehr verwirrt, wie das mit dem Eröffnungsposting zusammenhängt. Sie erhalten diesen Fehler nicht durch Automatisierung, oder? Soweit ich das beurteilen kann, ist dies eine direkte Aktion, die Sie im Adminbereich durchführen.

1 „Gefällt mir“

Hallo nochmal!
Vielen Dank, dass Sie sich die Zeit für diese Angelegenheit genommen haben. Ich denke, sie ist jetzt gelöst. Anfangs trat der Fehler nur auf, nachdem wir die Automatisierung aktiviert hatten (erster Fehler im ersten Beitrag gepostet), und dann verschwand der Fehler nach Ihrer Korrektur, aber die Protokolle zeigten einen anderen Fehler, wie oben erklärt.

Die Fehler verschwanden, nachdem ich Folgendes getan hatte:

  1. Die Automatisierung ausgeschaltet
  2. Den Browser-Cache gelöscht
  3. Die Automatisierung wieder eingeschaltet

Nachdem die Automatisierung ein- und ausgeschaltet und der Cache gelöscht wurde, verschwanden alle Fehler. Vielen Dank!

Ok, sehr überraschend, aber wenn es für Sie funktioniert, ist alles gut! Danke für das Update.

1 „Gefällt mir“

Vielen Dank! :leichte_smile:

Dieses Thema wurde 3 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr möglich.