111 views
in Platform Packages by

Hello, 

I am using the IMX8M Plus OpenGL - DRM Platform Package for Embedded Wizard 14 and see Embedded Wizard memory errors (specifically Code 326 and Code 335) when using the Views::FillGradientPath on target-hardware. I do not see any issues in the Embedded Wizard simulator on my host machine. When running on target, this causes the application to crash. I am using the FillGradientPath to graph sensor data over time (60 seconds with 1 point per second). There is a gradient applied this FillGradientPath. Are there any known issues in Embedded Wizard 14 for this? 

Additional details:

  • Linux kernel version 6.6.23 (scarthgap Yocto project codename)
  • Target hardware is a Toradex Verdin IMX8M Plus SoM. 
  • Toolchain - Clang 18.1.6

 

Please let me know what additional information I can provide!

Sincerely, 

Eric

 

 

1 Answer

0 votes
by
Hi Eric,

there are no known issues so far.

Let me ask you some questions:
What is the first error message you get on the console window? Is this reproducible?

Other questions: What is the difference between Prototyper and real target? Are you working with simulated data or with real data? How do you provide the graph data? Are you using an additional thread/task?

Best regards,
Manfred.
by

Hi Manfred, 

Please see the attached image for the error messages seen on the console window. Yes, multiple members of my team have been able to reliably produce this. 

With regards to the differences between the Prototyper and real target:

  • both the Prototyper and the real target use DeviceInterface classes to add data to the graph. 
  • Both the real target and Prototyper use simulated data, not actual sensor data. 
  • The real target has 2 threads: the Embedded Wizard UI thread and a DataThread (which gathers the simulated data). The DataThread passes the data to the UI Thread using EwInvokeCopy. 
  • In addition to a FillGradientView, we are also using a Views::StrokePath to plot the data and have observed no issues with this component (the StrokePath is to plot the current data and the FillGradientView is to fill in the space between the Axis and current data). When we disable the FillGradientView, the application is stable.

When this problem does not always immediately crash the application (though it often does), I am able to see some of the FillGradientPath being plotted, but the scaling is incorrect and contains various artifacts. I wonder if it is related to the release notes at the bottom of this page: https://doc.embedded-wizard.de/getting-started-imx8-opengl-drm ?

Thank you for your help!

Sincerely, 

Eric

by
Hi Eric,

the error indicates a corrupted heap (usually an overwritten memory) - but the addresses reported in the error message do not fit into the memory pool reported in your first post. Is this correct?

Are you using source code or libraries of the Embedded Wizard Platform Package?

Have you tried it with Wayland or would this be an option?

Best regards,

Manfred.
by

Hi Manfred, 

Here is a complete screenshot of the Debug information and the first error message. I am not totally sure that the screenshots in earlier comments come from the same application execution, so I've included a new screenshot below for the same application execution. It does appear that you are correct, the addresses reported in the error message do not fit into the memory pool.

I am using the source code of the Embedded Wizard Platform Package. I have not tried with Wayland, our Platform Package is for DRM. We would like to avoid using Wayland as we do not require the extra complexity that comes with a compositor. 

I've included an additional image of what the various artifacts appear like in the FillGradientPath when it does not immediately crash the application. As you can see, the top graph FillGradientPath (incorrect) is quite different from the bottom graph FillGradientPath (correct). After a few seconds, the application always crashes. 

Sincerely, 

Eric

by

Hi Eric,

we verified our Embedded Wizard iMX8M solution on Toradex reference platform together with a Verdin iMX8M Plus SOM based on Wayland. Basically it should also work directly with DRM, however we never verified this on a Toradex system.
As you already know we additionally noticed artefacts using our DRM approach if a Yocto Release after LF5.10.72-2.2 is used. However, although there are some artefacts, we didn't noticed any instabilities during our verifications.
Since a Toradex system has an additional complexity level because of docker, we would like to recommend you to verify your application on a i.MX8 reference platform from NXP based on Wayland. For our verifications we are using the 8MMINILPD4-EVK. We are offering a easy to used BuildEnvironment for this platform. 

Best Regards,
Martin

 

by
Hi Martin,

We don't have any NXP reference platform readily available. It would be doable to test out using the Toradex solution based on Wayland. Would you recommend doing this? Are there any other debug mechanisms that we can do to further isolate the issue? Ultimately, the Platform Package we have is for DRM, so we would like this to work without needing Wayland. Also, we are not using Torizon in our system, so there should be no Docker dependencies or complexity. We are using Yocto to build the Linux kernel and our application.

Sincerely,

Eric
by

Hi Eric,

another promising way could be, if you could share some reduced example project, that we can use to verify on the reference platform. 
The ideal would be a project from which all parts that are not necessary to reproduce the error have been removed.

If you want to to a try with Wayland an appropriate Build Environment is available on our Website.

Best Regards,
Martin

 

by
Hi Martin,

I have an stripped down EW project that I can share with you exhibiting the glitch that Eric was talking about.  What is the best way to send you files?  I'm not sure, but I don't think I can email out a zip file.

Thanks!
Kevin
by
Hi Kevin,

please send a short email to our support address for customers with professional licence support@embedded-wizard.de.
I will return some FTP credentials, where you can upload the package.

Regards,
Martin

Embedded Wizard Website | Privacy Policy | Imprint

...