Veldrovive / MMM-Page-Selector

An easy way to set up and move between pages on a MagicMirror²
MIT License
35 stars 6 forks source link

Blank screen after update #26

Closed rudibarani closed 4 years ago

rudibarani commented 4 years ago

Dear Veldrovive,

I used the Corona-break for some maintenance of my MagicMirror and ran into an error leading to an empty screen most of the time. Sometimes, it seems to work for a while - no idea why...

I could nail it down to an update you made on January 2nd. The version prior to that runs fine - the versions after that create the error.

Would you mind checking if something had slipped through? If you need someone for testing changes, please let me know!

Best, Phillip

Veldrovive commented 4 years ago

Hmm, It's interesting that the error was introduced on Jan 2. That commit was pretty basic.

I'm not sure what could be causing it. Is the error on the console running the mirror or on the web front end? If you could post the exact error, it would be very helpful.

It would also be useful to have your config file. That way I could see if the problem was introduced when the config.js syntax was changed.

rudibarani commented 4 years ago

Thanks for the quick reply. I had some time today to dig deeper and maybe found something...

The error is a little strange. I do get a completely black mirror most times I try to start it. After several restarts (via pm2), sometimes the mirror does start with a regular screen (but not the page that was selected last) - but it will turn black later.

There is no error message in the terminal (Log MM with current MMM-Page-Selector.txt).

The web-inspector does show the following error message:

Bildschirmfoto 2020-03-30 um 02 06 23

If I exchange the MMM-Page-Selector.js file against the version prior to Jan 2, everything works fine.

Please let me know if this is of any help. If you still need my config.js to replicate this, please let me know.

Veldrovive commented 4 years ago

Ah, I think I understand the issue. I'm not certain since I don't know why the Jan 2 update would have broken anything, but the problem might be with how the config works. When the user doesn't provide a position prop, the module overwrites the config and then restarts the app which pm2 may be detecting as a crash. I would suggest putting a random position prop for each module. The module won't force a restart and pm2 shouldn't detect a crash.

rudibarani commented 4 years ago

I have double checked my config.js and each module (including disabled ones) has a position prop. This does not seem to be the cause.

Next, I have removed all modules but MMM-Page-Selector, MMM-Remote-Control and clock and tried that - it works fine!

So it has to be one of the modules that is incompatible with MMM-Page-Selector as of Jan 2. Trying them out one-by-one I figured out that MMM-WatchDog needs to be blamed. If I disable it, MagicMirror works fine - if I enable it, MagicMirror shows an empty page or initiates a restart cycle.

I have found that there already is an unsolved "issue" here on GitHub regarding MMM-Watchdog. Maybe the information that the version prior to Jan 2 is compatible (in my case) opens up a way forward to solve this compatibility issue.

Thanks for taking the time to support your module and discuss the issue with me here on GitHub.

Veldrovive commented 4 years ago

Ok, in that case, I would need your config.js to debug further. It seems that there might be an issue where one module in the page reference array doesn't have an identifier assigned to it.

rudibarani commented 4 years ago

You can download my config.js file (excluding the API-Keys) here: https://www.dropbox.com/s/w4cwxf7d60e0s04/MM%20config_js%20rudibarani.txt?dl=0

Please let me know, if I can provide additional data. Thanks for taking the time to have a closer look!

rudibarani commented 4 years ago

Comparing the "old" version with the current version, there is one spot where identifiers are used. Maybe the problem originates here:

image
Veldrovive commented 4 years ago

Sorry, I've halted development for a while because I took on some real jobs and didn't have much free time. I have some time to spare now so I'm supporting some of my older work.

If you are still using the module and have an issue with it, feel free to continue asking about it. If not, I will close this issue.

Veldrovive commented 4 years ago

Closing due to inactivity.