Possible infinite recursion during toolbar layout on macOS
-
wrote on 13 Feb 2020, 00:01 last edited by
Recently started getting reports from a Qt 5.6 application I help maintain about performance/responsiveness issues on MacOS. I've advised to get samples (via Activity Monitor / Sample Process), I see what looks like cycle in the hierarchy. I wanted to write to ask here to see if that is indeed a reasonable read of the involved frames:
... everything above here is just normal runloop source notification stuff... + 2383 QLayout::widgetEvent(QEvent*) (in QtWidgets) + 81 [0x10a675521] + 2383 QLayout::activate() (in QtWidgets) + 106 [0x10a6755ba] + 2383 QLayout::activateRecursiveHelper(QLayoutItem*) (in QtWidgets) + 86 [0x10a676776] + 2383 QMainWindowLayout::itemAt(int) const (in QtWidgets) + 40 [0x10a79ea28] + 2383 QToolBarAreaLayout::itemAt(int*, int) const (in QtWidgets) + 380,384,... [0x10a82f85c,0x10a82f860,...]
The numbers 2383 are the sample count, 1ms between samples. From my research so far,
activateRecursiveHelper
appears to exist to help avoid blowing the stack for deep hierarchies.Does any one have any advice for digging into a matter such as this?
-
Hi and welcome to devnet,
What version of Qt exactly ?
On what version of macOS ? -
wrote on 14 Feb 2020, 20:45 last edited by
Hi thank you for the welcome! :)
Using Qt 5.6.1 and seen on macOS 10.15.3
-
Qt 5.6.1 is really old. Can you update at least the latest version of that series ?
If possible, Qt 5.14 would be better but if you want to stay on LTS then the 5.12 series. -
wrote on 15 Feb 2020, 00:33 last edited by
Indeed it is! :( It is something that we are looking into doing for certain this FY.
2/5