Erreur 500 lors de la publication, erreur d'exécution de moment.tz

Bonjour, j’ai récemment rencontré une erreur lors de la publication d’un sujet sur mon forum Discourse. J’ai examiné les journaux d’erreurs et trouvé ceci, la date et l’heure correspondant au moment où j’ai essayé de publier le sujet à plusieurs reprises. J’ai reçu un message d’erreur 500 error pour l’utilisateur.

Cette image montre un message d'erreur affiché dans une fenêtre de terminal ou un éditeur de code, indiquant une erreur d'exécution liée à une bibliothèque ou un module qui ne fonctionne pas correctement. (Légendé par l'IA)

Lorsque je clique sur le journal d’erreurs, la sortie suivante s’affiche :

JavaScript at addLocalDate (discourse/plugins/discourse-local-dates/lib/discourse-markdown/discourse-local-dates:24:29)
JavaScript at Object.date [as onMatch] (discourse/plugins/discourse-local-dates/lib/discourse-markdown/discourse-local-dates:44:7)
JavaScript at TextPostProcessRuler.applyRule (discourse-markdown-it/features/text-post-process:56:30)
JavaScript at textPostProcess (discourse-markdown-it/features/text-post-process:109:13)
JavaScript at replacer (discourse-markdown-it/features/text-post-process:122:44)
JavaScript at Object.textReplace (pretty-text/text-replace:62:23)
JavaScript at Array.<anonymous> (discourse-markdown-it/features/text-post-process:123:85)
JavaScript at Core.process (<anonymous>:2606:15)
JavaScript at MarkdownIt.parse (<anonymous>:6887:15)
JavaScript at MarkdownIt.render (<anonymous>:6902:38)
mini_racer (0.9.0) lib/mini_racer.rb:228:in `eval_unsafe'
mini_racer (0.9.0) lib/mini_racer.rb:228:in `block (2 levels) in eval'
mini_racer (0.9.0) lib/mini_racer.rb:369:in `timeout'
mini_racer (0.9.0) lib/mini_racer.rb:227:in `block in eval'
mini_racer (0.9.0) lib/mini_racer.rb:225:in `synchronize'
mini_racer (0.9.0) lib/mini_racer.rb:225:in `eval'
lib/pretty_text.rb:235:in `block in markdown'
lib/pretty_text.rb:681:in `block in protect'
lib/pretty_text.rb:681:in `synchronize'
lib/pretty_text.rb:681:in `protect'
lib/pretty_text.rb:173:in `markdown'
lib/pretty_text.rb:298:in `cook'
plugins/poll/lib/poll.rb:327:in `extract'
plugins/poll/lib/polls_validator.rb:15:in `validate_polls'
plugins/poll/plugin.rb:95:in `block (2 levels) in activate!'
lib/new_post_manager.rb:239:in `block in perform'
lib/new_post_manager.rb:238:in `any?'
lib/new_post_manager.rb:238:in `perform'
app/controllers/posts_controller.rb:215:in `create'
actionpack (7.0.8.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.8.4) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.8.4) lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack (7.0.8.4) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.8.4) lib/active_support/callbacks.rb:118: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.0.8.4) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.8.4) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.8.4) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.8.4) lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack (7.0.8.4) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.8.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.8.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.8.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.8.4) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.8.4) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.8.4) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.8.4) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.8.4) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:115:in `block in profile_method' 
actionpack (7.0.8.4) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.8.4) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.8.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.8.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.8.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.8.4) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.8.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.8.4) 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.4) 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.4) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.0.8.4) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.8.4) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.8.4) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.8.4) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack (7.0.8.4) 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.4) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.8.4) 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.4) 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.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.8.4) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:334: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.0.8.4) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
railties (7.0.8.4) lib/rails/engine.rb:530:in `call'
railties (7.0.8.4) lib/rails/railtie.rb:226:in `public_send'
railties (7.0.8.4) 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.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

Quelqu’un sait ce que cela signifie et comment puis-je le corriger ? Merci.

Nous avons rencontré ce problème sur un site discourse qui n’avait pas été mis à jour. Une mise à jour semble avoir atténué le problème pour le moment, mais nous resterons vigilants au cas où il réapparaîtrait.

2 « J'aime »

Oui cette erreur est surprenante, pouvez-vous me confirmer quelle version de Discourse vous utilisez s’il vous plaît ?

1 « J'aime »

Nous utilisons version: latest-release
Lorsque nous avons rencontré ce problème, la version de Discourse était https://github.com/discourse/discourse/commits/v3.3.0.beta2
et nous n’avons plus rencontré ce problème après la mise à jour vers la version https://github.com/discourse/discourse/commits/v3.3.0.beta3

1 « J'aime »

Il semble que mon site soit sur la version 3.3.0.beta4-dev. Je suppose que ce n’est pas pour la production ? Je vois le suffixe dev.

Il est censé être utilisé en production. Les communautés hébergées par Discourse reçoivent également ces versions « dev ». Le suffixe dev indique seulement qu’il ne s’agit pas de la version finale de 3.3.0-beta4

4 « J'aime »

Une fois que la version finale de 3.3.0-beta4 sera disponible, je ne manquerai pas de mettre à jour et de réessayer. Cela ne semble se produire que sur des publications spécifiques utilisant un modèle spécial, bien que nous n’ayons rencontré aucun problème auparavant. Il est simplement composé de boutons <kbd></kbd>, de [details="Résumé"][/details] et d’images. Rien d’expérimental, juste des fonctions de base de Discourse.

1 « J'aime »

J’ai une mise à jour, j’ai réussi à trouver la cause. Si j’insère une date et une heure telles que [date=2024-07-23 timezone="America/New_York"]/[date=2024-07-23 timezone=“America/New_York”]`, cela renverra l’erreur 500.

Quelqu’un connaît-il une solution ? Merci.

Quelle version de Discourse utilisez-vous ? Connaissez-vous le commit ? Vous pouvez le trouver sur la page source de votre forum :

Screenshot 2024-07-24 at 09.11.04

Est-ce que cela se produit également en /safe-mode ?

1 « J'aime »

Bonjour, pour votre question sur la version, il s’agit de 3.3.0.beta5-dev. Pour votre question sur l’aspect mode sans échec, lorsque j’entre en mode sans échec, le bouton pour insérer la date/heure disparaît. Je pense que cela est lié au plugin Discourse Calendar (and Event).

Fait amusant :discourse: - La fonctionnalité de date d’insertion fait partie du plugin Local Dates, qui est fourni avec Discourse (avec d’autres comme Discobot, Hide Details, Chat, etc.). Malheureusement, étant un plugin, le mode sans échec no_plugins le désactiverait tout comme d’autres plugins installés en option. :frowning:

Existe-t-il une option pour entrer en mode sans échec avec uniquement les plugins non officiels désactivés, ainsi que la désactivation des thèmes et des composants de thème, qui pourrait valoir la peine d’être essayée ?

3 « J'aime »

Malheureusement, même avec ces paramètres appliqués, le même message s’affiche toujours.


image

1 « J'aime »

Je suis presque sûr que c’est un problème lié à votre environnement. Savez-vous si d’autres personnes sur ce forum rencontrent ce problème ou si vous êtes le seul à avoir cette erreur ?

Essayez également de regarder l’onglet réseau de la console de votre navigateur, ainsi que la console directement pour rechercher toute erreur.

1 « J'aime »

J’ai demandé à une autre personne sur le forum et elle a également déclaré avoir reçu une Internal Server Error.

Je reçois également ceci dans la console lorsque j’essaie de publier.

Peut-être lié ?

Vous pouvez déclencher une erreur d’exécution dans discourse-local-dates si vous entrez un fuseau horaire incorrect dans un date-range :

date fonctionne avec un fuseau horaire incorrect :
[date=2024-07-25 time=14:05:00 timezone="Europe/Berlinx"]
2024-07-25T14:05:00Z

date-range ne fonctionne pas :

[date-range from=2024-07-25T15:00:00 to=2024-07-25T17:00:00 timezone="Europe/Berlinx"]
2024-07-25T15:00:00Z2024-07-25T17:00:00Z

À partir de là, d’autres dates ne seront pas analysées :
[date=2024-07-25 time=14:05:00 timezone="Europe/Berlin"]
2024-07-25T12:05:00Z

1 « J'aime »

Ce sujet a été automatiquement fermé 30 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.