Read the statement by Michael Teeuw here.
MMM-ModuleToggleButton suddenly broken?
-
Hello everyone.
I had installed the above module and had no problems with it. I then had to reset the Raspi because of another problem (who knows, maybe the problems are linked, the file system was suddenly broken and behaved strangely).
Anyway, I reinstalled all my modules, but the ModuleToggle doesn’t work anymore. The MM doesn’t even boot when the module is set to active.When installing dependencies I get the following message:
philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ sudo npm install npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: MMM-ModuleToggleButton@1.0.0 npm ERR! Found: stylelint@15.11.0 npm ERR! node_modules/stylelint npm ERR! peer stylelint@"15.x" from grunt-stylelint@0.19.0 npm ERR! node_modules/grunt-stylelint npm ERR! dev grunt-stylelint@"latest" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! dev stylelint-config-standard@"latest" from the root project npm ERR! npm ERR! Conflicting peer dependency: stylelint@16.2.1 npm ERR! node_modules/stylelint npm ERR! peer stylelint@"^16.1.0" from stylelint-config-standard@36.0.0 npm ERR! node_modules/stylelint-config-standard npm ERR! dev stylelint-config-standard@"latest" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! npm ERR! For a full report see: npm ERR! /root/.npm/_logs/2024-02-13T20_26_05_190Z-eresolve-report.txt npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-02-13T20_26_05_190Z-debug-0.log philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $The pm2 log gives the following message when trying to start MM:
/home/philie/.pm2/logs/MagicMirror-out.log last 15 lines: 0|MagicMir | [13.02.2024 22:40.42.417] [LOG] Loading module helpers ... 0|MagicMir | [13.02.2024 22:40.42.421] [LOG] No helper found for module: alert. 0|MagicMir | [13.02.2024 22:40.42.446] [LOG] Initializing new module helper ... 0|MagicMir | [13.02.2024 22:40.42.448] [LOG] Module helper loaded: updatenotification 0|MagicMir | [13.02.2024 22:40.42.450] [LOG] No helper found for module: clock. 0|MagicMir | [13.02.2024 22:40.42.920] [LOG] Initializing new module helper ... 0|MagicMir | [13.02.2024 22:40.42.922] [LOG] Module helper loaded: calendar 0|MagicMir | 0|MagicMir | > magicmirror@2.26.0 start 0|MagicMir | > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js 0|MagicMir | 0|MagicMir | [13.02.2024 22:44.30.792] [LOG] Starting MagicMirror: v2.26.0 0|MagicMir | [13.02.2024 22:44.30.817] [LOG] Loading config ... 0|MagicMir | [13.02.2024 22:44.30.824] [DEBUG] config template file not exists, no envsubst 0|MagicMir | [13.02.2024 22:44.30.832] [LOG] Loading module helpers ... /home/philie/.pm2/logs/MagicMirror-error.log last 15 lines: 0|MagicMir | at Module._compile (node:internal/modules/cjs/loader:1271:14) 0|MagicMir | at Object..js (node:internal/modules/cjs/loader:1326:10) 0|MagicMir | at Module.load (node:internal/modules/cjs/loader:1126:32) 0|MagicMir | at node:internal/modules/cjs/loader:967:12 0|MagicMir | at Function._load (node:electron/js2c/node_init:2:13357) 0|MagicMir | (Use `electron --trace-warnings ...` to show where the warning was created) 0|MagicMir | [13.02.2024 22:44.30.892] [ERROR] (node:4146) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) 0|MagicMir | Warning: vkCreateInstance: Found no drivers! 0|MagicMir | Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER 0|MagicMir | at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88) 0|MagicMir | at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458) 0|MagicMir | at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344) 0|MagicMir | at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266) 0|MagicMir | at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521) 0|MagicMir |I have already installed ‘onoff’ manually. That didn’t help either. Does anyone know how to interpret the error message?
Many thanks in advance
-
@philie ok, two things…
1 lets fix the epoll problem.
it seems that was installed accidentally in the wrong place as its outside the MagicMirror folder/home/philie/node_modules/epolldo
cd ~ rm -rf node_modules/epoll2 use my fork of the MMM-ModuleToggleButton module which fixes the install
https://github.com/sdetweil/MMM-ModuleToggleButtonremove the old module folder, clone my fork and npm install it
cd ~/MagicMirror/modules rm -rf MMM-ModuleToggleButton git clone https://github.com/sdetweil/MMM-ModuleToggleButton cd MMM-ModuleToggleButton npm installlet me know
-
@philie pm2 collects the data in separate files normal and error. it’s hard to tell
do this
pm2 stop all cd ~/MagicMirror npm start >somfile.txt 2>&1wait 20 seconds
ctrl-q
then edit somefile.txtafter we go it then
pm2 status
pm2 start xx
xx is the number or name of the managed app -
@sdetweil
Hey Sam,
thank you for your help.Here is the demanded output:
philie@magicmirror:~/MagicMirror $ npm start > debugger_log.txt 2>&1 philie@magicmirror:~/MagicMirror $ cat debugger_log.txt > magicmirror@2.26.0 start > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [14.02.2024 21:14.35.291] [LOG] Starting MagicMirror: v2.26.0 [14.02.2024 21:14.35.303] [LOG] Loading config ... [14.02.2024 21:14.35.315] [DEBUG] config template file not exists, no envsubst [14.02.2024 21:14.35.322] [LOG] Loading module helpers ... [14.02.2024 21:14.35.380] [ERROR] (node:20831) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/node_modules/epoll/build/Release/epoll.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 115. This version of Node.js requires NODE_MODULE_VERSION 118. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). at process.func [as dlopen] (node:electron/js2c/node_init:2:2107) at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/node_init:2:2107) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) at bindings (/home/philie/node_modules/bindings/bindings.js:112:48) at /home/philie/node_modules/epoll/epoll.js:7:31 at Object.<anonymous> (/home/philie/node_modules/epoll/epoll.js:15:3) at Module._compile (node:internal/modules/cjs/loader:1271:14) at Object..js (node:internal/modules/cjs/loader:1326:10) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) (Use `electron --trace-warnings ...` to show where the warning was created) [14.02.2024 21:14.35.382] [ERROR] (node:20831) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) /home/philie/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINTSo this tells me diretly that the version uf node.js is not sufficent.
if I try to upgrade it using npm rebuild it looks like the following:
philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ sudo npm rebuild npm ERR! code 127 npm ERR! path /home/philie/MagicMirror/modules/MMM-ModuleToggleButton npm ERR! command failed npm ERR! command sh -c node_modules/.bin/electron-rebuild -e ../../node_modules/electron npm ERR! sh: 1: node_modules/.bin/electron-rebuild: not found npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-02-14T20_16_30_701Z-debug-0.logHow can I upgrade from 115 to 118?
-
@philie yep, the tools aren’t installed
and it needs more changesI won’t be able to get to it til later tonight
but if you look at my fork for MMM-Buttons
https://github.com/sdetweil/MMM-ButtonsI added a postinstall action in package json and added the postinstall script
you can run the postinstall without npm
./postinstall -
@sdetweil
Hey Sam
Thank you very much.
To keep it simple, I installed your MMM-Buttons. The postinstall Script did run and I got positive Feedback regarding rebuilding Electron.When i start MM after, I get still the same Error as before…
philie@magicmirror:~/MagicMirror $ cat somfile.txt > magicmirror@2.26.0 start > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [15.02.2024 11:40.59.323] [LOG] Starting MagicMirror: v2.26.0 [15.02.2024 11:40.59.334] [LOG] Loading config ... [15.02.2024 11:40.59.345] [DEBUG] config template file not exists, no envsubst [15.02.2024 11:40.59.353] [LOG] Loading module helpers ... [15.02.2024 11:40.59.410] [ERROR] (node:1536) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/node_modules/epoll/build/Release/epoll.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 115. This version of Node.js requires NODE_MODULE_VERSION 118. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). at process.func [as dlopen] (node:electron/js2c/node_init:2:2107) at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/node_init:2:2107) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) at bindings (/home/philie/node_modules/bindings/bindings.js:112:48) at /home/philie/node_modules/epoll/epoll.js:7:31 at Object.<anonymous> (/home/philie/node_modules/epoll/epoll.js:15:3) at Module._compile (node:internal/modules/cjs/loader:1271:14) at Object..js (node:internal/modules/cjs/loader:1326:10) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) (Use `electron --trace-warnings ...` to show where the warning was created) [15.02.2024 11:40.59.412] [ERROR] (node:1536) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) /home/philie/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT -
@philie ok, two things…
1 lets fix the epoll problem.
it seems that was installed accidentally in the wrong place as its outside the MagicMirror folder/home/philie/node_modules/epolldo
cd ~ rm -rf node_modules/epoll2 use my fork of the MMM-ModuleToggleButton module which fixes the install
https://github.com/sdetweil/MMM-ModuleToggleButtonremove the old module folder, clone my fork and npm install it
cd ~/MagicMirror/modules rm -rf MMM-ModuleToggleButton git clone https://github.com/sdetweil/MMM-ModuleToggleButton cd MMM-ModuleToggleButton npm installlet me know
-
@sdetweil
Great! Module ist now installed fine and the test-confg (just the toggle module and another one to toggle activated) is working!Very much appreciated what you are doing for this community! Thank you!
-
@philie awesome!!!
-
@sdetweil said in MMM-ModuleToggleButton suddenly broken?:
cd MMM-ModuleToggleButton
Hey there, it’s me again with the same problem…
I did the MM Update to 2.28.0 by Script. Like usually some things are broken after and I did npm install and npm rebuild in the MM rootdirectory. It installed some stuff and looked good so far.
But the module MMM-ModuleToggleButton stays broken like after every update.
It has again something to do with electron, I tried to reinstall electron, but have no success…The output:
philie@magicmirror:~/MagicMirror/modules $ git clone https://github.com/sdetweil/MMM-ModuleToggleButton Cloning into 'MMM-ModuleToggleButton'... remote: Enumerating objects: 44, done. remote: Counting objects: 100% (4/4), done. remote: Compressing objects: 100% (4/4), done. remote: Total 44 (delta 0), reused 2 (delta 0), pack-reused 40 Receiving objects: 100% (44/44), 10.44 KiB | 1.30 MiB/s, done. Resolving deltas: 100% (17/17), done. philie@magicmirror:~/MagicMirror/modules $ cd MMM-ModuleToggleButton philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ npm install > MMM-ModuleToggleButton@1.0.0 postinstall > ./postinstall /home/philie/MagicMirror/modules/MMM-ModuleToggleButton ./postinstall: line 8: ../../node_modules/.bin/electron-rebuild: No such file or directory npm error code 127 npm error path /home/philie/MagicMirror/modules/MMM-ModuleToggleButton npm error command failed npm error command sh -c ./postinstall npm error A complete log of this run can be found in: /home/philie/.npm/_logs/2024-07-14T11_29_32_616Z-debug-0.log philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $so, electron-rebuild in node_modules seems to be missing…
Indeed:
philie@magicmirror:~/MagicMirror/node_modules $ cd electron philie@magicmirror:~/MagicMirror/node_modules/electron $ ll total 1068 drwxr-xr-x 4 root root 4096 Jul 14 13:20 . drwxr-xr-x 679 philie philie 28672 Jul 14 13:10 .. -rw-r--r-- 1 root root 8126 Jul 14 12:46 checksums.json -rwxr-xr-x 1 root root 612 Jul 14 12:46 cli.js drwxr-xr-x 4 root root 4096 Jul 14 12:48 dist -rw-r--r-- 1 root root 972754 Jul 14 12:46 electron.d.ts -rw-r--r-- 1 root root 659 Jul 14 12:46 index.js -rw-r--r-- 1 root root 3178 Jul 14 12:46 install.js -rw-r--r-- 1 root root 1096 Jul 14 12:46 LICENSE drwxr-xr-x 70 root root 4096 Jul 14 13:20 node_modules -rw-r--r-- 1 root root 586 Jul 14 12:46 package.json -rw-r--r-- 1 root root 31409 Jul 14 13:20 package-lock.json -rw-r--r-- 1 root root 8 Jul 14 12:48 path.txt -rw-r--r-- 1 root root 5370 Jul 14 12:46 README.mdI did already the steps from last time (therefore I answer in this old topic) but no luck this time.
What can I do?Thank you,
philie -
@philie can you dump out the postinstall
file in the module folder…
it seems to be missing a step -
@philie I see the postinstall script needed an update
do a
git pull
in the module folder
then
npm install again -
@sdetweil
Thank you Sam!
the edited script did not work for me but the commands worked. so I executed them manually:philie@magicmirror:~/MagicMirror $ sudo npm install @electron/rebuild added 88 packages, and removed 74 packages in 25s 220 packages are looking for funding run `npm fund` for details philie@magicmirror:~/MagicMirror $ node_modules/.bin/electron-rebuild ✔ Rebuild Complete philie@magicmirror:~/MagicMirror $unfortunately the next issue is already on the dorstep:
message:14:59:24.366] [31m[ERROR][39m [31m(node:2306) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/MagicMirror/modules/MMM-ModuleToggleButton/node_modules/epoll/build/Release/epoll.node'[39m,So it looks like the thing about epoll is not yet solved…
-
@philie never use sudo…
the electron-rebuild command has to be done from inside the module folder(togglebuttons), not the MagicMirror folder
-
@sdetweil
Thank you very much! This did the trick. concerning sudo… it’s sometimes confusing because often I get the message, I do not have enough rights for some commands… -
@philie in general for MM there is NEVER a need for sudo… it will cause problems and LATER you will need to user sudo AGAIN…
the SYSTEM commands may need to use sudo…
apt update, upgrade, editing files in the /etc folder
because THOSE are owned by the system and should NOT be editable by a user
(they are protected on purpose)the fact that the postinstall script failed is probably because you did sudo before and now the npm files are owned by root instead of user… (see line 1 above)
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login