We are seeing a problem in the field where units are randomly rebooting due to a hardware watchdog timer expiring. The watchdog timer on our system is configured to reboot after 30 seconds of not being handled. The problem occurs infrequently enough that it is difficult to reproduce in house, but often enough that we are getting customer complaints.
The software running is 3.0.35-IMX6.JB4.2.2_110.VAR_R13_R3
Our in-house testing has been able to gather enough data to indicate that the hardware composer functionality seems to be a main factor. If we disable the hardware composer by removing the hwcomposer_viv.imx6.so shared library, the problem no longer occurs (we have seen only one instance of the watchdog reset when the hardware composer was disabled). We have had similar problems earlier in the development of our product which were resolved by updating the Vivante GPU package (to GPU p13 Ver2). Apparently this didn't entirely resolve the problem.
When the problem occurs there is no log activity in the kernel dmesg log or in Android's logcat that seem to point to a particular issue.
Our system is also using a USB TV tuner when we reproduce this problem, but I'm not sure if that is necessary to cause the problem. I mention this because when we had a similar, more frequent issue early in our product development part of the fix was a kernel patch provided by Freescale that was centered on USB host fixes: MA-5749.
NXP recently posted (23 Dec 2016) a GPU p13 Ver 5 update package that has a different hwcomposer_viv.imx6.so shared library, but using that update doesn't seem to help with the problem.
I'm wondering if:
1) NXP has any insight into the problem 2) has any instructions on how we might get some debug information from the hwcomposer_viv.imx6.so library? Perhaps by configuring some debug logging or by installing a debug build of the library.