MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    "Out of memory" issues - where do I begin?

    Scheduled Pinned Locked Moved Solved Troubleshooting
    65 Posts 2 Posters 27.1k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      sdetweil @ember1205
      last edited by

      @ember1205 electron is a ‘single’ threaded app… but events happen that cause it to need to act like mutltiple threads.
      there are lots of edge cases where the timing is problematic…

      its not out of memory, its lost its way…

      i wrote a plugin/module to display pics matches with cal entries, floating above the mirror screen… (pong like moving boxes)
      electron does NOT like two windows being manipulated at the same time… took a long time to find that, always an out of memory error or hang… but not

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • E Offline
        ember1205
        last edited by

        Good info.

        I’m interested to see how for the MM will make it now using Chromium instead of Electron. Since I have two with the same setup, I’ll set both to use Chromium for an additional level of testing it out.

        Why was Electron chosen as the browser up to this point? And, what potential downsides are there to Chromium?

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @ember1205
          last edited by

          @ember1205 >Why was Electron chosen as the browser up to this point? And, what potential downsides are there to Chromium?

          i don’t know and i don’t know… was way before my time.

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • E Offline
            ember1205
            last edited by

            Welp…

            No change. System still crashes on the Pi using Chromium.

            In looking at the most recent core file, it’s still showing that electron is what’s faulting.

            There are no running processes of chromium and electron is still being started. Something is amiss with the configuration to where your run-start.sh script is either not being called or is not launching the correct browser for some reason.

            I’ve made no changes to run-start.sh, I’ve edited package.json so that this line is gone:

            "start": "DISPLAY=\"${DISPLAY:=:0}\" ./node_modules/.bin/electron js/electron.js",
            

            And has been replaced with this one:

            "start": "./run-start.sh",
            

            config/config.js has the following setting:

            var config = {
            	address: "0.0.0.0", 	// Address to listen on, can be:
            							// - "localhost", "127.0.0.1", "::1" to listen on loopback interfac
            e
            							// - 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", "192.168.192.0/24", "::1"], 	// 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",
            	logLevel: ["INFO", "LOG", "WARN", "ERROR"],
            	timeFormat: 24,
            	units: "metric",
            	// serverOnly:  true/false/"local" ,
            	serverOnly:"local",
            
            S 1 Reply Last reply Reply Quote 0
            • E Offline
              ember1205
              last edited by

              One tweak to the run-start.sh script seems to have fixed it. I changed this line:

              serveronly=$(grep -v '^[[:blank:]]*//'  config/config.js | grep -i serveronly: | awk '{print tolower($2)}' | tr -d ,\"\'\\r)
              

              To this:

              serveronly=$(grep -v '^[[:blank:]]*//'  config/config.js | grep -i serveronly: | awk '{print tolower($1)}' | tr -d ,\"\'\\r)
              

              The awk command seems to have been looking for a variable that wasn’t being passed and by changing the variable number that it was looking for, it no longer starts electron and now starts chromium.

              1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @ember1205
                last edited by

                @ember1205 hm… do this

                cd ~/MagicMirror
                ./run-start.sh
                

                you should see something like this

                 ./run-start.sh 
                [2020-09-22 13:13:51.584] [LOG] Starting MagicMirror: v2.13.0-develop
                [2020-09-22 13:13:51.588] [LOG] Loading config ...
                [2020-09-22 13:13:51.590] [LOG] Loading module helpers ...
                [2020-09-22 13:13:51.590] [LOG] No helper found for module: alert.
                [2020-09-22 13:13:51.602] [LOG] Initializing new module helper ...
                [2020-09-22 13:13:51.602] [LOG] Module helper loaded: updatenotification
                [2020-09-22 13:13:51.603] [LOG] No helper found for module: clock.
                [2020-09-22 13:13:51.840] [LOG] Initializing new module helper ...
                [2020-09-22 13:13:51.840] [LOG] Module helper loaded: calendar
                [2020-09-22 13:13:51.841] [LOG] No helper found for module: compliments.
                [2020-09-22 13:13:51.841] [LOG] No helper found for module: currentweather.
                [2020-09-22 13:13:51.841] [LOG] No helper found for module: weatherforecast.
                [2020-09-22 13:13:52.147] [LOG] Initializing new module helper ...
                [2020-09-22 13:13:52.147] [LOG] Check MagicMirror version for node helper 'MMM-Ring' - Minimum version: 2.11.0 - Current version: 2.13.0-develop
                [2020-09-22 13:13:52.147] [LOG] Version is ok!
                [2020-09-22 13:13:52.148] [LOG] Module helper loaded: MMM-Ring
                [2020-09-22 13:13:52.148] [LOG] All module helpers loaded.
                [2020-09-22 13:13:52.186] [LOG] Starting server on port 8090 ...
                [2020-09-22 13:13:52.187] [INFO] You're using a full whitelist configuration to allow for all IPs
                [2020-09-22 13:13:52.190] [LOG] Server started ...
                [2020-09-22 13:13:52.190] [LOG] Connecting socket for: updatenotification
                [2020-09-22 13:13:52.190] [LOG] Connecting socket for: calendar
                [2020-09-22 13:13:52.190] [LOG] Starting node helper for: calendar
                [2020-09-22 13:13:52.191] [LOG] Connecting socket for: MMM-Ring
                [2020-09-22 13:13:52.196] [LOG] MMM-Ring at (9/22/2020, 1:13:52 PM): Starting module: MMM-Ring
                [2020-09-22 13:13:52.196] [LOG] Sockets connected & modules started ...
                [2020-09-22 13:13:52.196] [LOG]
                Ready to go! Please point your browser to: http://0.0.0.0:8090
                Starting chromium browser now, have patience, it takes a minute  
                

                that last line is the key to running in split mode, server with chromium over the top…

                to run it multiple times, you will have to kill the server process

                 ps -ef | grep server
                

                sam 3267 3266 1 13:13 pts/0 00:00:01 node serveronly

                kill -9 3267
                

                thx for the hint, the space after the serverOnly:

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @sdetweil
                  last edited by

                  @ember1205 I just updated the script to handle with/without the space…

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • E Offline
                    ember1205
                    last edited by

                    Cool. I download the latest one and try it out.

                    Glad I can help you keep improving your code! lol

                    S 1 Reply Last reply Reply Quote 1
                    • S Offline
                      sdetweil @ember1205
                      last edited by

                      @ember1205 said in "Out of memory" issues - where do I begin?:

                      Glad I can help you keep improving your code! lol

                      me too… thought I had handled that… guess not

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • E Offline
                        ember1205
                        last edited by

                        Based on the directions you gave in this thread, the run-start.sh script won’t work. I didn’t take the time to look through the github content to see if this is covered there, but you have to do

                        chmod +x run-start.sh
                        

                        Or the script won’t actually execute. Based on old habits, I was executing the chmod statement without even thinking about it. But, after downloading the newest script, I purposefully left it untouched and it wouldn’t run.

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 7
                        • 4 / 7
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy