Faraday: bad request error when posting

If an user post on topic where last writer is another user then comes error 500. But that comment is published anyway.

But if an user writes a post and same user was last writer on that topic already then there is no error.

I as an admin can’t unlock topics. So there can be another glitches too.

This much I know:

  • safe-mode doesn’t help
  • commenting MaxMind in app.yml doesn’t help
  • ubuntu is up to date and rebooted
  • Discourse is rebuilded via shell yesterday and today twice
  • that doesn’t happend here, obviously
  • standard install, nothing fancy
  • happends to everyone — well, mobiles anyway, desktops I don’t know, but because it is error 500 I don’t see how a device could be involved
  • error:
backtrace
Message (20 copies reported)

Faraday::BadRequestError (the server responded with status 400)
lib/discourse_event.rb:12:in `block in trigger'
lib/discourse_event.rb:12:in `trigger'
lib/post_creator.rb:258:in `trigger_after_events'
lib/post_creator.rb:220:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:201:in `create'
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

faraday (2.9.0) lib/faraday/response/raise_error.rb:16:in `on_complete'
faraday (2.9.0) lib/faraday/middleware.rb:18:in `block in call'
faraday (2.9.0) lib/faraday/response.rb:42:in `on_complete'
faraday (2.9.0) lib/faraday/middleware.rb:17:in `call'
faraday (2.9.0) lib/faraday/rack_builder.rb:152:in `build_response'
faraday (2.9.0) lib/faraday/connection.rb:444:in `run_request'
faraday (2.9.0) lib/faraday/connection.rb:280:in `post'
ruby-openai (7.0.0) lib/openai/http.rb:22:in `json_post'
ruby-openai (7.0.0) lib/openai/client.rb:30:in `chat'
plugins/discourse-ai-topic-summary/lib/ai_topic_summary/call_bot.rb:15:in `get_response'
plugins/discourse-ai-topic-summary/lib/ai_topic_summary/summarise.rb:6:in `retrieve_summary'
plugins/discourse-ai-topic-summary/plugin.rb:62:in `block (2 levels) in activate!'
lib/discourse_event.rb:12:in `block in trigger'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each_key'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each'
lib/discourse_event.rb:12:in `trigger'
lib/post_creator.rb:258:in `trigger_after_events'
lib/post_creator.rb:220:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:201:in `create'
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'
plugins/discourse-staff-alias/plugin.rb:129:in `block (4 levels) in activate!'
activesupport (7.0.8.1) lib/active_support/callbacks.rb:127:in `instance_exec'
activesupport (7.0.8.1) lib/active_support/callbacks.rb:127: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'
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'
request_store (1.7.0) lib/request_store/middleware.rb:19: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'
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

HTTP HOSTS: foorumi.katiska.eu

Ideas what I should do next?

This might be on me?

Try to disable AI Topic Summary.

Something is going wrong with your request to Open AI probably (hence 400)

I really should move that request to a job that is spawned in an independent thread.

I have not had time (work work work) to do that yet, but I will get around to it.

In the meantime check your model and account.

Yeah, you were right.

I never remember that safe-mode doesn’t shut down all plugins. We close-to-enduser-admins really need some mark to tell when safe-mode do the magic and when not.

(Please-please-please fix that when you have time; I really like that summary).

1 Like

Note the fix will be to make it less of a disruption when it breaks.

It will not fix your 400 error - you may need to find out what is causing that and report back to me if it’s another bug.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.