Javascript error + content missing after update 2.6.0.beta3

I am running self-hosted discourse site forum.embeetle.com and updated yesterday to 2.6.0.beta3 using the " one-click browser upgrade".

Before the update, the forum worked fine. After it, the forum no longer displays topic contents or the top bar with login options as well as some other elements of the web interface. This is how the top page looks now:

It is as if parts of the web page could not be fetched from the server, or maybe javascript code is not running.

Since nobody else seems to be reporting this issue, I assume it is something specific to my setup. I have no clue what. Any suggestions to debug the situation are very welcome.

The installation is self-hosted, running in Docker and communicating via a unix socket with my Nginx server running outside Docker. This setup has worked well for a long time and I did not change it.

The Firefox development console shows these errors after opening the top page of the forum:

Uncaught TypeError: Discourse.getURL is not a function
    iconTagRenderer 81af47c00866048c45bf30a4543ac68bbfa12b26.js:37
    default _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:24080
    default _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:24150
    a _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:61636
    registerUnbound _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:543
    wrapHelper _vendor-a520d2facd37b23a6fce06beaf5feaa3034f761d5b4f37c89c4cecd3ead14192.js:1808
    main _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:63114
    i _vendor-a520d2facd37b23a6fce06beaf5feaa3034f761d5b4f37c89c4cecd3ead14192.js:1591
    s _vendor-a520d2facd37b23a6fce06beaf5feaa3034f761d5b4f37c89c4cecd3ead14192.js:1595
    renderTopicListItem _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:58966
    didReceiveAttrs _application-7cd582275ddbdcd17a8034612cd6e29612ffcd8c00a7b8f2bbf13154b6db1b16.js:58960
    jQuery 30
81af47c00866048c45bf30a4543ac68bbfa12b26.js:37:56
XML Parsing Error: syntax error
Location: https://forum.embeetle.com/logs/report_js_error
Line Number 1, Column 1: report_js_error:1:1

I tried rebuilding using ./launcher rebuild app. It did some updates, but the problem persists. I also tried ./discourse-doctor. Everything looked normal. See discourse-doctor output below.

DISCOURSE DOCTOR Sat Sep 26 12:30:19 CEST 2020
OS: Linux foechoer.sikando.com 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forum.embeetle.com
SMTP_ADDRESS=smtp.zoho.com #mail.embeetle.com
DEVELOPER_EMAILS=johan@embeetle.com,kristof@embeetle.com,matic@embeetle.com
SMTP_PASSWORD=A3!r1&nR0LuVmdW3Tpwa
SMTP_PORT=587
SMTP_USER_NAME=forum@embedeer.com
LETSENCRYPT_ACCOUNT_EMAIL=postmaster@sikando.com

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 19.03.13, build 4484c46d9d

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS               NAMES
7e92f71e558e        local_discourse/app   "/sbin/boot"        5 minutes ago       Up 4 minutes                            app

7e92f71e558e        local_discourse/app   "/sbin/boot"        5 minutes ago       Up 4 minutes                            app

Discourse container app is running


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-math.git
          - git clone https://github.com/discourse/discourse-bbcode-color.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.

========================================
Discourse 2.6.0.beta3
Discourse version at forum.embeetle.com: Discourse 2.6.0.beta3 
Discourse version at localhost: NOT FOUND
==================== DNS PROBLEM ====================
This server reports NOT FOUND, but forum.embeetle.com reports Discourse 2.6.0.beta3 .
This suggests that you have a DNS problem or that an intermediate proxy is to blame.
If you are using Cloudflare, or a CDN, it may be improperly configured.


==================== MEMORY INFORMATION ====================
RAM (MB): 20553

              total        used        free      shared  buff/cache   available
Mem:          20071        4405       14260         305        1405       15048
Swap:          2047           0        2047

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
df: /var/discourse: No such file or directory
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       1.4T  1.1T  183G  87% /

==================== DISK INFORMATION ====================
Disk /dev/sda: 1.4 TiB, 1503238553600 bytes, 2936012800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x645c17b2

Device     Boot   Start        End    Sectors  Size Id Type
/dev/sda1  *       2048    1953791    1951744  953M 83 Linux
/dev/sda2       1953792 2936010751 2934056960  1.4T 83 Linux

==================== END DISK INFORMATION ====================

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [johan@embeetle.com]: johan@sikanda.be
Sending mail to johan@sikanda.be. . . 
Testing sending to johan@sikanda.be using smtp.zoho.com:587.
SMTP server connection successful.
Sending to johan@sikanda.be. . . 
Mail accepted by SMTP server.

If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.

If the message is not delivered it is not a problem with Discourse.

Check the SMTP server logs to see why it failed to deliver the message.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================

Try upgrading from the command line via SSH and see if that helps.

I tried:

git pull
./launcher rebuild app

Everything looks normal on the command line, but the browser still shows incomplete pages + “Uncaught TypeError: Discourse.getURL is not a function” in the developer console.

1 Like

This must be coming from a plugin or theme component. Try disabling them one by one to find out where this is coming from.

6 Likes

Related to that, try in safe mode which disables all themes.

1 Like

This means you are using an old version of the Tag icons component. Please update it on your admin panel.

6 Likes

That did the trick. My forum is working again.

Thanks everyone. Discourse is great. The metaforum community is great. You are great.

5 Likes