We have an internal application that sits idle playing a number of videos in a loop endlessly. Eventually after many hours the application will continue to run, but the display will show garbage, pure white or pure black. The application continues to run (the audio track can still be heard playing) but the system cannot be restored without restarting weston. Trying another method I made a similar application that plays videos under Chromium for long periods of time. In this case Chromium will eventually stop working (weston background image visible). Chromium process is still running and consuming ever larger amounts of RAM until Weston is restarted, then operates normally. Both methods are stable if showing only static images. There isn't a fixed number of hours before the crash, it is generally long (>24 hours) but can vary. We've seen boards run for as many as 5 days or as short as 3 hours.
System is a custom board that is closely related to Sabre DL. Kernel is Linux 4.1.15 and using the imx-gpu-viv_5.0.11.p8.4 drivers from FSL community Krogoth.
Nothing obvious in the logs. No obvious memory/file handle leaks in user space. Weston sometimes crashes with a "corrupted double linked list" error.
If anyone has any ideas I'd really appreciate it. This issue is holding up product release and I'm stuck.