Update: I did a proper bootstrap, destroy, start with a 2-container setup and now the reported version numbers are updated and the Admin UI is rendering again.
The rest of the post remains for posterity.
I’m experiencing what may be a similar issue. The Admin interface loads, but only displays the tabs at the top and the main content section is blank:
Browser Console Logs
Reviewing the browser console logs, I see errors like:
[Error] Error: VM BUG: Target must be set before attempting to jump
vendor.xxxxx-xxxx.js
Unhandled Promise Rejection: Error: Could not find module `discourse/lib/decorators` imported from `discourse/plugins/docker_manager/discourse/routes/update`
Error Stack
[Error] Error: VM BUG: Target must be set before attempting to jump
b (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:131956)
evaluate (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:69428)
_execute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:111383)
execute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:111253)
rerender (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:115153)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252217)
tx (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:105883)
_renderRoots (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252117)
_renderRootsTransaction (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252504)
_revalidate (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252982)
invoke (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:153517)
flush (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:152599)
flush (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:154477)
_end (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:159527)
end (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:156653)
_runExpiredTimers (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:160801)
[Error] Unhandled Promise Rejection: Error: Could not find module `discourse/lib/decorators` imported from `discourse/plugins/docker_manager/discourse/routes/update`
(anonymous function) (vendor.6f1929e16c84d825f1e134b0a5a6bf6d-ed21b08557694a2386531fb8b5bd479da7fe4ec9cffd9278c49f382c5e7bc3a4.js:1:1310)
h (vendor.6f1929e16c84d825f1e134b0a5a6bf6d-ed21b08557694a2386531fb8b5bd479da7fe4ec9cffd9278c49f382c5e7bc3a4.js:1:1311)
(anonymous function) (vendor.6f1929e16c84d825f1e134b0a5a6bf6d-ed21b08557694a2386531fb8b5bd479da7fe4ec9cffd9278c49f382c5e7bc3a4.js:1:3065)
h (vendor.6f1929e16c84d825f1e134b0a5a6bf6d-ed21b08557694a2386531fb8b5bd479da7fe4ec9cffd9278c49f382c5e7bc3a4.js:1:1375)
requireModule (vendor.6f1929e16c84d825f1e134b0a5a6bf6d-ed21b08557694a2386531fb8b5bd479da7fe4ec9cffd9278c49f382c5e7bc3a4.js:1:599)
_extractDefaultExport (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:105:269780)
resolveOther (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:105:266326)
resolve (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:105:266888)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:262092)
resolve (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:262185)
resolve (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:262275)
c (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:260192)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:258815)
getRoute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:111:56849)
fetchRoute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:267571)
_getQPMeta (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:111:63399)
_hydrateUnsuppliedQueryParams (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:111:64113)
_prepareQueryParams (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:111:63271)
normalizeQueryParams (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:111:38898)
_generateURL (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:111:38990)
eA (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:202925)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:49065)
X (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:140358)
T (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:49044)
eM (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:80191)
flush (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:79868)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:70930)
evaluate (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:65312)
evaluateSyscall (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:111047)
evaluateInner (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:110609)
evaluateOuter (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:110528)
next (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:121496)
_execute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:121359)
handleException (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:112232)
handleException (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:114799)
throw (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:111583)
evaluate (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:68993)
_execute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:111383)
execute (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:111253)
rerender (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:115153)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252217)
tx (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:105883)
_renderRoots (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252117)
_renderRootsTransaction (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252504)
_revalidate (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:252982)
invoke (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:153517)
flush (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:152599)
flush (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:154477)
_end (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:159527)
(anonymous function) (chunk.6994431508d4f7ecb4c3.d41d8cd9.js:119:155980)
Upgrade Process (2-container)
I originally started experiencing the issue after trying to complete the upgrade from within the Discourse Admin UI where I was shown that I needed to update the Docker Manager first.
After updating the Docker Manager, I started experiencing that issue, so I SSH’ed into the box and did a manual (2 container) update for just web_only:
cd /var/discourse
git pull
./launcher bootstrap web_only
./launcher stop web_only && ./launcher start web_only
^^^^
⚠️ This is wrong! Use destroy per below. ⚠️
Curiously, the /about.json path still shows I’m running 3.4.0.beta4-dev which is what I thought I started from as the original email was for an upgrade from 3.4.0.beta4-dev to 3.5.0.beta1.
I double checked the git log and it seems like at least the discourse_docker is on the latest commit 3715498fc188d60c0b579443383c4e973cf26f59 at the time of writing this.
Safe-Mode Works
I wasn’t aware of safe mode, but apparently the issue doesn’t occur if I disable ALL client side plugins.
Disabling only unofficial client-side plugin customizations does not resolve the issue as I tried each combination to narrow things down.
| Option | Result |
|---|---|
no_unofficial_plugins |
|
no_plugins |
|
no_themes |
Disabling docker_manager doesn’t help
I tried commenting out the docker_manager plugin under hooks/after_code, then rebuilding the web_only container + stop && start, but the client side error message noted above still remains.
It does introduce another error message which visiting the Admin page of this.class.create is not a function, but perhaps that’s expected with the underlying docker_manager plugin disabled for this test:
loader.js:247 Uncaught (in promise) Error: Could not find module `discourse/lib/decorators` imported from `discourse/plugins/docker_manager/discourse/routes/update`
at loader.js:247:1
at h (loader.js:258:1)
at u.findDeps (loader.js:168:1)
at h (loader.js:262:1)
at requireModule (loader.js:24:1)
at f.get (composer.js:874:1)
at push.98673._extractDefaultExport (composer.js:874:1)
at push.98673.resolveOther (composer.js:874:1)
at push.98673.resolve (composer.js:874:1)
at n.i [as getRoute] (upload-debugging.js:25:1)
at p._getQPMeta (upload-debugging.js:25:1)
index.js:78 Uncaught TypeError: this.class.create is not a function
at n.i [as getRoute] (upload-debugging.js:25:1)
at p._getQPMeta (upload-debugging.js:25:1)
Again, using safe mode with no_plugins works around the issue temporarily.
