Read the statement by Michael Teeuw here.
Crashing to black screen on release 2.30
-
I had a lot of trouble with the 2.30 release on my Raspberry Pi 5 4GB, updated Rasbian/Debian Bookworm. Previous release was fine but this one is not. MagicMirror would run for a couple minutes, maybe even 10-20 minutes, but then the screen would go blank.
Some testing showed that this was the actual MM program going blank. Other OS UI elements could be coaxed into appearing–the shutdown dialog for example, or the cursor moving across the screen.
pm2 restart MagicMirror
would get it running again for a few minutes.This was in the logs every time:
0|mm | [11537:0119/203419.095425:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2) 0|mm | [11537:0119/203419.095479:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2) 0|mm | [11537:0119/203419.095511:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2) 0|mm | [11537:0119/203419.095577:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2) 0|mm | [11537:0119/203419.095615:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2) 0|mm | [11537:0119/203419.097046:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2) 0|mm | [11537:0119/203419.097090:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2) 0|mm | [11537:0119/203419.097145:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2)
There are some relevant search results for this, but no fixes. It is generally claimed to be a memory leak in Electron. Plausible given how it takes a little while to happen. Also MM 2.30 seems to have bumped Electron to 32.2.8 vs 31.6.0 that my 2.29 install is showing. I tried editing
package.json
to use^33.0.0
which installed some newer minor version update of 33…don’t have that handy. Also tried^34.0.0
which simply used 34.0.0 as there must not be anything newer available there yet. The same issue persisted.I tried using sdetweil’s install script in case it did some extra step that I was missing in my manual install but that didn’t fix it.
I reverted to 2.29 using
git checkout 94c3c69
.I don’t necessarily desire to spend a significant amount of time going back and forth trying to figure this out. Maybe sometime in the future. So anyways, I’m not seeking a solution today, but did want to at least document all of this in case someone runs into the same problem.
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.1.0/24"], // 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: "en", locale: "en-US", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 12, units: "imperial", modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_left" }, { module: "MMM-MonthlyCalendar", position: "top_bar", config: { mode: "twoWeeks", firstDayOfWeek: "today", wrapTitles: true, displaySymbol: false } }, { module: "calendar", header: "US Holidays", position: "top_left", hiddenOnStartup: true, config: { calendars: [ { fetchInterval: 7 * 24 * 60 * 60 * 1000, symbol: "calendar-check", url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics" }, { fetchInterval: 10 * 60 * 1000, url: "https://example.com/remote.php/dav/calendars/aaron/kid-activities/?export**and about 10 other calendars like this**", symbol: ["l", "b"], auth: { user: 'aaron', pass: 'xxxxxx', method: 'basic' } } ], maximumEntries: 10000, broadcastPastEvents: true, customEvents: [{ keyword: "Vikings", color: "Purple" }] } }, { module: "weather", position: "top_left", header: "Mandan, ND", config: { weatherProvider: "openweathermap", type: "current", lat: "46.8258", lon: "-100.88875", apiKey: "xxxxxxxxxx", apiVersion: "3.0", appendLocationNameToHeader: false, weatherEndpoint: "/onecall", showWindDirectionAsArrow: true, showHumidity: true, roundTemp: true } }, { module: "MMM-WiFiPassword", position: "top_left", config: { network: "xxxxxxx", password: "xxxxxx" } }, { module: "weather", position: "top_right", header: "Hollywood, FL", config: { weatherProvider: "openweathermap", type: "current", lat: "26.01109", lon: "-80.15264", apiKey: "xxxxxxxx", weatherEndpoint: "/onecall", updateInterval: "1800000", appendLocationNameToHeader: false, roundTemp: true } }, { module: "weather", position: "top_right", header: "Rosemount, MN", config: { weatherProvider: "openweathermap", type: "current", lat: "44.73922", lon: "-93.13447", apiKey: "xxxxxxxx", weatherEndpoint: "/onecall", updateInterval: "1800000", appendLocationNameToHeader: false, roundTemp: true } }, { module: "weather", position: "top_right", header: "West Boylston, MA", config: { weatherProvider: "openweathermap", type: "current", lat: "42.36489", lon: "-71.78766", apiKey: "xxxxxxx", weatherEndpoint: "/onecall", updateInterval: "1800000", appendLocationNameToHeader: false, roundTemp: true } }, { module: "weather", position: "top_center", header: "Weather Forecast", classes: "weather-forecast", config: { weatherProvider: "weathergov", type: "forecast", location: "Mandan", locationID: "5690366", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "xxxxxxx", apiBase: "https://api.weather.gov/points/", lat: 46.828889, lon: -100.887222, fadePoint: 1, maxNumberOfDays: 14, maxEntries: 14, colored: true, roundTemp: true } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "The Bismarck Tribune", url: "http://bismarcktribune.com/search/?f=rss&t=article&l=50&s=start_time&sd=desc&k%5B%5D=%23topstory" } ], showSourceTitle: true, showPublishDate: true, showDescription: true, wrapDescription: true, broadcastNewsFeeds: true, broadcastNewsUpdates: true, prohibitedWords: ['png', 'jpg'], reloadInterval: 30 * 60 * 1000, updateInterval: 30 * 1000 } }, { module: "MMM-ImagesPhotos", position: "bottom_bar", disabled: true, config: { opacity: 1, animationSpeed: 5 * 1000, updateInterval: 60 * 1000, maxHeight: "600px", maxWidth: "1000px", sequential: false // process the image list randomly } }, ] };
-
@aaronaxvig because you are using monthly calendar and calendar is using an array of symbols, 2.30 has bugs in both
with fixes in develop
can you try the develop branch
when did you try my script? i added installing the two fixes just a couple days ago