Startup failure with 4.4.0
-
Last night our Cloudron updated to 4.4.0, and got stuck in a restart loop.
The error in box.log was:/home/yellowtent/box/src/mail.js:524 if (!record.status) message.push(`${type.toUpperCase()} DNS record (${record.type}) did not match.\n * Hostname: \`${record.name}\`\n * Expected: \`${record.expected}\`\n * Actual: \`${record.value}\``); ^ TypeError: Cannot read property 'status' of undefined at Object.keys.forEach (/home/yellowtent/box/src/mail.js:524:33) at Array.forEach (<anonymous>) at /home/yellowtent/box/src/mail.js:522:41 at /home/yellowtent/box/src/mail.js:503:13 at /home/yellowtent/box/node_modules/async/dist/async.js:3888:9 at /home/yellowtent/box/node_modules/async/dist/async.js:473:16 at iteratorCallback (/home/yellowtent/box/node_modules/async/dist/async.js:1064:13) at /home/yellowtent/box/node_modules/async/dist/async.js:969:16 at /home/yellowtent/box/node_modules/async/dist/async.js:3885:13 at /home/yellowtent/box/src/mail.js:471:17
I patched around this by editing that file and adding a
if (!record) return;
into the forEach callback.
We've been having issues with Cloudron not correctly reading the mail config (reporting DNS misconfiguration, with error messages about expecting null to equal null), since we migrated to a new host a few weeks ago. This may be related, but I haven't had time to report the issues that happening in that migration yet.
-
@Peter-Newman I guess the DKIM records are not setup in DNS properly? It seems that when DKIM is not setup, the Cloudron code tries to raise a notification and that notification logic crashes. I have fixed it so that such things never crash the box.
-
@girish As far as I know, it's correct - unless DKIM has the IP included, since that did change during the migration. Unfortunately, the Email section of Cloudron wasn't properly giving the needed information - previously it was saying DKIM was incorrect, but the display just said something like "expected null to equal null". DKIM isn't showing in the Email status page at all with the workaround I added here.
I'll put that in as a separate issue, though, once the update comes out and I see the proper message.