unresponsve dashboard after update
Solved
Support
-
my cloudron has updated last night and since the dashboard is unresponsive, also the mail service is down .
here are the box logs :q2023-12-04T08:25:17.553Z box:server ========================================== 2023-12-04T08:25:17.553Z box:server Cloudron 7.6.1 2023-12-04T08:25:17.553Z box:server ========================================== 2023-12-04T08:25:17.554Z box:platform initializing platform 2023-12-04T08:25:17.606Z box:tasks stopAllTasks: stopping all tasks 2023-12-04T08:25:17.607Z box:shell stopTask spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/stoptask.sh all 2023-12-04T08:25:17.639Z box:shell stopTask (stdout): All tasks stopped 2023-12-04T08:25:17.662Z box:reverseproxy writeDashboardConfig: writing dashboard config for 3es.io 2023-12-04T08:25:17.688Z box:shell reload spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/restartservice.sh nginx Error: Error starting server: {"name":"BoxError","reason":"Database Error","details":{},"message":"ER_BAD_FIELD_ERROR: Unknown column 'type' in 'field list'","nestedError":{"code":"ER_BAD_FIELD_ERROR","errno":1054,"sqlMessage":"Unknown column 'type' in 'field list'","sqlState":"42S22","index":0,"sql":"INSERT INTO notifications (type, title, message, acknowledged, eventId) VALUES ('cloudronUpdated', 'Cloudron updated to v7.6.1', 'Cloudron was updated from v7.5.2 to v7.6.1.\\n\\nChangelog:\\n* Cleanup backup validation mount point\\n* dashboard: remove nginx config of old domain when domain changed\\n* Show disk consumption of docker volumes for /run and /tmp of apps separately\\n* dns: add dnsimple automation\\n* roles: admin role can access branding and networking\\n* dns: add ovh backend\\n\\n', false, '263e1e2a-9094-4ee5-80e7-4bcee41e8fde')"},"code":"ER_BAD_FIELD_ERROR","sqlMessage":"Unknown column 'type' in 'field list'"} at main (/home/yellowtent/box/box.js:48:41) at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
i have rebooted and tried to run the
/home/yellowtent/box/setup/start.sh
script as root but it failed with this error :./start.sh 2023-12-04T08:29:56 ==> start: Cloudron Start media:x:500: 2023-12-04T08:29:56 ==> start: Configuring docker Synchronizing state of apparmor.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable apparmor 2023-12-04T08:29:59 ==> start: Ensuring directories 2023-12-04T08:29:59 ==> start: Configuring journald 2023-12-04T08:30:00 ==> start: Setting up unbound 2023-12-04T08:30:00 ==> start: Adding systemd services Synchronizing state of unbound.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable unbound Synchronizing state of cron.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable cron 2023-12-04T08:30:13 ==> start: Configuring sudoers 2023-12-04T08:30:13 ==> start: Configuring collectd 2023-12-04T08:30:13 ==> start: Configuring sysctl 2023-12-04T08:30:13 ==> start: Configuring logrotate 2023-12-04T08:30:13 ==> start: Adding motd message for admins 2023-12-04T08:30:13 ==> start: Configuring nginx 2023-12-04T08:30:13 ==> start: Starting mysql mysqladmin: [Warning] Using a password on the command line interface can be insecure. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. mysql: [Warning] Using a password on the command line interface can be insecure. mysql: [Warning] Using a password on the command line interface can be insecure. 2023-12-04T08:30:13 ==> start: Migrating data Ignoring invalid configuration option passed to Connection: driver. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection [ERROR] AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Duplicate entry 'directory_server_config' for key 'settings.PRIMARY' at /home/yellowtent/box/node_modules/db-migrate/lib/commands/on-complete.js:15:14 at tryCatcher (/home/yellowtent/box/node_modules/bluebird/js/release/util.js:16:23) at Promise.successAdapter (/home/yellowtent/box/node_modules/bluebird/js/release/nodeify.js:22:30) at Promise._settlePromise (/home/yellowtent/box/node_modules/bluebird/js/release/promise.js:601:21) at Promise._settlePromiseCtx (/home/yellowtent/box/node_modules/bluebird/js/release/promise.js:641:10) at _drainQueueStep (/home/yellowtent/box/node_modules/bluebird/js/release/async.js:97:12) at _drainQueue (/home/yellowtent/box/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/home/yellowtent/box/node_modules/bluebird/js/release/async.js:102:5) at Async.drainQueues [as _onImmediate] (/home/yellowtent/box/node_modules/bluebird/js/release/async.js:15:14) at process.processImmediate (node:internal/timers:476:21) at Packet.asError (/home/yellowtent/box/node_modules/mysql2/lib/packets/packet.js:728:17) at Query.execute (/home/yellowtent/box/node_modules/mysql2/lib/commands/command.js:29:26) at Connection.handlePacket (/home/yellowtent/box/node_modules/mysql2/lib/connection.js:456:32) at PacketParser.onPacket (/home/yellowtent/box/node_modules/mysql2/lib/connection.js:85:12) at PacketParser.executeStart (/home/yellowtent/box/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.<anonymous> (/home/yellowtent/box/node_modules/mysql2/lib/connection.js:92:25) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at TCP.onStreamRead (node:internal/stream_base_commons:190:23) 2023-12-04T08:30:14 ==> start: DB migration failed
from what i can tell all other services seems ok since i have acces to most of the installed apps.
-
as the error suggest , i have deleted the 'directory_server_config' row in the settings table and all seems back to normal.
detailed resolution steps for references :- connect to the server via SSH
- cd to
/home/yellowtent/box/setup
- run the
start.sh
script as root
- if it raise the error :
AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Duplicate entry 'directory_server_config' for key 'settings.PRIMARY'
then you can solve it with the following :
- run
mysql --password=password --database=box
- just to be safe run
select * from settings where name='directory_server_config';
and backup the result somwhere..; - run
delete from settings where name='directory_server_config';
- then
exit
- re-run the start script as root
./start.sh
and the error should be gone
-
-