Large projects cause frequent crashes

What do you want to achieve?

Be able to use the software without it crashing every few minutes.

What have you tried so far?

Screenshot or video

Others

  • SquareLine Studio version: v1.6.0
  • Operating system: Windows 11
  • Target hardware: STM32

A lot of the projects our team works on, generally require a SquareLine project with 10+ screens and thousands of objects. After a project grows to a point, SquareLine studio starts reporting “LVGL crashed” and the developer has to wait for it to restart. This makes the tool almost unusable.

If it is a scalability issue, one improvement that comes to mind would be to only render the active working screen. The user would select the screen they want to work on, and only that screen would be rendered. This depends on what the issue is, but there is definitely a correlation between project complexity (number of objects/screens) and the frequency of crashes.

Common crash typically reports the following:

WARNING:</b> PACKET SEND EXCEPTION: System.IO.IOException: Unable to write data to the transport connection: Connection timed out. ---> System.Net.Sockets.SocketException: Connection timed out
  at System.Net.Sockets.Socket.Send (System.Byte[ ] buffer, System.Int32 offset, System.Int32 size, System.Net.Sockets.SocketFlags socketFlags) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, System.Int32 offset, System.Int32 size) [0x00000] in <00000000000000000000000000000000>:0 
  at PLink.SendData (System.String data, PLink+ĩĩĪĩĩĪĪĩĪĩĩĪĩĪĩĪĪĩĪĩĪĩĩĪĪĪĪĪĪĩĪĪĩĩĪĩĩĪĩĩĪĪĩĪĩĩĪ type, System.Boolean force, System.Boolean need_bb) [0x00000] in <00000000000000000000000000000000>:0 
  at PLink.UpdateCurrentScreen () [0x00000] in <00000000000000000000000000000000>:0 
  at PLink.FixedUpdate () [0x00000] in <00000000000000000000000000000000>:0 
   --- End of inner exception stack trace ---
  at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, System.Int32 offset, System.Int32 size) [0x00000] in <00000000000000000000000000000000>:0 
  at PLink.SendData (System.String data, PLink+ĩĩĪĩĩĪĪĩĪĩĩĪĩĪĩĪĪĩĪĩĪĩĩĪĪĪĪĪĪĩĪĪĩĩĪĩĩĪĩĩĪĪĩĪĩĩĪ type, System.Boolean force, System.Boolean need_bb) [0x00000] in <00000000000000000000000000000000>:0 
  at PLink.UpdateCurrentScreen () [0x00000] in <00000000000000000000000000000000>:0 
  at PLink.FixedUpdate () [0x00000] in <00000000000000000000000000000000>:0 </color>
<color=#FF5555><b>ERROR:</b> Error: LVGL crashed
Please check the console</color>

Hi bholland,

Thank you for the detailed report. We have successfully tested projects containing up to 300 screens and approximately 9,000 widgets without experiencing this issue, so we would like to investigate what is triggering the crash in your case.

Could you please clarify exactly when the project crashes—for example, while loading the project, switching screens, selecting an object, editing the project, or exporting it?

We would also need the complete log file to diagnose the issue. You can find instructions for locating the log here:

If you prefer not to share the log publicly on the forum, please send it to forum@squareline.io, and we can continue the investigation by email.

Thank you!