Solved Qt 5.11.2(32 bit) w/ Qt for Python(2.7/32 bit) silent system halt
My company has tasked me with upgrading the version of Qt that we are using in our app from Qt 4 to Qt 5.
Our app is Python, and uses Python and QML for the GUI. It feels wrong calling it an embedded device, as it's a Q7 SoM running a fairly standard Ubuntu 16.04 install. It might as well be a desktop computer.
I have built Qt and Qt for Python from their respective git repos late last week from their 5.11 branches, integrated it with our app, and it works for the most part.
The problem is, randomly (anywhere from 5 min to 10 hours after starting the app) while idling (cycling through displaying news feeds and such; waiting for user interaction), something involving Qt will halt the system without leaving any trace.
I know it has something to do with the GUI, because our app will run for days (I've compiled/integrated Qt5 earlier, too, I just had to build the web modules this time around) without the GUI. Upon starting the GUI the system will halt at some point. This manifests as the GUI freezing and the system becoming unresponsive (ssh sessions freeze, switching to a terminal via ctrl-alt-f# doesn't work, magic SysRq key inputs don't do anything) and after rebooting there is ZERO evidence of anything going wrong searching through /var/log and /run/log and every other log I could find.
I'm currently trying to get a crash dump via this recipe: https://wiki.ubuntu.com/Kernel/CrashdumpRecipe?action=show&redirect=KernelTeam%2FCrashdumpRecipe
In the meantime I was wondering if there's anything else I should be trying to do to diagnose this crash.
Did you check if this also happens with your distribution provided PyQt ?
I have not. I tried implementing PyQt5 before PySide2 and it gave me issues. In hindsight, these were issues that I've since learned how to solve. I'll try PyQt5.
Alright, I went back and got our app working with PyQt5, and tried running it with both a compiled PyQt5 (ver 5.11, compiled against the same compiled Qt as PySide2), as well as the PyQt5 provided by apt (v5.5.1 + Qt 5.5.1).
In both cases the behavior is the same. After some amount of time idling, the machine locks up entirely without any evidence of anything being wrong.
The ubuntu crash dump mechanism seems to not detect the system halt, and our app remains frozen until the machine is rebooted.
@Rguessford If your machine locks up you should still be able to switch to text console using Ctrl-Alt-F2. Then you can try to check what is going on. For example calling dmesg, checking CPU usage, ...
To me it sounds more like some problem with your machine.
you should still be able to switch to text console using Ctrl-Alt-F2.
You'd think so, right? No, the machine goes completely unresponsive, frozen on whatever it was displaying last. No ssh, no ping, doesn't switch to text consoles, no magic SysRq. I've tried it with 3 different SoMs with the same results on all of them.
e: I've also tried monitoring the cpu temps before it crashes, and the temp is no where near concerning (50C) when the crash happens
@Rguessford Most probably something is wrong with your machine - a crashing app should not freeze the whole machine.
May I ask you what your app is doing? Is it communicating with some external hardware? Does it use some libraries? Do other GUI apps run without freezing?
Turns out it was this bug having to do with Intel Bay Trail CPUs: https://bugzilla.kernel.org/show_bug.cgi?id=109051