La dernière mise à jour ne se construit pas en raison de diverses raisons

La dernière mise à jour ne compile pas avec les erreurs suivantes. Échec de la mise à jour de l’interface utilisateur et de l’interface de ligne de commande.

ÉCHEC
--------------------
Pups::ExecError : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' a échoué avec le retour #<Process::Status: pid 921 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap a échoué avec le code de sortie 1
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.
f7f7afc677212ddcaaa8e1979af5ddef79b3accffe118da6c9542682c104bc27
==================== FIN DU JOURNAL DE RECONSTRUCTION ====================
Échec de la reconstruction de l'application.

Cela semble lié à ceci

I, [2024-07-03T21:28:32.470814 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
2024-07-03 21:28:41.149 UTC [982] discourse@discourse ERREUR : la colonne llm_models.url n'existe pas au caractère 47
2024-07-03 21:28:41.149 UTC [982] discourse@discourse INSTRUCTION : SELECT "llm_models".* FROM "llm_models" WHERE "llm_models"."url" = 'https://vllm.shadowed-by-srv.invalid' LIMIT 1
** ÉCHEC DU PLUGIN **

Vous ne pouvez pas démarrer Discourse en raison de cette erreur lors de l'initialisation du plugin :

PG::UndefinedColumn : ERREUR : la colonne llm_models.url n'existe pas
LINE 1 : SELECT "llm_models".* FROM "llm_models" WHERE "llm_models"."...
                                                      ^

1 « J'aime »

Commenter le plugin ai permet de continuer mais génère ensuite cette erreur :

Zlib::BufError : erreur de tampon (Zlib::BufError)

I, [2024-07-03T21:43:28.020091 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile'
Purging temp files
Bundling assets
I, [2024-07-03T21:43:40.638114 #1052]  INFO -- : Writing /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
I, [2024-07-03T21:43:40.651072 #1052]  INFO -- : Writing /var/www/discourse/public/assets/service-worker-6454e7c107371e6b523b833c685557b98b38cf2f4a5eb24ff8855c1abc2da918.js
I, [2024-07-03T21:43:40.655519 #1052]  INFO -- : Writing /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
I, [2024-07-03T21:43:40.659004 #1052]  INFO -- : Writing /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428dcfd680205516fe211700a71c7adb5cbcf4df2cc5.js
I, [2024-07-03T21:43:41.592285 #1052]  INFO -- : Writing /var/www/discourse/public/assets/locales/ar-d1106ddae8b17f20c063785fe90a3ffc1f919b2116980066eeadb0e1b418e060.js
I, [2024-07-03T21:43:42.009879 #1052]  INFO -- : Writing /var/www/discourse/public/assets/locales/be-f0f585d6b0bb87eff0aa46461d4ab6c16270d7fbc4ffe653640da41ecb55a684.js
I, [2024-07-03T21:43:42.414089 #1052]  INFO -- : Writing /var/www/discourse/public/assets/locales/bg-c27a4d2615e98a27acebcb9ffb14d25183cde5b45c75701a58b65b967573fd58.js
rake aborted!
Zlib::BufError: erreur de tampon (Zlib::BufError)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `<'`
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `set'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:212:in `set'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:136:in `set'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:243:in `store_asset'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:185:in `load_from_unloaded'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:60:in `block in load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:47:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/bundle.rb:23:in `block in call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/utils.rb:201:in `dfs'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/bundle.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:75:in `call_processor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/processor_utils.rb:56:in `call_processors'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:60:in `block in load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:47:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:66:in `find_asset'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:73:in `find_all_linked_assets'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:134:in `block in find'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `find'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:186:in `compile'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.5.1/lib/sprockets/rails/task.rb:67:in `block (3 levels) in define'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/rake/sprocketstask.rb:147:in `with_logger'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.5.1/lib/sprockets/rails/task.rb:66:in `block (2 levels) in define'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
1 « J'aime »

Ah, c’est un problème distinct : "Zlib::BufError: buffer error" - Discourse update fails - #6 by AquaL1te

J’ai ajouté DISCOURSE_MAXMIND_ACCOUNT_ID: 0000 dans app.yml (avec l’ID de compte réel) et il continue de générer une erreur avec Zlib::BufError: buffer error (Zlib::BufError)

Commentez maxmind et réessayez.

Cela a permis de le construire comme solution de contournement, mais je n’arrive pas à le construire avec.

Est-ce que l’ordre dans lequel DISCOURSE_MAXMIND_ACCOUNT_ID est listé dans la configuration a de l’importance ? Je vais le reconstruire à un moment donné en testant s’il est placé au-dessus de la clé de licence.

Nous avons maintenant un forum vide, il saute lorsque l’on essaie d’interagir avec les menus

erreurs de console

Uncaught SyntaxError: Unexpected identifier '#t'
Uncaught SyntaxError: Unexpected identifier '#t' at discourse-cakeday-14…0c79d9ecda.br.js:67
Uncaught SyntaxError: Unexpected identifier '#a' at discourse-gamificati…aa953738d0.br.js:26
Uncaught SyntaxError: Unexpected identifier '#a' at discourse-gamificati…cc07ea7ef08.br.js:3
Uncaught SyntaxError: Unexpected identifier '#t' at discourse-lazy-video…b8ed6127f2.br.js:10
Uncaught SyntaxError: Unexpected identifier '#s' at discourse-presence-f…3c0d7b6fc3.br.js:12
Uncaught SyntaxError: Unexpected identifier '#t' at discourse-reactions-…901cb11c9e5.br.js:9
Uncaught SyntaxError: Unexpected identifier '#t' at docker_manager_admin…d28929dca4.br.js:11
Uncaught SyntaxError: Unexpected identifier '#e' at poll-796d99d66969f1b…fe7802fab0d.br.js:4
Uncaught SyntaxError: Unexpected identifier '#r' at admin-67b2706032147c…37109c4686.br.js:79
Uncaught SyntaxError: Unexpected identifier '#t' at 39e5219……a6253fbac792b5.js:9
Uncaught SyntaxError: Unexpected identifier '#c' at 8e35ecd……431326f726d28.js:14
Uncaught SyntaxError: Unexpected identifier '#t' at 80f289f……3ae3799840269e.js:7
Uncaught SyntaxError: Unexpected identifier '#e' at 0ca3731……0183b04205b2c7.js:5
chunk.2e73082f9f5aebde95db.d41d8cd9.br.js:65 ℹ️ Discourse v3.3.0.beta4-dev — https://github.com/discourse/discourse/commits/70fc39211b — Ember v5.5.0


       Failed to load resource: the server responded with a status of 429 ()
mini-profiler-resources/results:1 
        
        
       Failed to load resource: the server responded with a status of 429 ()
mini-profiler-resources/results:1 
        
        
       Failed to load resource: the server responded with a status of 429 ()
mini-profiler-resources/results:1 
        
        
       Failed to load resource: the server responded with a status of 429 ()
mini-profiler-resources/results:1 
        
        
       Failed to load resource: the server responded with a status of 429 ()
mini-profiler-resources/results:1 
        
        
       Failed to load resource: the server responded with a status of 429 ()
mini-profiler-resources/results:1 
        
        
       Failed to load resource: the server responded with a status of 429 ()
vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9 Uncaught (in promise) Error: There is no route named admin
    at P.handlersFor (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:384138)
    at o.isActiveForRoute (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:183474)
    at ue.isActiveForState (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:22532)
    at get isActive (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:21552)
    at get class (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:20303)
    at Te (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:76425)
    at vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:266639
    at vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:266302
    at e.track (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:345848)
    at d (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:266281)
    at vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:302259
    at vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:266302
    at e.track (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:345848)
    at d (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:266281)
    at Je (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:302493)
    at Qe.flush (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:301801)
    at Object.evaluate (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:295357)
    at Object.evaluate (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:282821)
    at It.evaluateSyscall (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:318887)
    at It.evaluateInner (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:318579)
    at It.evaluateOuter (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:318500)
    at Wt.next (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:328385)
    at Wt._execute (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:328263)
    at Wt.execute (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:328209)
    at Qt.sync (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:328863)
    at hr.render (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:51968)
    at vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:55529
    at Nt (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:317369)
    at gr._renderRoots (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:55447)
    at gr._renderRootsTransaction (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:55807)
    at gr._renderRoot (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:55324)
    at gr._appendDefinition (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:54370)
    at gr.appendOutletView (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:54024)
    at invoke (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:358138)
    at h.flush (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:357215)
    at p.flush (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:358978)
    at B._end (vendor.696635918446fec08b0d1b3ff71b7e07-5130d00d5db8931b806390ef7c3a55b4e60b44924d23e28410b820d9541895fd.br.js:9:364061)

Le mode sans échec se charge partiellement, le menu de gauche ne fonctionne pas du tout, mais une erreur s’affiche toujours :

Uncaught SyntaxError : Identifiant inattendu ‘#r’ (dans admin-67b2706032147c458d6f1a74d1068cd7a7b0e9d34613d70a5c341737109c4686.br.js:79:115)

/assets/admin-67b2706032147c458d6f1a74d1068cd7a7b0e9d34613d70a5c341737109c4686.br.js

Semble provenir d’ici : class l extends t.default{static#e=(()=\u003edt7948.g(this.prototype,"collapsed",[n.tracked],(function(){return!1})))()#r=(()=\u003e{dt7948.i(this,"collapsed")})()}

Cela semblait être un problème de cloudflare, j’ai résolu le problème en vidant le cache.

1 « J'aime »

Ce conseil peut également être utile :

4 « J'aime »

Bonjour,

C’était le cache, nous l’avons déjà configuré depuis le lancement. Nous nous assurerons qu’il soit vidé lors des futures mises à niveau de Discourse.

Quelqu’un a une solution ou une solution de contournement pour cela ? Je ne peux pas utiliser le plugin IA tant que le problème n’est pas résolu.

1 « J'aime »

Le problème est que cette ligne a été insérée dans plugin.rb le 18 juin

LlmModel.enable_or_disable_srv_llm!

qui dépend de la migration 20240514171609 qui a été faite le 16 mai.

Ma solution rapide a été de récupérer le commit cc0b222 du plugin AI, puis de reconstruire, puis de récupérer la dernière version.

La seule chose qui me manque ici est de savoir pourquoi cela fonctionne normalement :thinking:

1 « J'aime »

J’ai commenté le plugin Discourse AI, reconstruit l’application et vidé le cache Cloudflare.

Les utilisateurs peuvent y accéder sur leur téléphone mais pas sur leur ordinateur de bureau.

Ces erreurs JavaScript s’affichent :

Uncaught ReferenceError: dt7948 is not defined
at plugin-outlet.js:47:1

Uncaught (in promise) ReferenceError: Cannot access ‘PluginOutletComponent’ before initialization at Module.default (plugin-connector.js:62:1)

Toute aide est appréciée.

Avez-vous désactivé les accélérations Cloudflare ? Je pense que c’est là que j’ai vu cette erreur.

1 « J'aime »

Voici mes paramètres dans Cloudflare sous Speed > Optimisation :

Y a-t-il d’autres endroits que je devrais vérifier ?

J’ai fait quelques recherches supplémentaires à ce sujet Updating AI plugin fails

Ma principale question était de savoir pourquoi cela ne se produit que lors de la mise à jour d’un plugin déjà installé et non lors de l’installation d’un nouveau plugin. La réponse est que le cœur attrape les exceptions PG::UndefinedTable mais pas PG:UndefinedColumn. Si le plugin est déjà installé, l’exception est la dernière, si le plugin est tout neuf, c’est la première.

2 « J'aime »

J’ai mis à jour 2 instances aujourd’hui et j’ai constaté des erreurs similaires :
sur la 1ère, la lightbox ne fonctionne plus.
La 1ère est sur :

3.3.0.beta4-dev

(52a047a8be)

sur la 2ème, j’ai eu l’erreur suivante et elle ne s’affiche pas, je ne peux pas vérifier le commit actuel.

ReferenceError: dt7948 is not defined
et
ReferenceError: Cannot access '__WEBPACK_DEFAULT_EXPORT__' before initialization

Je n’utilise pas le plugin ai ni cloudflare.

J’ai effectué une mise à jour manuelle ce week-end pour voir si cela avait été corrigé. Mais je dois toujours exécuter le site en mode sans échec.

Quelqu’un a-t-il fait des progrès pour résoudre le problème sous-jacent ?

Avez-vous mis à jour via l’interface utilisateur ou la console ssh ?

Suivant :

Avez-vous également purgé tous les fichiers ?

2 « J'aime »