Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
None
-
5.5.1, 5.6.2, 5.6.3, 5.8
-
None
-
32-bit Qt, Windows Embedded Compact 2013, ARM v7, Ubuntu 16.04 32-bit, Windows 64 Desktop
-
-
8501993e5275076d9163a7e2f8bab9ba2f187f72
Description
An uninitialized double property crashes the QML engine when the property is evaluated in QML on Qt 5.6.
This also affects applications that use qreal properties when “-qreal float” is omitted when building Qt.
Here is the relevant code:
C++:
class TestBadQReal : public QObject
{
Q_OBJECT
Q_PROPERTY(double badQReal READ badQReal WRITE setBadQReal NOTIFY badQRealChanged)
public:
TestBadQReal()
{
*reinterpret_cast<quint64 *>(&mBadQReal) = 0x7FFFFFFFFFFFFFFF;
}
QML:
property real storage: myType.badQReal
TestBadQreal { id: myType }
Serial port output:
PID:08A40341 TID:08030342 Exception 'Data Abort' (0x4): Thread-Id=08030342(pth=b0822538), Proc-Id=08a4033e(pprc=b08a5c18) 'BadQReal.EXE', VM-active=08a4033e(pprc=b08a5c18) 'BadQReal.EXE'
PID:08A40341 TID:08030342 PC=42bd96c1(qt5qml.dll+0x000696c1) RA=42be54fd(qt5qml.dll+0x000754fd) SP=0013f3b8, BVA=00000000
I attached a minimal project.
Can someone check if this occurs on Qt 5.12 on either 32-bit desktop or ARM?
Attachments
Issue Links
- duplicates
-
QTBUG-65998 QML crashes when value of property becomes NaN
- Closed