Closed UniversalSuperBox closed 5 years ago
Try printing the string in apicheck.cpp:169
As discussed off-issue, that's exactly what segfaults.
Reading the valgrind output again, it looked like the typeFormat
QString creation just a bit before the illegal call was causing a value to be written a little too close to the problem memory, so I changed typeFormat
to just an empty QString. Now the new valgrind output says Use of uninitialised value of size 8
. Progress!
This is fixed in d85ab399d0a97d035ad473aa4449f631151e6566, but I will keep the issue open until a PR with it is merged.
This issue is going to be a bit of a brain dump as I've been working at it for a few hours and I'm only a little further than when I started.
As can be seen in recent build output, the
apicheck
binary segfaults after being called onExtinct.Animals
. Since this prevents tests from finishing, we are unable to merge any pull requests right now.I've been trying to debug this issue for a few hours. TL;DR: We're corrupting our heap for a QQmlType, replacing its
QQmlTypePrivate
namedd
'sname
attribute, maybe more:I feel like I'm close to finding the issue, since looking at a data structure closer to the beginning of the private object nets us...
In case it's helpful, here's the valgrind output