Read the statement by Michael Teeuw here.
MMM-Scenes2
-
@MMRIZE
Thanks anyway.Would you say it’s the Pi version? Software/hardware version? Could this be fixed with a Chromium update in the future?
-
Very strange. I have created a third scene. Now it is already running for several hours.
-
I have the same problem, after about 1 hour there is no change of modules.
I also want a constant change of MMM-iframeReload and MMM-iframeReload2 moduleMagicMirror Version 2.27, Rapsberry PI 4 – 4 GB
My Config:/* MagicMirror² Config Sample * * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. * * For more information on how you can configure this file * see https://docs.magicmirror.builders/configuration/introduction.html * and https://docs.magicmirror.builders/modules/configuration.html * * You can use environment variables using a `config.js.template` file instead of `config.js` * which will be converted to `config.js` while starting. For more information * see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables */ let config = { address: "0.0.0.0", // Address to listen on, can be: // - "localhost", "127.0.0.1", "::1" to listen on loopback interface // - another specific IPv4/6 to listen on a specific interface // - "0.0.0.0", "::" to listen on any interface // Default, when address config is left out or empty, is "localhost" port: 8080, basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy // you must set the sub path here. basePath must end with a / ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "192.168.178.249", "192.168.178.49"], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], useHttps: false, // Support HTTPS or not, default "false" will use HTTP httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true language: "de", locale: "de-DE", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 24, units: "metric", electronOptions: { webPreferences: { webviewTag: true, }, }, modules: [ { module: "alert", }, /*{ module: "clock", position: "top_left" },*/ { // https://github.com/TheBogueRat/MMM-iFrameReload module: 'MMM-iFrameReload', position: 'top_left', // This can be any of the regions. classes: "SEITE_ZWEI", //header: 'Rezept des Tages', config: { // See 'Configuration options' for more information. url: http://test/Anzeigetafeln/Anzeige1.html, width: "1900px", // Optional. Default: 100% height: "1080px", //Optional. Default: 100px refreshInterval: 100 } }, { // https://github.com/TheBogueRat/MMM-iFrameReload module: 'MMM-iFrameReload2', position: 'top_left', // This can be any of the regions. classes: "Welcome SEITE_EINS", //header: 'Rezept des Tages', config: { // See 'Configuration options' for more information. url: http://test/Anzeigetafeln/Logo.html, width: "1900px", // Optional. Default: 100% height: "1080px", //Optional. Default: 100px refreshInterval: 3600 } }, { // https://github.com/MMRIZE/MMM-Scenes2 module: "MMM-Scenes2", position: "bottom_bar", config: { life: 1000 * 10, activeIndicator: ' ', inactiveIndicator: ' ', scenario: [ { // First scene definition exit: ["SEITE_ZWEI"], enter: ["SEITE_EINS"], life: 1000 * 10, }, { // Second scene definition exit: ["SEITE_EINS"], enter: ["SEITE_ZWEI"], life: 1000 * 45, }, ], } }, { // https://github.com/Jopyth/MMM-Remote-Control module: 'MMM-Remote-Control', // uncomment the following line to show the URL of the remote control on the mirror // position: 'bottom_left', // you can hide this module afterwards from the remote control itself config: { customCommand: { //monitorStatusCommand: 'rm -rf .config/Electron', monitorStatusCommand: '~pi/restartBrowsercache.sh' }, // Optional, See "Using Custom Commands" below showModuleApiMenu: false, // Optional, Enable the Module Controls menu secureEndpoints: true, // Optional, See API/README.md // uncomment any of the lines below if you're gonna use it customMenu: "custom_menu.json", // Optional, See "Custom Menu Items" below // apiKey: "", // Optional, See API/README.md for details // classes: {} // Optional, See "Custom Classes" below } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") { module.exports = config; }
I insert the line in my mm.sh:
export ELECTRON_DISABLE_GPU=1
pm2 Log:
[1965:0521/220109.925300:ERROR:gbm_wrapper.cc(76)] Failed to get fd for plane.: Datei oder Verzeichnis nicht gefunden (2)
[1965:0521/220109.925398:ERROR:gbm_wrapper.cc(259)] Failed to export buffer to dma_buf: Datei oder Verzeichnis nicht gefunden (2)uname -a
Linux raspberryanzeige1 6.1.0-rpi8-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 GNU/Linuxfile /bin/bash
/bin/bash: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=198ac6b0cc01bf774c5746a36a6fd31dead9bda5, for GNU/Linux 3.7.0, strippedDoes anyone have any idea what I can do? Thanks
-
@Babene1
I researched about that error message.
The error messages seemed not to be the module or logic issue but the GPU/System issue. (Usually in -nix machines about graphic drivers.)However, I’m not sure the error message is related to your symptom actually. There is a chance these two things could be independent.
What I suggest for the test is;
- use simpler animation effects or no animation.
- give a longer life for the scene.
- Remove all other 3rd party modules, except default modules (clock, …)
If it helps, we can progress from it anyhow.
But if not; I think I rarely have things to do. -
Thank you for your answer, I agree with you, I also think that the error message has nothing to do with the problem.
Error message is written to the log after the start and the freezing of the module happens after about 1 hour.I used the default animation, unfortunately I don’t know how to remove the animation completely.
Have also removed the MMM remote control module.
So there are only three modules left, MMM-Scenes2, MMM-iFrameReload and MMM-iFrameReload2I switched off WLan-power Save and deactivated IPV6.
No improvement, no improvement.
Next tests will be longer times and I will use a different browser.
Other test scenarios ?
-
@Babene1
To disable animation, you can setanimation: null
indefaultEnter
definition or each scene role definition./* example for default behaviour */ defaultEnter: { animation: null, duration: 1000, gap: 0, }, /* example for each scene definition */ scenario: [ { name: "scene1", enter: { role: "role1", animation: null, ...
I’m suspecting Chrome’s memory leaks. These factors may cause memory leaks.
- improper handling timer
- CSS transition/Animation
I’ll modify some code to confirm to clear out garbage timer. Wait a little.
By the way, can you test the default clock module instead of MMM-iFrame Things? (To make things clearer)
-
@Babene1
It’s been updated, but I’m not expecting much. Because timers are rarely used in my code(only two), I don’t think that was the cause of the problem. Anyway, I fixed it so that when the timer is used, it is turned off as soon as possible. -
I have switched to MMM-Carousel and experimented with it. It ran for a few days without any problems. Then I installed more modules and customised my configuration. And now the problem is occurring again. The last scene hangs at some point, so I was afraid it might be this one: MMM-BackgroundSlideshow. However, you are not using this, so it is unlikely to be due to this.
My next steps:
- disable MMM-BackgroundSlideshow.
- completely reinstall everything and only install the modules I want to have at the end and then not change anything else. Let’s see if I will be successful.
-
@ric
Chrome(Chromium) is notorious for memory leaks. On Transition/Animation, this kind of error is often reported in some environments (+ some GPU driver issues). Sometimes, a newer version looks like it solves this issue, but the issue returns in subsequent versions again.
If you have more memory, this symptom seems relieving, but not absolutely. -
Result of my test:
-
ListenpunktUsing “external_broqwser=firefox” no improvement, after about 1 hour no changes from the modul.
-
ListenpunktWith “animation: null”, no improvement, after about 1 hour no changes from the modul.
-
ListenpunktWith default clock and calendar, no problem (test run about 2,5 hours)
Next test, with just an iframe module and the MMM-Simple Logo module. This module combination could be a solution for me
-