Latest update wont build with the following errors. Failed on UI update and CLI.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 921 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
f7f7afc677212ddcaaa8e1979af5ddef79b3accffe118da6c9542682c104bc27
==================== END REBUILD LOG ====================
Failed to rebuild app.
Seems to be this related to this
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 ERROR: column llm_models.url does not exist at character 47
2024-07-03 21:28:41.149 UTC [982] discourse@discourse STATEMENT: SELECT "llm_models".* FROM "llm_models" WHERE "llm_models"."url" = 'https://vllm.shadowed-by-srv.invalid' LIMIT 1
** PLUGIN FAILURE **
You are unable to start Discourse due to this error during plugin
initialization:
PG::UndefinedColumn: ERROR: column llm_models.url does not exist
LINE 1: SELECT "llm_models".* FROM "llm_models" WHERE "llm_models"."...
^
I added DISCOURSE_MAXMIND_ACCOUNT_ID: 0000 into app.yml (With the actual account ID) and it still errors with Zlib::BufError: buffer error (Zlib::BufError)
That’s allowed it to build as a workaround but can’t get it to build with it.
Does it matter which way DISCOURSE_MAXMIND_ACCOUNT_ID are listed in the config? Im going to rebuild it at some point testing having it above the license key,
Uncaught SyntaxError: Unexpected identifier '#t'
discourse-cakeday-14…0c79d9ecda.br.js:67 Uncaught SyntaxError: Unexpected identifier '#t'
discourse-gamificati…aa953738d0.br.js:26 Uncaught SyntaxError: Unexpected identifier '#a'
discourse-gamificati…cc07ea7ef08.br.js:3 Uncaught SyntaxError: Unexpected identifier '#a'
discourse-lazy-video…b8ed6127f2.br.js:10 Uncaught SyntaxError: Unexpected identifier '#t'
discourse-presence-f…3c0d7b6fc3.br.js:12 Uncaught SyntaxError: Unexpected identifier '#s'
discourse-reactions-…901cb11c9e5.br.js:9 Uncaught SyntaxError: Unexpected identifier '#t'
docker_manager_admin…d28929dca4.br.js:11 Uncaught SyntaxError: Unexpected identifier '#t'
poll-796d99d66969f1b…fe7802fab0d.br.js:4 Uncaught SyntaxError: Unexpected identifier '#e'
admin-67b2706032147c…37109c4686.br.js:79 Uncaught SyntaxError: Unexpected identifier '#r'
39e5219……a6253fbac792b5.js:9 Uncaught SyntaxError: Unexpected identifier '#t'
8e35ecd……431326f726d28.js:14 Uncaught SyntaxError: Unexpected identifier '#c'
80f289f……3ae3799840269e.js:7 Uncaught SyntaxError: Unexpected identifier '#t'
0ca3731……0183b04205b2c7.js:5 Uncaught SyntaxError: Unexpected identifier '#e'
chunk.2e73082f9f5aebde95db.d41d8cd9.br.js:65 ℹ️ Discourse v3.3.0.beta4-dev — https://github.com/discourse/discourse/commits/70fc39211b — Ember v5.5.0
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 ()
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)
Seems to be from here: class l extends t.default{static#e=(()=>dt7948.g(this.prototype,“collapsed”,[n.tracked],(function(){return!1})))()#r=(()=>{dt7948.i(this,“collapsed”)})()
My main question was why this only happens when updating an already-installed plugin and not when the plugin is newly installed. The answer is that core catchesPG::UndefinedTable exceptions but not PG:UndefinedColumn. If the plugin is already installed then the exception is the latter, if the plugin is brand new then it is the former.