Bug#973659: qtdeclarative5-dev-tools: qmlcachegen segfaults on hppa
On 2021-02-05 7:41 a.m., Dmitry Shachnev wrote:
> For NaN, you probably need to check if these masks are correct:
>
> https://sources.debian.org/src/qtdeclarative-opensource-src/5.15.2+dfsg-4/src/qml/common/qv4staticvalue_p.h/#L285
> https://sources.debian.org/src/qtdeclarative-opensource-src/5.15.2+dfsg-4/src/qml/common/qv4staticvalue_p.h/#L305
>
> and this method:
>
> https://sources.debian.org/src/qtdeclarative-opensource-src/5.15.2+dfsg-4/src/qml/common/qv4staticvalue_p.h/#L354
>
I believe the isNaN method should check for both quiet and signalling NaN encodings (0x00040000 and 0x00080000).
As best I can tell, the quiet and signalling encodings will end up reversed on hppa due to the value returned by qt_qnan().
I believe the "| 0x00020000u" bit is redundant in the definition of Immediate_Mask_32.
However, I don't believe the above issues are the main problem. The build log history indicates that version 5.11.3-4 was
okay and 5.12.2-1 was bad. This is indicated by a segmentation fault by tst_parserstress, the first test in the testsuite.
It would be nice to bisect changes between 5.11.3-4 and 5.12.2-1 to find the change that causes the problem. However,
I'm not away of a suitable archive.
There are also issues building 5.11.3-4 on sid:
qml/qqmlmetatype.cpp: In member function 'void QQmlTypePrivate::insertEnums(const QMetaObject*) const':
qml/qqmlmetatype.cpp:811:60: error: cannot convert 'const QMetaObject::SuperData* const' to 'const QMetaObject* const*' in initialization
811 | const QMetaObject * const *related = metaObject->d.relatedMetaObjects;
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~
~~~~~
| |
| const QMetaObject::SuperData* const
There was a crashing bug patch in 5.11.3-4 that was removed in 5.12.2-1. Code was changed.
Regards,
Dave
--
John David Anglin dave.anglin@bell.net
Reply to: