2021-06-08 04:22 PM
The following functions get blocked during application:
However, OSWrappers::signalVSync() works fine. The issue happens occasionally, most of the time, the TouchGFX GUI application is working fine.
What is the root-cause and how to debug / fix this issue?
Thanks
Jianchun
2021-06-08 10:56 PM
Hello Jianchun,
To find the root cause we need more information. Please give us information about your setup (TouchGFX version, board, display, how did you create your project, picture of the debug results, etc.)
/Alexandre
2021-06-09 09:31 AM
Hi Alexandre,
Our touchGFX project (ceribell.com) was created by Jesper Hedegaard 5+ years ago. Martin Kieldsen was working on it for about 1 year, and later took over by Anders Eskildsen. it was based on ST32F769 discovery-board with the same display. Our current TouchGFX version is 4.16.0.
Thanks,
2021-06-09 11:29 PM
Hi Jianchun!
Long time no talk :) When did this start happening?
/Martin
2021-06-10 10:26 AM
2021-06-10 11:36 PM
Item 1 sounds preferable :) I'm not sure i understand what "tick gets blocked" means. Do you mean that the GUI Thread is blocked completely? I remember your model is doing *a lot* of things, communication with lots of threads. Do you have any insight into the stack trace for this, or has is it been too difficult to catch?
/Martin
2021-06-10 11:55 PM
Option 2) won't really work, i think. The tick is driven by your display controller (which is probably still firing off interrupts). I think you'll be stuck either way if you don't find the root cause since you can't just restart the entire application without upsetting someone :)
2021-06-10 11:57 PM
Any new changes lately? Could help you pinpoint potential issues. Perhaps thread related. git bisect could help if you can have multiple devices running locally to try and catch the errors.
2021-06-11 09:49 AM
We have been with this issue for years - since it is so hard to reproduce, we never have a chance to figure it out the root-cause. However, both DSI_IRQHandler(void) and OSWrappers::waitForVSync() get called when it happens
2021-06-14 03:21 AM
Okay! Then it definitely sounds like the UI thread gets blocked on rare occasions. As discussed through email let's try to debug it when it happens.
/Martin