Read the statement by Michael Teeuw here.
update package list
-
pi@raspberrypi:~/MagicMirror $ npm start
magicmirror@2.27.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[2025-09-11 16:56:55.039] [LOG] Starting MagicMirror: v2.27.0
[2025-09-11 16:56:55.176] [LOG] Loading config …
[2025-09-11 16:56:55.192] [LOG] config template file not exists, no envsubst
[2025-09-11 16:56:55.206] [LOG] Loading module helpers …
[2025-09-11 16:56:55.858] [LOG] Initializing new module helper …
[2025-09-11 16:56:55.860] [LOG] Module helper loaded: MMM-Remote-Control
[2025-09-11 16:56:55.863] [LOG] No helper found for module: alert.
[2025-09-11 16:56:55.885] [LOG] Initializing new module helper …
[2025-09-11 16:56:55.887] [LOG] Module helper loaded: MMM-Saint
[2025-09-11 16:56:55.913] [LOG] Initializing new module helper …
[2025-09-11 16:56:55.915] [LOG] Module helper loaded: MMM-BME280
[2025-09-11 16:56:55.933] [LOG] No helper found for module: MMM-FlipClock.
[2025-09-11 16:56:56.121] [LOG] Initializing new module helper …
[2025-09-11 16:56:56.122] [LOG] Module helper loaded: MMM-network-signal
[2025-09-11 16:56:56.827] [LOG] Initializing new module helper …
[2025-09-11 16:56:56.828] [LOG] Module helper loaded: calendar
[2025-09-11 16:56:58.426] [LOG] Initializing new module helper …
[2025-09-11 16:56:58.427] [LOG] Module helper loaded: MMM-Jast
[2025-09-11 16:57:00.066] [LOG] Initializing new module helper …
[2025-09-11 16:57:00.069] [LOG] Module helper loaded: MMM-GooglePhotos
[2025-09-11 16:57:00.088] [LOG] No helper found for module: MMM-WiFiPassword.
[2025-09-11 16:57:00.093] [LOG] No helper found for module: MMM-OpenmapWeather.
[2025-09-11 16:57:00.107] [LOG] No helper found for module: MMM-WeatherOrNot.
[2025-09-11 16:57:00.122] [WARN] No /home/pi/MagicMirror/js/…/modules/MMM-Linky/MMM-Linky.js found for module: MMM-Linky.
[2025-09-11 16:57:00.124] [LOG] No helper found for module: MMM-Linky.
[2025-09-11 16:57:00.569] [LOG] Initializing new module helper …
[2025-09-11 16:57:00.571] [LOG] Module helper loaded: newsfeed
[2025-09-11 16:57:00.573] [LOG] All module helpers loaded.
[2025-09-11 16:57:00.599] [LOG] Starting server on port 8080 …
[2025-09-11 16:57:00.649] [WARN] You’re using a full whitelist configuration to allow for all IPs
[2025-09-11 16:57:03.916] [ERROR] Whoops! There was an uncaught exception…
[2025-09-11 16:57:03.930] [ERROR] Error: listen EADDRINUSE: address already in use 0.0.0.0:8080
at Server.setupListenHandle [as _listen2] (node:net:1872:16)
at listenInCluster (node:net:1920:12)
at doListen (node:net:2069:7)
at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: ‘EADDRINUSE’,
errno: -98,
syscall: ‘listen’,
address: ‘0.0.0.0’,
port: 8080
}
[2025-09-11 16:57:03.933] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[2025-09-11 16:57:03.936] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues
[2025-09-11 16:57:40.629] [INFO] System information:SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 6.12.45-v7+
VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined
-
@pat59 so, you already have an instance running, probably under pm2
when I said stop MM I meant in whatever way running…
pm2’s JOB is to start and KEEP MM running… no matter what
you ctrl-Q
pm2 says, oops, app crashed, restart…so, you have to use the pm2 commands to tell it what to do
pm2 status
will show the managed apps, one line per
you can control the app, by using the name or number of the app in a rowpm2 stop 0 pm2 stop MagicMirror
could both be for the same app
once stopped, THEN you can go to the MM folder and do the npm start to see the possible errors easier…
once you fix the errors, you can stop the temp MM with ctrl-q (as you started it manually)
and then tell pm2 to manage it againpm2 start 0/MagicMirror
-
pi@raspberrypi:~/MagicMirror $ rm -rf node_modules
pi@raspberrypi:~/MagicMirror $ npm installmagicmirror@2.27.0 postinstall
npm run install-vendor && npm run install-fonts && echo "MagicMirror² installation finished successfully!
"magicmirror@2.27.0 install-vendor
echo "Installing vendor files …
" && cd vendor && npm install --loglevel=error --no-audit --no-fund --no-update-notifierInstalling vendor files …
up to date in 3s
magicmirror@2.27.0 install-fonts
echo "Installing fonts …
" && cd fonts && npm install --loglevel=error --no-audit --no-fund --no-update-notifierInstalling fonts …
up to date in 3s
MagicMirror² installation finished successfully!magicmirror@2.27.0 prepare
[ -f node_modules/.bin/husky ] && husky || echo no husky installed.added 976 packages in 8m
205 packages are looking for funding
runnpm fund
for details
pi@raspberrypi:~/MagicMirror $ -
@pat59 and now
npm start
-
I don’t know how to thank you, it’s working again, thank you, thank you
-
Well, it’s working normally again. I don’t know how to thank you. Thank you, thank you.
-
Hello, I must have missed a step. I started my mirror this morning, same problem.
pi@raspberrypi:~/MagicMirror $ pm2 stop MagicMirror
[PM2] Applying action stopProcessId on app [MagicMirror](ids: [ 1 ])
[PM2] MagicMirror ✓
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 1 │ MagicMirror │ fork │ 0 │ stopped │ 0% │ 0b │
│ 0 │ mm │ fork │ 0 │ online │ 0% │ 2.4mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
pi@raspberrypi:~/MagicMirror $ npm startmagicmirror@2.27.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[2025-09-12 07:06:24.742] [LOG] Starting MagicMirror: v2.27.0
[2025-09-12 07:06:24.863] [LOG] Loading config …
[2025-09-12 07:06:24.888] [LOG] config template file not exists, no envsubst
[2025-09-12 07:06:24.899] [LOG] Loading module helpers …
[2025-09-12 07:06:25.265] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.269] [LOG] Module helper loaded: MMM-Remote-Control
[2025-09-12 07:06:25.273] [LOG] No helper found for module: alert.
[2025-09-12 07:06:25.286] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.290] [LOG] Module helper loaded: MMM-Saint
[2025-09-12 07:06:25.299] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.301] [LOG] Module helper loaded: MMM-BME280
[2025-09-12 07:06:25.303] [LOG] No helper found for module: MMM-FlipClock.
[2025-09-12 07:06:25.467] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.469] [LOG] Module helper loaded: MMM-network-signal
[2025-09-12 07:06:26.004] [LOG] Initializing new module helper …
[2025-09-12 07:06:26.005] [LOG] Module helper loaded: calendar
[2025-09-12 07:06:27.471] [LOG] Initializing new module helper …
[2025-09-12 07:06:27.474] [LOG] Module helper loaded: MMM-Jast
[2025-09-12 07:06:28.921] [LOG] Initializing new module helper …
[2025-09-12 07:06:28.923] [LOG] Module helper loaded: MMM-GooglePhotos
[2025-09-12 07:06:28.926] [LOG] No helper found for module: MMM-WiFiPassword.
[2025-09-12 07:06:28.929] [LOG] No helper found for module: MMM-OpenmapWeather.
[2025-09-12 07:06:28.931] [LOG] No helper found for module: MMM-WeatherOrNot.
[2025-09-12 07:06:28.933] [WARN] No /home/pi/MagicMirror/js/…/modules/MMM-Linky/MMM-Linky.js found for module: MMM-Linky.
[2025-09-12 07:06:28.935] [LOG] No helper found for module: MMM-Linky.
[2025-09-12 07:06:29.442] [LOG] Initializing new module helper …
[2025-09-12 07:06:29.444] [LOG] Module helper loaded: newsfeed
[2025-09-12 07:06:29.446] [LOG] All module helpers loaded.
[2025-09-12 07:06:29.475] [LOG] Starting server on port 8080 …
[2025-09-12 07:06:29.494] [WARN] You’re using a full whitelist configuration to allow for all IPs
[2025-09-12 07:06:31.407] [ERROR] Whoops! There was an uncaught exception…
[2025-09-12 07:06:31.452] [ERROR] Error: listen EADDRINUSE: address already in use 0.0.0.0:8080
at Server.setupListenHandle [as _listen2] (node:net:1872:16)
at listenInCluster (node:net:1920:12)
at doListen (node:net:2069:7)
at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: ‘EADDRINUSE’,
errno: -98,
syscall: ‘listen’,
address: ‘0.0.0.0’,
port: 8080
}
[2025-09-12 07:06:31.459] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[2025-09-12 07:06:31.461] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues
[2025-09-12 07:06:44.850] [INFO] System information:SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 6.12.45-v7+
VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined
pi@raspberrypi:~/MagicMirror $ pm2 stop MagicMirror
[PM2] Applying action stopProcessId on app [MagicMirror](ids: [ 1 ])
[PM2] MagicMirror ✓
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 1 │ MagicMirror │ fork │ 0 │ stopped │ 0% │ 0b │
│ 0 │ mm │ fork │ 0 │ online │ 0% │ 2.4mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
pi@raspberrypi:~/MagicMirror $ npm startmagicmirror@2.27.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[2025-09-12 07:06:24.742] [LOG] Starting MagicMirror: v2.27.0
[2025-09-12 07:06:24.863] [LOG] Loading config …
[2025-09-12 07:06:24.888] [LOG] config template file not exists, no envsubst
[2025-09-12 07:06:24.899] [LOG] Loading module helpers …
[2025-09-12 07:06:25.265] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.269] [LOG] Module helper loaded: MMM-Remote-Control
[2025-09-12 07:06:25.273] [LOG] No helper found for module: alert.
[2025-09-12 07:06:25.286] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.290] [LOG] Module helper loaded: MMM-Saint
[2025-09-12 07:06:25.299] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.301] [LOG] Module helper loaded: MMM-BME280
[2025-09-12 07:06:25.303] [LOG] No helper found for module: MMM-FlipClock.
[2025-09-12 07:06:25.467] [LOG] Initializing new module helper …
[2025-09-12 07:06:25.469] [LOG] Module helper loaded: MMM-network-signal
[2025-09-12 07:06:26.004] [LOG] Initializing new module helper …
[2025-09-12 07:06:26.005] [LOG] Module helper loaded: calendar
[2025-09-12 07:06:27.471] [LOG] Initializing new module helper …
[2025-09-12 07:06:27.474] [LOG] Module helper loaded: MMM-Jast
[2025-09-12 07:06:28.921] [LOG] Initializing new module helper …
[2025-09-12 07:06:28.923] [LOG] Module helper loaded: MMM-GooglePhotos
[2025-09-12 07:06:28.926] [LOG] No helper found for module: MMM-WiFiPassword.
[2025-09-12 07:06:28.929] [LOG] No helper found for module: MMM-OpenmapWeather.
[2025-09-12 07:06:28.931] [LOG] No helper found for module: MMM-WeatherOrNot.
[2025-09-12 07:06:28.933] [WARN] No /home/pi/MagicMirror/js/…/modules/MMM-Linky/MMM-Linky.js found for module: MMM-Linky.
[2025-09-12 07:06:28.935] [LOG] No helper found for module: MMM-Linky.
[2025-09-12 07:06:29.442] [LOG] Initializing new module helper …
[2025-09-12 07:06:29.444] [LOG] Module helper loaded: newsfeed
[2025-09-12 07:06:29.446] [LOG] All module helpers loaded.
[2025-09-12 07:06:29.475] [LOG] Starting server on port 8080 …
[2025-09-12 07:06:29.494] [WARN] You’re using a full whitelist configuration to allow for all IPs
[2025-09-12 07:06:31.407] [ERROR] Whoops! There was an uncaught exception…
[2025-09-12 07:06:31.452] [ERROR] Error: listen EADDRINUSE: address already in use 0.0.0.0:8080
at Server.setupListenHandle [as _listen2] (node:net:1872:16)
at listenInCluster (node:net:1920:12)
at doListen (node:net:2069:7)
at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
code: ‘EADDRINUSE’,
errno: -98,
syscall: ‘listen’,
address: ‘0.0.0.0’,
port: 8080
}
[2025-09-12 07:06:31.459] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[2025-09-12 07:06:31.461] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues
[2025-09-12 07:06:44.850] [INFO] System information:SYSTEM: manufacturer: Raspberry Pi Foundation; model: Raspberry Pi 3 Model B Plus Rev 1.3; raspberry: [object Object]; virtual: false
OS: platform: linux; distro: Raspbian GNU/Linux; release: 10; arch: arm; kernel: 6.12.45-v7+
VERSIONS: electron: 29.1.6; used node: 20.9.0; installed node: 18.18.0; npm: 9.8.1; pm2: 5.3.1
OTHER: timeZone: Europe/Paris; ELECTRON_ENABLE_GPU: undefined
-
Did you stop it manually ctrl-q
Yesterday after we finished testing?pm2 status
Is anything listed as running?
If not then do thisps -ef| grep MagicMirror
You should only get one line of output
-
pi@raspberrypi:~ $ cd ~/MagicMirror
pi@raspberrypi:~/MagicMirror $ pm2 status┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤ │ 1 │ MagicMirror │ fork │ 0 │ online │ 0% │ 2.5mb │ │ 0 │ mm │ fork │ 0 │ online │ 0% │ 2.3mb │ └────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
so you have two instances
pi@raspberrypi:~/MagicMirror $ ps -ef|grep MagicMirror pi 1037 818 0 14:29 ? 00:00:00 bash /home/pi/MagicMirror/installers/mm.sh pi 1096 1075 26 14:29 ? 00:00:56 /home/pi/MagicMirror/node_modules/electron/dist/electron js/electron.js pi 1097 1077 24 14:29 ? 00:00:52 /home/pi/MagicMirror/node_modules/electron/dist/electron js/electron.js pi 1102 1097 0 14:29 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=zygote --no-zygote-sandbox pi 1103 1096 0 14:29 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=zygote --no-zygote-sandbox pi 1104 1096 0 14:29 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=zygote pi 1106 1097 0 14:29 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=zygote pi 1109 1104 0 14:29 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=zygote pi 1110 1106 0 14:29 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=zygote pi 1407 1103 1 14:31 ? 00:00:01 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=gpu-process --enable-crash-reporter=d92a2a3b-ea77-4f26-9bb3-aaab877f322e,no_channel --user-data-dir=/home/pi/.config/Electron --gpu-preferences=WAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAGAAAAAAAAAAYAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --use-gl=angle --use-angle=swiftshader-webgl --shared-files --field-trial-handle=0,i,17126282988831355409,13634691343321116781,262144 --enable-features=kWebSQLAccess --disable-features=SpareRendererForSitePerProcess --variations-seed-version pi 1408 1102 0 14:31 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=gpu-process --enable-crash-reporter=d92a2a3b-ea77-4f26-9bb3-aaab877f322e,no_channel --user-data-dir=/home/pi/.config/Electron --gpu-preferences=WAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAGAAAAAAAAAAYAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --use-gl=angle --use-angle=swiftshader-webgl --shared-files --field-trial-handle=0,i,4975378740503322807,8852675362163135929,262144 --enable-features=kWebSQLAccess --disable-features=SpareRendererForSitePerProcess --variations-seed-version pi 1478 1097 0 14:31 ? 00:00:00 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=utility --utility-sub-type=network.mojom.NetworkService --lang=fr --service-sandbox-type=none --enable-crash-reporter=d92a2a3b-ea77-4f26-9bb3-aaab877f322e,no_channel --user-data-dir=/home/pi/.config/Electron --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,4975378740503322807,8852675362163135929,262144 --enable-features=kWebSQLAccess --disable-features=SpareRendererForSitePerProcess --variations-seed-version pi 1498 1096 1 14:31 ? 00:00:01 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=utility --utility-sub-type=network.mojom.NetworkService --lang=fr --service-sandbox-type=none --enable-crash-reporter=d92a2a3b-ea77-4f26-9bb3-aaab877f322e,no_channel --user-data-dir=/home/pi/.config/Electron --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,17126282988831355409,13634691343321116781,262144 --enable-features=kWebSQLAccess --disable-features=SpareRendererForSitePerProcess --variations-seed-version pi 1517 1109 4 14:31 ? 00:00:04 /home/pi/MagicMirror/node_modules/electron/dist/electron --type=renderer --enable-crash-reporter=d92a2a3b-ea77-4f26-9bb3-aaab877f322e,no_channel --user-data-dir=/home/pi/.config/Electron --app-path=/home/pi/MagicMirror/js --enable-sandbox --autoplay-policy=no-user-gesture-required --disable-gpu-compositing --lang=fr --num-raster-threads=2 --enable-main-frame-before-activation --renderer-client-id=4 --time-ticks-at-unix-epoch=-1757680110193681 --launch-time-ticks=192347868 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,17126282988831355409,13634691343321116781,262144 --enable-features=kWebSQLAccess --disable-features=SpareRendererForSitePerProcess --variations-seed-version pi 1662 1367 0 14:33 pts/1 00:00:00 grep --color=auto MagicMirror pi@raspberrypi:~/MagicMirror $
-
Hello, I stopped it with smartphone remote control.