I have a WebVisu HMI running on a Raspberry Pi, runtime version 188.8.131.52.
The HMI is on a line the runs production 16 hours/day, and it has been intermittently crashing. When the HMI crashes the screen will freeze up with the HMI still on screen, or it will display a white screen with circular red arrows and the text "An error happened; will automatically restart". The only thing that we have been able to do to get the HMI back up and running is to reboot the Pi.
There is a line in the logs that appears to suggest the Web Server that serves up the HMI is crashing on an exception:
"1601322966, 0x00000071, 8, 81, 0, EXCEPTION <task>WebServerTask</task> <ip>0x76d70eb0</ip> <bp>0x1ff</bp> <sp>0x75933bd8</sp>"
This is near the end of the log every time the system crashes, I've attached an example log file.
Any input would be much appreciated.
could you update your Raspberry PI to 184.108.40.206?
Between SP13 and SP16 a few security issues were fixed in the webserver.
If the issue still occurs, please send your project and steps to repeat to CODESYS by going to https://store.codesys.com and click on My Question.
Thanks for your quick feedback, will give that a try and let you know how it goes
I tried updating the Codesys project and runtime to 220.127.116.11, the HMI ran for server days but crashed again today. I've attached the logs again, same line at the end of the logs indicating some kind of Exception crashing the web server.
I am working on getting a support ticked opened with the Codesys North America store but have had some issues getting a response from them so in the meantime any other ideas would be much appreciated.
Could you try the European store?
Do you have any exact steps to repeat?
I have gotten through to the North American support team, there was an issue with me not being registered properly on our company account.
With regards to steps to repeat, we have not been able to determine an action that causes this. The operator interaction with the HMI is minimal, they use it to monitor production counts, and recover from faults when they occur. This crash happens intermittently, not following an operator interaction. The only pattern we have noticed is that if we do a full power cycle on the Pi instead of just rebooting it we get a longer time between failures.
Perhaps the update rate needs to be increased, default communication buffer size needs to be increased, or the Visu_Task cycle time in the task configurator needs to be increased.
Long ago I did have web visu's crash in a similar manner and I just made each of those more generous. I did not dig into it much.
Thank you for the feedback. We have increased the update rate but I don't believe we've tried the other two yet.
An exception usually means something is writing to memory it shouldn't.
If this is caused by an array index out of bounds in your application, you can find this using checkbounds. If you also have source code for any of your libraries in your application, make sure to set the compiler define checks_in_libs .
Steps and more info here:
Of course, this only works for checking the index of arrays. You can also run into trouble with POINTERs and ADR instructions. do a Find All for POINTER and another for ADR, and triple check that you have appropriate checks on sizes.
Note: compiler defines are found by right clicking the Application and choosing Properties..., The scrolling all the way across to the Build tab.
After increasing the update rate again, and increasing the Default communication buffer size this issue appears to be resolved, thank you very much for all the help.
Log in to post a comment.