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/epoll
do
cd ~ rm -rf node_modules/epoll
2 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 install
let 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>&1
wait 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 SIGINT
So 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.log
How 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/epoll
do
cd ~ rm -rf node_modules/epoll
2 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 install
let 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.md
I 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