cmahns
(Colin Mahns)
2024 年 10 月 1 日午後 8:41
1
Background: My Discourse instance was upgraded to 3.3.1 a few weeks ago. My mods and myself have noticed our forum is currently timing out when trying to load post edits like below:
Is there a good place to look at where this error might be happening in the software console? More than happy to pass back logs
j.jaffeux
(Joffrey Jaffeux)
2024 年 10 月 1 日午後 9:04
2
Yes I suspect that when logged in looking forum.example.com/logs
should surface errors.
「いいね!」 3
cmahns
(Colin Mahns)
2024 年 10 月 10 日午後 2:24
3
Here’s the only error I’m able to see in our logs:
Psych::DisallowedClass (Tried to dump unspecified class: ActiveRecord::Associations::CollectionProxy) app/serializers/post_revision_serializer.rb:246:in `block in all_revisions' app/serializers/post_r
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:571:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `block in visit_Enumerator'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `each'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:360:in `visit_Enumerator'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:352:in `visit_Array'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:574:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:331:in `block in visit_Hash'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in `each'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:329:in `visit_Hash'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:135:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:574:in `accept'
/usr/local/lib/ruby/3.3.0/psych/visitors/yaml_tree.rb:117:in `push'
/usr/local/lib/ruby/3.3.0/psych.rb:585:in `safe_dump'
activerecord (7.1.3.4) lib/active_record/coders/yaml_column.rb:19:in `dump'
activerecord (7.1.3.4) lib/active_record/coders/column_serializer.rb:26:in `dump'
activerecord (7.1.3.4) lib/active_record/type/serialized.rb:29:in `serialize'
activemodel (7.1.3.4) lib/active_model/type/helpers/mutable.rb:8:in `cast'
activemodel (7.1.3.4) lib/active_model/attribute.rb:199:in `type_cast'
activemodel (7.1.3.4) lib/active_model/attribute.rb:43:in `value'
activemodel (7.1.3.4) lib/active_model/attribute_set.rb:51:in `fetch_value'
activerecord (7.1.3.4) lib/active_record/attribute_methods/read.rb:51:in `_read_attribute'
activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:286:in `modifications'
app/serializers/post_revision_serializer.rb:246:in `block in all_revisions'
app/serializers/post_revision_serializer.rb:241:in `each'
app/serializers/post_revision_serializer.rb:241:in `all_revisions'
app/serializers/post_revision_serializer.rb:202:in `revisions'
app/serializers/post_revision_serializer.rb:265:in `previous'
app/serializers/post_revision_serializer.rb:46:in `previous_hidden'
(eval at active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):5:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456: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.1.3.4) lib/active_support/json/encoding.rb:23:in `encode'
activesupport (7.1.3.4) lib/active_support/json/encoding.rb:23:in `encode'
activesupport (7.1.3.4) 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:528:in `render_json_dump'
app/controllers/posts_controller.rb:459:in `latest_revision'
actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
plugins/discourse-staff-alias/lib/discourse_staff_alias/posts_controller_extension.rb:26:in `block (2 levels) in <module:PostsControllerExtension>'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `instance_exec'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
app/controllers/application_controller.rb:424:in `block in with_resolved_locale'
i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
app/controllers/application_controller.rb:424:in `with_resolved_locale'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action'
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action'
activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action'
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process'
actionview (7.1.3.4) 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.1.3.4) lib/action_controller/metal.rb:227:in `dispatch'
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes'
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882: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:27:in `call'
rack (2.2.9) lib/rack/head.rb:12:in `call'
actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36: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.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app'
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
rack (2.2.9) lib/rack/method_override.rb:24:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110: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:360:in `call'
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call'
railties (7.1.3.4) lib/rails/engine.rb:536:in `call'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.1.3.4) lib/rails/railtie.rb:226:in `me
Not exactly sure if this is related, just the most recent error I’ve been able to find. I’m curious if there’s somewhere that can trigger logging when pulling up edit screens since it doesn’t log these, it just looks like a client side time out. Browser inspector is indicating it’s a 500 error, is this something I can fix server side?
「いいね!」 1
sam
(Sam Saffron)
2024 年 10 月 14 日午前 12:38
6
curious are there any non official plugins installed on your instance (if so which?), I suspect something may be amending the way we serialize edits.
the good news is that this is not a time out, its just an error, but we do want to help you get it sorted.
「いいね!」 1
cmahns
(Colin Mahns)
2024 年 10 月 18 日午後 2:47
8
Yes, a few but these have been present between upgrades on the forum (not that that can’t cause issues, just that they’ve all been in place for a while)
# Official
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-oauth2-basic.git
- git clone https://github.com/discourse/discourse-chat-integration.git
- git clone https://github.com/discourse/discourse-staff-notes.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-docs.git
- git clone https://github.com/discourse/discourse-encrypt.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/discourse/discourse-rss-polling.git
- git clone https://github.com/discourse/discourse-category-experts.git
- git clone https://github.com/discourse/discourse-staff-alias.git
- git clone https://github.com/discourse/discourse-templates.git
- git clone https://github.com/discourse/discourse-automation.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-post-voting.git
- git clone https://github.com/discourse/discourse-policy.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/discourse/discourse-restricted-replies.git
- git clone https://github.com/discourse/discourse-teambuild.git
- git clone https://github.com/discourse/discourse-bbcode.git
- git clone https://github.com/discourse/discourse-shared-edits.git
- git clone https://github.com/discourse/discourse-github.git
- git clone https://github.com/discourse/discourse-assign.git
- git clone https://github.com/discourse/discourse-saved-searches.git
- git clone https://github.com/discourse/discourse-signatures.git
- git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-custom-topic-lists.git
- git clone https://github.com/discourse/discourse-lti.git
# Third Party
## Retorts
- git clone https://github.com/gdpelican/retort.git
## Communiteq
- git clone https://github.com/communiteq/discourse-private-replies.git
- git clone https://github.com/communiteq/discourse-private-topics.git
- git clone https://github.com/communiteq/discourse-category-restrictor.git
## NetGamers
- git clone https://github.com/netgamers-forum/discourse-category-mod-enhancer.git
## Pavilion Coop
- git clone https://github.com/paviliondev/discourse-custom-wizard.git
- git clone https://github.com/paviliondev/discourse-tickets.git
- git clone https://github.com/paviliondev/discourse-landing-pages.git
- git clone https://github.com/paviliondev/discourse-journal.git
The Retorts
plugin is installed but not enabled, we migrated to the official reactions plugin and had it there to migrate over the old data earlier this year when we finally made the switch.
「いいね!」 1
Jagster
(Jakke Lehtonen)
2024 年 10 月 18 日午後 2:51
9
I don’t think enable/disable is enough. You should comment it out. Or delete that line.
「いいね!」 6
j.jaffeux
(Joffrey Jaffeux)
2024 年 10 月 21 日午前 10:24
11
It’s most likely staff-alias but we will investigate.
Jagster
(Jakke Lehtonen)
2024 年 10 月 21 日午前 10:38
12
This doesn’t prove anything but I use staff alias without such issues.
「いいね!」 1
j.jaffeux
(Joffrey Jaffeux)
2024 年 10 月 21 日午前 10:40
13
Yes Im not sure at this point it’s staff-alias, but few clues make it a good contender. It could however just be in the stack trace without being the source of the problem.
cmahns
(Colin Mahns)
2024 年 10 月 21 日午前 10:55
14
Happy to give more detailed logs if you need it!
Planned for our next maintenance window!
sam
(Sam Saffron)
2024 年 10 月 21 日午後 11:17
18
Can you rebuild without it? Sometimes plugins can fiddle with stuff incorrectly even in a disabled state, especially old broken ones.
j.jaffeux
(Joffrey Jaffeux)
2024 年 11 月 6 日午前 11:32
26
@cmahns The fix has been merged, thanks for the report!
「いいね!」 2
j.jaffeux
(Joffrey Jaffeux)
クローズされました:
2024 年 11 月 9 日午前 11:33
27
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.