Logic Machine Forum
LM crash - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Hardware (https://forum.logicmachine.net/forumdisplay.php?fid=12)
+--- Thread: LM crash (/showthread.php?tid=1668)



LM crash - Thomas - 22.10.2018

Hello
My LM randomly crashes. It happens once in five days. Can I investigate what's wrong?
Pictures containing logs attached. Every "System Start" is a LM crash.

What represent these three numbers right to CPU/IO? Are they user/kernel/IO? Can I check why the middle number is so high?

Thank you


RE: LM crash - admin - 22.10.2018

One of possible reboot reasons can be out-of-memory condition. This can be caused by too many resident scripts running in parallel and/or loops in event scripts. You can see all running processes in System config.


RE: LM crash - Thomas - 22.10.2018

Sorry attached logs here. I forgot press "Add Attachment" button.

(22.10.2018, 11:40)admin Wrote: One of possible reboot reasons can be out-of-memory condition. This can be caused by too many resident scripts running in parallel and/or loops in event scripts. You can see all running processes in System config.

I've 10 resident scripts running. You're right, there could be an infinity loop. Can I discover it somehow? Like logging to a different computer through rsyslog etc?


RE: LM crash - admin - 22.10.2018

Finding loops can be a tricky task. Try running ETS group monitor for some time.


RE: LM crash - Thomas - 22.10.2018

I turned on "Remote diagnostics" on my LM. Can I connect through SSH to the LM? I tried my admin password, communication password, a regular user but with no luck.


RE: LM crash - admin - 22.10.2018

We do not provide instructions on how to get root SSH access to LM. It's not that hard, but you'll have to figure it out yourself Smile


RE: LM crash - Thomas - 24.10.2018

I think one of possible reason for LM crashing is the webserver consuming big portion of the memory. Do you have any suggestion how to lower this number? Can I switch on more aggressive caching at clients?
Thank you


RE: LM crash - admin - 24.10.2018

Do you have many active visualization clients connected?


RE: LM crash - Thomas - 25.10.2018

I don't know because LM doesn't show active clients. My guess is something between 100-200.
I've found that LM stop crashing after I stop using remote.


RE: LM crash - admin - 25.10.2018

Do you mean cloud access or remote http services?


RE: LM crash - Thomas - 25.10.2018

(25.10.2018, 10:02)admin Wrote: Do you mean cloud access or remote http services?

It can be just coincidence but since I turned remote requests off my LM is still on with no interruption. Unfortunately the issue is hardly reproducible because it happens once or twice a day.

Remote HTTP access (object set as "export", Remote service Enabled)
I use this service for data exchange between our attendance system and KNX.
The attendance system simply sends update request when doors are opened/closed.


The request looks like this: http://LM_name/scada-remote?m=json&r=grp&fn=write&alias=1/1/1;&value=1


Another interesting part is sometimes response from LM to remote request is extremely slow. I had to set timeout for reply to 20s.

Code written in C# I use in the interface between ACS and LM is simple and is below. It uses synchronous GetResponse .NET 4.0 functionality.

Code:
public HttpStatusCode HttpGetSync(string urlParams)
       {
           string uri;
           HttpStatusCode statusCode = HttpStatusCode.BadRequest;
               
           if (!(restapi.url.Length > 0)) return statusCode;
           if (!(urlParams.Length > 0)) return statusCode;
           uri = restapi.url + urlParams;
           
           HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
           if (netCredential != null)
           {
               request.Credentials = netCredential;
               request.PreAuthenticate = true;
           }
           request.Method = "GET";
           if (restapi.timeout > 0)
           {
               request.Timeout = restapi.timeout;
               request.ServicePoint.ConnectionLeaseTimeout = restapi.timeout;
               request.ServicePoint.MaxIdleTime = restapi.timeout;
           }
           request.ContentType = "text/html";
           request.CachePolicy = reqCachePolicy;
           request.Proxy = null;
           
           request.KeepAlive = false;

           using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) {
               statusCode=response.StatusCode;
               response.Close();
           } ;
           request.Abort();
           
           GC.Collect();

           return statusCode;
       }



RE: LM crash - admin - 25.10.2018

Use attached .lp file to show a list of connected clients. Upload it to user directory via ftp (apps username), then access it via http://LM_IP/user/clients.lp

Also, please upload your backup somewhere and send via PM so I can test remote access time.


RE: LM crash - Thomas - 26.10.2018

(25.10.2018, 13:55)admin Wrote: Use attached .lp file to show a list of connected clients. Upload it to user directory via ftp (apps username), then access it via http://LM_IP/user/clients.lp

Also, please upload your backup somewhere and send via PM so I can test remote access time.

Thank you. Check your PM