@darkpixlz kannst du bestätigen, welche Version von Discourse du verwendest? Stable, Beta oder Tests-bestanden?
Ich verwende die Beta-Version 2.9.0beta7. Ich bin 2 Commits zurück, keiner davon würde etwas an diesem Problem ändern.
Aktualisierungsliste:
Discourse Akismet
Apple Auth
BBCode Farbe
Cakeday
Kalender
Benutzerdefinierter Assistent
Folgen
Mathematik
Microsoft Auth
Perspective API
ImgFlip
Prometheus
QA
Reaktionen
Gelöst
Spoiler
Steam Login
Benutzernotizen
Abstimmung
Wer ist online
Jahresrückblick
Docker Manager
Styleguide
Ich habe gerade diesen Commit an Core gepusht:
Er führt eine neue Rake-Aufgabe ein, die uns helfen sollte, dieses Problem zu verfolgen. Wir sehen auf unserem Hosting überhaupt keine Fehler, was darauf hindeutet, dass es sich um ein Problem mit einem Drittanbieter-Plugin handelt.
Kann bitte jemand mit dem Problem auf den neuesten Stand von tests-passed aktualisieren und dann Folgendes ausführen:
./launcher enter app
cd /var/www/discourse
bin/rake "revisions:debug_deserialization"
Dies sollte Informationen über die problematischen Klassen und ein Beispiel-Revision für jede Klasse ausgeben. Bitte teilen Sie den Zusammenfassungs-/Beispielabschnitt der Ausgabe in diesem Thema (oder per PN, wenn Sie die Beispiel-Revision nicht öffentlich teilen möchten).
Sobald wir genau wissen, was das Problem verursacht, können wir eine Lösung entwickeln. (wahrscheinlich entweder eine Datenbankmigration im Drittanbieter-Plugin oder eine Kern-Rake-Aufgabe, die unerwartete Daten bereinigen kann)
Ich habe meinen Host gebeten, es auszuführen, und werde hier aktualisieren, sobald ich ein Ergebnis erhalte.
Wir warten darauf, dass die Leute Informationen vom Rake-Task zurückmelden, bevor wir hier fortfahren.
Bitte gib uns Bescheid.
Ja, er hat sich nie bei mir gemeldet, ich habe ihn gerade daran erinnert.
Hallo Leute,
leider habe ich meine Zeit in diesem Thread verschwendet…
Ich habe gerade auf den neuesten Build aktualisiert und habe das Problem immer noch.
Ich habe versucht, dies auszuführen, aber ich schätze, mein Setup erlaubt mir nicht, hier zu helfen:
Ich habe es in Docker / Postgres laufen.
Gibt es noch etwas, das ich tun kann, um Ihnen hier zu helfen?
Das sind meine verwendeten Plugins
Sie benötigen die eingerichtete Umgebung … versuchen Sie es mit rake anstelle von bin/rake
Ah, wenn Sie ./launcher enter app ausführen, werden Sie zu root. Es scheint, dass Sie zum Benutzer discourse wechseln müssen, um Datenbankzugriff zu erhalten. Dies sollte funktionieren:
sudo -EH -u discourse bin/rake "revisions:debug_deserialization"
Die Art von Ausgabe, nach der wir suchen, ist
Checking 5 PostRevision records in batches of 1000... this may take some time...
Done
---- Summary ----
Checked records: 5
---- Examples ----
(obwohl offensichtlich, wenn es Probleme gibt, der Abschnitt “Examples” nicht leer sein wird)
Dies war unsere Ausgabe;
sudo -EH -u discourse bin/rake "revisions:debug_deserialization"
Überprüfe 1096 PostRevision-Datensätze in Stapeln von 1000... das kann einige Zeit dauern...
Fertig
---- Zusammenfassung ----
Überprüfte Datensätze: 1096
---- Beispiele ----
Oh! Das ist unerwartet!
Gibt es immer noch Fehler, wenn Sie versuchen, einige Beitragsrevisionen anzuzeigen?
Übrigens, handelt es sich um eine ‘Standardinstallation’ oder wird sie in einem Multisite-Cluster gehostet?
Ja, das ist Standard.
Und nicht mehr wirklich, habe es eine Weile nicht bemerkt, ich glaube, das ist behoben.
Ok super, danke @darkpixlz
@B-iggy wenn du den Befehl in diesem Beitrag ausprobieren könntest, glaube ich, dass er den Fehler beheben sollte, den du beim ersten Mal gesehen hast ![]()
Vielen Dank, Leute!
Diesmal lief es erfolgreich und hier ist die Ausgabe
$w3dg @ 06:14:52 > /var/discourse: sudo ./launcher enter app
[sudo] Passwort für w3dg:
WARNUNG: Docker-Version 17.05.0-ce veraltet, Upgrade auf 17.06.2 oder neuer empfohlen.
x86_64-Architektur erkannt.
WARNUNG: containers/app.yml-Datei ist für die Welt lesbar. Sie können diese Datei sichern, indem Sie ausführen: chmod o-rwx containers/app.yml
root@W3DG-app:/var/www/discourse# cd /var/www/discourse
root@W3DG-app:/var/www/discourse# sudo -EH -u discourse bin/rake "revisions:debug_deserialization"
Überprüfe 18451 PostRevision-Datensätze in Stapeln von 1000... dies kann einige Zeit dauern...
Fertig
---- Zusammenfassung ----
Überprüfte Datensätze: 18451
---- Beispiele ----
root@W3DG-app:/var/www/discourse#
Aber leider ist meine Überarbeitung dieses Themas hier immer noch leer. Entschuldigung. Gibt es andere Protokolle, die ich Ihnen geben kann?
Meine Discourse-Installation ist übrigens auch eine Standardinstallation.
Danke @B-iggy. Das ist ziemlich überraschend – ich hätte erwartet, dass das Skript die Fehler auflistet. ![]()
Könnten Sie bitte /logs auf Ihrer Website besuchen und nachsehen, ob es aktuelle Fehlerprotokolle gibt? Insbesondere suchen wir nach solchen, die mit Psych::DisallowedClass beginnen.
Sure. I have bunch of Psych errors.
Question is: which one you need? ![]()
/usr/local/lib/ruby/2.7.0/psych/class_loader.rb:97:in `find'
/usr/local/lib/ruby/2.7.0/psych/class_loader.rb:28:in `load'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:411:in `resolve_class'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:208:in `visit_Psych_Nodes_Mapping'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:16:in `visit'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:32:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `block in register_empty'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `each'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `register_empty'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:141:in `visit_Psych_Nodes_Sequence'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:16:in `visit'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:32:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `block in register_empty'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `each'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `register_empty'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:141:in `visit_Psych_Nodes_Sequence'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:16:in `visit'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:32:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:340:in `block in revive_hash'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:338:in `each'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:338:in `each_slice'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:338:in `revive_hash'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:162:in `visit_Psych_Nodes_Mapping'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:16:in `visit'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:32:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:313:in `visit_Psych_Nodes_Document'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:16:in `visit'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:32:in `accept'
/usr/local/lib/ruby/2.7.0/psych.rb:360:in `safe_load'
activerecord (7.0.3.1) lib/active_record/coders/yaml_column.rb:50:in `yaml_load'
activerecord (7.0.3.1) lib/active_record/coders/yaml_column.rb:26:in `load'
activerecord (7.0.3.1) lib/active_record/type/serialized.rb:22:in `deserialize'
activemodel (7.0.3.1) lib/active_model/type/helpers/mutable.rb:8:in `cast'
activemodel (7.0.3.1) lib/active_model/attribute.rb:179:in `type_cast'
activemodel (7.0.3.1) lib/active_model/attribute.rb:43:in `value'
activemodel (7.0.3.1) lib/active_model/attribute_set.rb:46:in `fetch_value'
activerecord (7.0.3.1) lib/active_record/attribute_methods/read.rb:38:in `_read_attribute'
activemodel (7.0.3.1) lib/active_model/attribute_methods.rb:277:in `modifications'
app/serializers/post_revision_serializer.rb:233:in `block in all_revisions'
app/serializers/post_revision_serializer.rb:228:in `each'
app/serializers/post_revision_serializer.rb:228:in `all_revisions'
app/serializers/post_revision_serializer.rb:187:in `revisions'
app/serializers/post_revision_serializer.rb:254:in `previous'
app/serializers/post_revision_serializer.rb:50:in `previous_hidden'
(eval):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.0.3.1) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.3.1) lib/active_support/json/encoding.rb:22:in `encode'
activesupport (7.0.3.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:547:in `render_json_dump'
app/controllers/posts_controller.rb:428:in `latest_revision'
actionpack (7.0.3.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.3.1) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.3.1) lib/action_controller/metal/rendering.rb:53:in `process_action'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
i18n (1.12.0) lib/i18n.rb:322:in `with_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.3.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (7.0.3.1) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.3.1) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.3.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.3.1) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.3.1) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.3.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.3.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.3.1) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.3.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.0.0) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
actionpack (7.0.3.1) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.3.1) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.3.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.3.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.3.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.3.1) lib/action_dispatch/routing/route_set.rb:852:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
rack (2.2.4) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.4) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.4) lib/rack/head.rb:12:in `call'
actionpack (7.0.3.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:366:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
rack (2.2.4) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.4) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/cookies.rb:697:in `call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.3.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
logster (2.11.3) lib/logster/middleware/reporter.rb:43:in `call'
railties (7.0.3.1) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.3.1) lib/rails/rack/logger.rb:27:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.3.1) lib/action_dispatch/middleware/reque
Message (33 copies reported)
Psych::DisallowedClass (Tried to load unspecified class: Tag)
app/serializers/post_revision_serializer.rb:233:in `block in all_revisions'
app/serializers/post_revision_serializer.rb:228:in `each'
app/serializers/post_revision_serializer.rb:228:in `all_revisions'
app/serializers/post_revision_serializer.rb:187:in `revisions'
app/serializers/post_revision_serializer.rb:254:in `previous'
app/serializers/post_revision_serializer.rb:50:in `previous_hidden'
(eval):5:in `_fast_attributes'
app/controllers/application_controller.rb:547:in `render_json_dump'
app/controllers/posts_controller.rb:428:in `latest_revision'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'
Backtrace
/usr/local/lib/ruby/2.7.0/psych/class_loader.rb:97:in `find'
/usr/local/lib/ruby/2.7.0/psych/class_loader.rb:28:in `load'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:411:in `resolve_class'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:208:in `visit_Psych_Nodes_Mapping'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:16:in `visit'
/usr/local/lib/ruby/2.7.0/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:32:in `accept'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `block in register_empty'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `each'
/usr/local/lib/ruby/2.7.0/psych/visitors/to_ruby.rb:332:in `register_empty'
Env
HTTP HOSTS: forum.empyrion-homeworld.net
Psych::DisallowedClass (Tried to load unspecified class: Tag)
app/serializers/post_revision_serializer.rb:233:in `block in all_revisions'
app/serializers/post_revision_serializer.rb:228:in `each'
app/serializers/post_revision_serializer.rb:228:in `all_revisions'
app/serializers/post_revision_serializer.rb:187:in `revisions'
app/serializers/post_revision_serializer.rb:254:in `previous'
app/serializers/post_revision_serializer.rb:50:in `previous_hidden'
(eval):5:in `_fast_attributes'
app/controllers/application_controller.rb:547:in `render_json_dump'
app/controllers/posts_controller.rb:428:in `latest_revision'
app/controllers/application_controller.rb:415:in `block in with_resolved_locale'
app/controllers/application_controller.rb:415:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'
Danke, das ist hilfreich! Können Sie bitte versuchen, diesen Befehl auszuführen und die Ausgabe einzufügen?
sudo -EH -u discourse bin/rails runner "puts PostRevisor.tracked_topic_fields.inspect"
Das sollte uns helfen zu identifizieren, welche Plugins Daten zu den PostRevisions hinzufügen ![]()
Auf meiner lokalen Website gibt es Folgendes zurück:
{:title=>#<Proc:0x0000000124b02960 /Users/david/discourse/discourse/lib/post_revisor.rb:79>, :archetype=>#<Proc:0x0000000124b028c0 /Users/david/discourse/discourse/lib/post_revisor.rb:83>, :category_id=>#<Proc:0x0000000124b020a0 /Users/david/discourse/discourse/lib/post_revisor.rb:87>, :tags=>#<Proc:0x0000000124b01880 /Users/david/discourse/discourse/lib/post_revisor.rb:103>, :featured_link=>#<Proc:0x0000000124b017e0 /Users/david/discourse/discourse/lib/post_revisor.rb:129>}
Vielen Dank!
Das ist meine Ausgabe
root@W3DG-app:/var/www/discourse# sudo -EH -u discourse bin/rails runner "puts PostRevisor.tracked_topic_fields.inspect"
{:title=>#<Proc:0x0000563008c879c0 /var/www/discourse/lib/post_revisor.rb:79>, :archetype=>#<Proc:0x0000563008c87920 /var/www/discourse/lib/post_revisor.rb:83>, :category_id=>#<Proc:0x0000563008c87010 /var/www/discourse/lib/post_revisor.rb:87>, :tags=>#<Proc:0x0000563008c867a0 /var/www/discourse/lib/post_revisor.rb:103>, :featured_link=>#<Proc:0x0000563008c86700 /var/www/discourse/lib/post_revisor.rb:129>}
@B-iggy und ich haben das über PM untersucht und das Problem eingekreist. Das betreffende Thema hatte einige alte Tags, aber das Tagging war auf der Website deaktiviert. Diese beiden Dinge zusammen führten zu einer seltsamen Randbedingung im Kern, die den Fehler verursachte. Dieses spezielle Problem sollte durch
behoben sein. Es ist möglich, dass es noch andere Probleme gibt, daher lasse ich dieses Thema noch ein paar Wochen offen. Bitte meldet euch, wenn ihr immer noch Probleme beim Laden von Revisionen habt.




