Qt Webengine on Torizon OS 7 sigfault

Hello,

I am trying to migrate from Torizon OS 6 to OS 7 on the imx8, but I seem to be getting a segmentation fault for my app that was working in OS6

Thread 14 “Chrome_InProcGp” received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fadfbee00 (LWP 54)]
0x0000007fe7830594 in _TraceStrictModelViewProjection () from /lib/aarch64-linux-gnu/libVSC.so

I have changed the compositor as follows
torizon/weston-vivante:3 → torizon/weston-imx8:4

Qt base image:

torizon/qt6-wayland-vivante:3 → torizon/qt6-wayland-imx8:4

I kept the Dockerfile and docker-compose with same dependency and environment variables as my application worked fine with OS 6

Any ideas on how I can further debug this?

Thanks

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Hello! The segmentation fault you’re experiencing in the Vivante graphics driver (libVSC.so) during your migration from Torizon OS 6 to OS 7 is likely related to the significant changes that occurred between these versions.

Understanding the Migration Context

When upgrading from Torizon OS 6 to Torizon OS 7, you’ve correctly updated your container references(1):

  • Weston compositor: torizon/weston-vivante:3torizon/weston-imx8:4
  • Qt base image: torizon/qt6-wayland-vivante:3torizon/qt6-wayland-imx8:4

Key Changes in Torizon OS 7

The upgrade notes indicate several important changes that could affect your application(1):

1. Device Monitoring Changes

The aktualizr-data-proxy used in Torizon 6.4.0 and older for Device Monitoring has been disabled in Torizon 7(1). If you have a custom /etc/fluent-bit/fluent-bit.conf file, make sure to update the [OUTPUT] section(1).

2. Container Architecture Updates

The container offerings have been updated for Torizon OS 7, with major tag 4 containers being used(2). These containers are built for specific architectures - for iMX8 devices, all images are built for the arm64 instruction set architecture(2).

Debugging Recommendations

1. Verify Container Compatibility

Ensure you’re using the correct iMX8-specific containers. According to the container version matrix, for iMX8 platform you should be using(2):

  • debian-imx8:4
  • weston-imx8:4
  • qt6-wayland-imx8:4

2. Check Graphics Stack Configuration

The segmentation fault in libVSC.so suggests an issue with the Vivante graphics driver. For Qt applications on iMX8 with hardware acceleration, ensure your application is properly configured for the Wayland backend(3).

3. Environment Variables

Verify that your Docker environment variables are compatible with Torizon OS 7. The containers use the CT_TAGS environment variables that are available in all Torizon OS deployments(2).

4. Graphics Testing

You can test the graphics stack independently using the graphics test container:

  • torizon/graphics-tests-imx8:4(2)

This will help isolate whether the issue is with the graphics driver or your specific application.

5. Qt-Specific Debugging

Since you’re using Qt6, ensure your application is using the correct Qt backend. For iMX8 modules with Vivante GPU, hardware acceleration should work with both Qt5 and Qt6 on Torizon OS 7(3).

Additional Considerations

  • The same packages might have different versions across platforms, and for platforms that heavily rely on non-upstreamed forks such as iMX8, the strategy is to ship the same versions of key userspace applications that one would get if using Yocto(2)
  • Make sure to use containers that are specifically tested for your hardware platform(2)

Try running your application with the graphics test container first to verify the graphics stack is working correctly, then gradually add your application components back to isolate the source of the segmentation fault.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Greetings @amoussalli,

Which i.MX8 module is this for specifically?

As for the issue itself, the error does not provide much details unfortunately. The referenced shared library here libVSC.so is related to the NXP Vivante graphics stack I believe. Have you tried debugging your application to at least determine when in your code the segmentation fault is triggered?

Best Regards,
Jeremias

Hi @amoussalli ,

Any updates for us here?

Best,