dataChanged signal cannot be used on ARM under certain conditions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
binutils (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned | ||
qtbase-opensource-src (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
This is probably the strangest bug I have ever observed, but it is completely reproducible. When running the attached Qt application, I receive the following error:
QObject:
This error is 100% reproducible on my Raspberry Pi 2 running Ubuntu 14.04.2 (Trusty). This device has an ARMv7 CPU (Broadcom BCM2836). I cannot reproduce this error on any other hardware (x86 and amd64 have been tested). This does not appear to be a compiler bug since both g++ and Clang produce an executable that prints the above error.
Here's the thing that really confuses me: the error disappears (and everything works correctly) if I comment out the "dataChanged(...)" line in test.cpp. This is completely bizarre because the line is never executed by any code.
I've tried digging through Qt's headers and buried myself neck-deep in macros, templates, and MOC-generated files. I can't make any sense out of this. Therefore I am reporting it as a bug. To compile the example, enter the source directory, run "qmake", and then run "make" to build the executable. Remember, the bug only manifests itself on an ARM CPU.
tags: |
added: verification-done removed: verification-needed |
Can you try to use the old connection syntax? The new syntax is known to be unreliable on some architectures.