-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.13.1
-
None
I got warnings from thread sanitizer when execution this piece of code:
#include <QThread> #include <QCoreApplication> int main(int argc, char** argv) { QCoreApplication app{argc, argv}; QThread thread; auto object = new QObject; object->moveToThread(&thread); thread.start(); object->deleteLater(); thread.quit(); thread.wait(); return 0; }
Thread sanitizer reports these data races:
WARNING: ThreadSanitizer: data race (pid=327160)
Write of size 8 at 0x7b0800000100 by thread T1:
#0 operator delete(void*, unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:149 (libtsan.so.0+0x796b5)
#1 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) <null> (libQt5Core.so.5+0x293742)
Previous write of size 8 at 0x7b0800000100 by main thread:
#0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:63 (libtsan.so.0+0x79c6c)
#1 QObject::deleteLater() <null> (libQt5Core.so.5+0x2ba894)
#2 __libc_start_main <null> (libc.so.6+0x26ee2)
Thread T1 'QThread' (tid=327162, running) created by main thread at:
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:964 (libtsan.so.0+0x2d683)
#1 QThread::start(QThread::Priority) <null> (libQt5Core.so.5+0xc202b)
#2 __libc_start_main <null> (libc.so.6+0x26ee2)
SUMMARY: ThreadSanitizer: data race /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:149 in operator delete(void*, unsigned long)
==================
ThreadSanitizer: reported 1 warnings