Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.0 Alpha
-
Cross-compilation, Linux-x64 host and Linux-x86 target
-
163c515783877b8b0ffb8b5c1bab288addee9745 e29ffa179e9920443a23e2fcb3f0694df32e8a68
Description
The commit 1969991c4a4bd39ee224b0fa3c8cffa51f061757 for fixing QTBUG-52356 seems to have introduced a related bug.
Despite my tries I'm not able to produce a simple test case but it segfaults, sometimes (race?), in our big application. The stacktrace is included in attachment. I include another attachment, with another stacktrace which happens less frequently but which is, I think, also related to this bug. Unfortunately it does not contains debug symbols.
I've written a small patch to work around this but as my knowledge ot Qt internals is limited I'm not sure I'm doing it right, but it may help committer to understand what is wrong.
My explanation is, as far as I understood it, that the commit above forgot to protect the delete m_objectCache at qmllistmodel.cpp:1145 (in ListElement::destroy()). The way it is done sometimes triggers a disconnect() on the meta-object.
My patch checks for initialization of m_objectCache and deletes the meta-object and set it to 0 if not initialized. Again, I'm not sure if that makes sense.
Attachments
Issue Links
- is duplicated by
-
QTBUG-63383 [REG: 5.6.2->5.6.3] QML double-free crash on exit
- Closed
- relates to
-
QTBUG-52356 JS binding re-evaluation not working anymore
- Closed