==32174== Helgrind, a thread error detector ==32174== Copyright (C) 2007-2017, and GNU GPL'd, by OpenWorks LLP et al. ==32174== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==32174== Command: ./tst_qregularexpression threadSafety ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #1 is the program's root thread ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #2 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x4040A61: WatchDog (qtestcase.cpp:990) ==32174== by 0x4040A61: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953F8E8 was first observed ==32174== at 0x4C36796: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040A25: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A25: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during write of size 4 at 0x953FA30 by thread #1 ==32174== Locks held: 1, at address 0x953F8E8 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x4040A61: WatchDog (qtestcase.cpp:990) ==32174== by 0x4040A61: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous read of size 8 by thread #2 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0D34: QMutexLocker (qmutex.h:206) ==32174== by 0x4EF0D34: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x953fa30 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x4040A0A: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A0A: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953F8E8 was first observed ==32174== at 0x4C36796: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040A25: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A25: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 4 at 0x953FA30 by thread #2 ==32174== Locks held: none ==32174== at 0x4EF1593: exchange (atomic_base.h:730) ==32174== by 0x4EF1593: exchange (atomic:461) ==32174== by 0x4EF1593: fetchAndStoreAcquire (qatomic_cxx11.h:326) ==32174== by 0x4EF1593: fetchAndStoreAcquire (qbasicatomic.h:275) ==32174== by 0x4EF1593: lockInternal_helper (qmutex_linux.cpp:147) ==32174== by 0x4EF1593: QBasicMutex::lockInternal() (qmutex_linux.cpp:159) ==32174== by 0x4EF1639: QMutex::lock() (qmutex.cpp:227) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0D34: QMutexLocker (qmutex.h:206) ==32174== by 0x4EF0D34: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: 1, at address 0x953F8E8 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x4040A61: WatchDog (qtestcase.cpp:990) ==32174== by 0x4040A61: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fa30 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x4040A0A: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A0A: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953F8E8 was first observed ==32174== at 0x4C36796: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040A25: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A25: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 4 at 0x953FA30 by thread #2 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: 1, at address 0x953F8E8 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x4040A61: WatchDog (qtestcase.cpp:990) ==32174== by 0x4040A61: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fa30 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x4040A0A: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A0A: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953F8E8 was first observed ==32174== at 0x4C36796: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040A25: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A25: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during write of size 4 at 0x953FA30 by thread #2 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: 1, at address 0x953F8E8 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x4040A61: WatchDog (qtestcase.cpp:990) ==32174== by 0x4040A61: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fa30 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x4040A0A: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A0A: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during write of size 8 at 0x953F8E8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous read of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8FDC: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:227) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4040A94: WatchDog (qtestcase.cpp:991) ==32174== by 0x4040A94: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x953F8E8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1593: exchange (atomic_base.h:730) ==32174== by 0x4EF1593: exchange (atomic:461) ==32174== by 0x4EF1593: fetchAndStoreAcquire (qatomic_cxx11.h:326) ==32174== by 0x4EF1593: fetchAndStoreAcquire (qbasicatomic.h:275) ==32174== by 0x4EF1593: lockInternal_helper (qmutex_linux.cpp:147) ==32174== by 0x4EF1593: QBasicMutex::lockInternal() (qmutex_linux.cpp:159) ==32174== by 0x4EF1639: QMutex::lock() (qmutex.cpp:227) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8FDC: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:227) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4040A94: WatchDog (qtestcase.cpp:991) ==32174== by 0x4040A94: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x953F8E8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040AB9: unlock (qmutex.h:219) ==32174== by 0x4040AB9: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4040AB9: WatchDog (qtestcase.cpp:988) ==32174== by 0x4040AB9: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during write of size 8 at 0x953F8E8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040AB9: unlock (qmutex.h:219) ==32174== by 0x4040AB9: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4040AB9: WatchDog (qtestcase.cpp:988) ==32174== by 0x4040AB9: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x953F8E8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040528: QMutexLocker (qmutex.h:206) ==32174== by 0x4040528: beginTest (qtestcase.cpp:1003) ==32174== by 0x4040528: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1113) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x953F8E8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040584: unlock (qmutex.h:219) ==32174== by 0x4040584: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4040584: beginTest (qtestcase.cpp:1003) ==32174== by 0x4040584: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1113) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous read of size 8 by thread #2 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8FDC: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:227) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953F8E8 was first observed ==32174== at 0x4C36796: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040A25: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A25: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x953F8E8 by thread #2 ==32174== Locks held: 1, at address 0x953F8E8 ==32174== at 0x4EF1126: load (atomic_base.h:713) ==32174== by 0x4EF1126: load (atomic:452) ==32174== by 0x4EF1126: loadAcquire (qatomic_cxx11.h:239) ==32174== by 0x4EF1126: loadAcquire (qbasicatomic.h:245) ==32174== by 0x4EF1126: QBasicMutex::isRecursive() const (qmutex.cpp:363) ==32174== by 0x4EF8EFE: isRecursive (qmutex.h:162) ==32174== by 0x4EF8EFE: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:216) ==32174== by 0x4EF910C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:209) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040584: unlock (qmutex.h:219) ==32174== by 0x4040584: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4040584: beginTest (qtestcase.cpp:1003) ==32174== by 0x4040584: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1113) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x953F8E8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF910C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:209) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4040584: unlock (qmutex.h:219) ==32174== by 0x4040584: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4040584: beginTest (qtestcase.cpp:1003) ==32174== by 0x4040584: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1113) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #3 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9541CC0 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== This conflicts with a previous read of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0D34: QMutexLocker (qmutex.h:206) ==32174== by 0x4EF0D34: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF1593: exchange (atomic_base.h:730) ==32174== by 0x4EF1593: exchange (atomic:461) ==32174== by 0x4EF1593: fetchAndStoreAcquire (qatomic_cxx11.h:326) ==32174== by 0x4EF1593: fetchAndStoreAcquire (qbasicatomic.h:275) ==32174== by 0x4EF1593: lockInternal_helper (qmutex_linux.cpp:147) ==32174== by 0x4EF1593: QBasicMutex::lockInternal() (qmutex_linux.cpp:159) ==32174== by 0x4EF1639: QMutex::lock() (qmutex.cpp:227) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0D34: QMutexLocker (qmutex.h:206) ==32174== by 0x4EF0D34: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFDCA: QMutexLocker (qmutex.h:206) ==32174== by 0x4EEFDCA: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFE31: unlock (qmutex.h:219) ==32174== by 0x4EEFE31: QThreadPrivate::finish(void*) (qthread_unix.cpp:399) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFEA8: relock (qmutex.h:227) ==32174== by 0x4EEFEA8: QThreadPrivate::finish(void*) (qthread_unix.cpp:403) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFEBC: unlock (qmutex.h:219) ==32174== by 0x4EEFEBC: QThreadPrivate::finish(void*) (qthread_unix.cpp:408) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #4 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x736C938 by thread #4 ==32174== Locks held: none ==32174== at 0x70A1A8E: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121444: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70A1882: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x736c938 is in the BSS segment of /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9540F88 by thread #4 ==32174== Locks held: none ==32174== at 0x70C2C13: g_slist_last (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C5E: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121444: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70C2788: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Address 0x9540f88 is 8 bytes inside a block of size 16 alloc'd ==32174== at 0x4C30F2F: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x70A98D8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C16F5: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C43: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1B3C: g_main_context_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A33C4: g_main_context_push_thread_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121466: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:317) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== Block was alloc'd by thread #2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9540F88 by thread #4 ==32174== Locks held: none ==32174== at 0x70C2C5F: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121444: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70C2788: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Address 0x9540f88 is 8 bytes inside a block of size 16 alloc'd ==32174== at 0x4C30F2F: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x70A98D8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C16F5: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C43: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1B3C: g_main_context_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A33C4: g_main_context_push_thread_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121466: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:317) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== Block was alloc'd by thread #2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x736C938 by thread #4 ==32174== Locks held: none ==32174== at 0x70A1AA4: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121444: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70A1882: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x736c938 is in the BSS segment of /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x736C938 by thread #4 ==32174== Locks held: none ==32174== at 0x70A186C: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70A1882: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x736c938 is in the BSS segment of /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9540F88 by thread #4 ==32174== Locks held: none ==32174== at 0x70C2758: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70C2788: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Address 0x9540f88 is 8 bytes inside a block of size 16 alloc'd ==32174== at 0x4C30F2F: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x70A98D8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C16F5: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C43: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1B3C: g_main_context_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A33C4: g_main_context_push_thread_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121466: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:317) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== Block was alloc'd by thread #2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9540F88 by thread #4 ==32174== Locks held: none ==32174== at 0x70C2788: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70C2788: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Address 0x9540f88 is 8 bytes inside a block of size 16 alloc'd ==32174== at 0x4C30F2F: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x70A98D8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C16F5: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C43: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1B3C: g_main_context_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A33C4: g_main_context_push_thread_default (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121466: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:317) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== Block was alloc'd by thread #2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x736C938 by thread #4 ==32174== Locks held: none ==32174== at 0x70A1882: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x70A1882: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x736c938 is in the BSS segment of /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541CC0 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0973: QMutexLocker (qmutex.h:206) ==32174== by 0x4EF0973: QThread::wait(unsigned long) (qthread_unix.cpp:766) ==32174== by 0x1217CC: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2149) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #3 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9541cc0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #10 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9543450 by thread #10 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous read of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8FDC: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:227) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4EF0A78: QThread::wait(unsigned long) (qthread_unix.cpp:777) ==32174== by 0x1217CC: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2149) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== Address 0x9543450 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9543450 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0A8A: unlock (qmutex.h:219) ==32174== by 0x4EF0A8A: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0A8A: QThread::wait(unsigned long) (qthread_unix.cpp:766) ==32174== by 0x1217CC: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2149) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #10 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543450 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9543450 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0A8A: unlock (qmutex.h:219) ==32174== by 0x4EF0A8A: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0A8A: QThread::wait(unsigned long) (qthread_unix.cpp:766) ==32174== by 0x1217CC: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2149) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #10 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543450 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9543450 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEE2BB: QMutexLocker (qmutex.h:206) ==32174== by 0x4EEE2BB: QThread::~QThread() (qthread.cpp:441) ==32174== by 0x121D3E: ~MatcherThread (tst_qregularexpression.cpp:2069) ==32174== by 0x121D3E: MatcherThread::~MatcherThread() (tst_qregularexpression.cpp:2069) ==32174== by 0x1245D1: void qDeleteAll(MatcherThread* const*, MatcherThread* const*) (qalgorithms.h:320) ==32174== by 0x1217FF: qDeleteAll > (qalgorithms.h:328) ==32174== by 0x1217FF: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2151) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #10 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543450 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9543450 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEE3FA: unlock (qmutex.h:219) ==32174== by 0x4EEE3FA: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEE3FA: QThread::~QThread() (qthread.cpp:441) ==32174== by 0x121D3E: ~MatcherThread (tst_qregularexpression.cpp:2069) ==32174== by 0x121D3E: MatcherThread::~MatcherThread() (tst_qregularexpression.cpp:2069) ==32174== by 0x1245D1: void qDeleteAll(MatcherThread* const*, MatcherThread* const*) (qalgorithms.h:320) ==32174== by 0x1217FF: qDeleteAll > (qalgorithms.h:328) ==32174== by 0x1217FF: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2151) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #10 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543450 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9543598 by thread #10 ==32174== Locks held: none ==32174== at 0x4EEF283: load (atomic_base.h:713) ==32174== by 0x4EEF283: load (atomic:452) ==32174== by 0x4EEF283: loadAcquire (qatomic_cxx11.h:239) ==32174== by 0x4EEF283: loadAcquire (qbasicatomic.h:245) ==32174== by 0x4EEF283: operator QBasicAtomicPointer::Type (qbasicatomic.h:241) ==32174== by 0x4EEF283: QThreadData::~QThreadData() (qthread.cpp:76) ==32174== by 0x4EEF4A0: QThreadData::deref() (qthread.cpp:116) ==32174== by 0x4EEFFBD: destroy_current_thread_data(void*) (qthread_unix.cpp:148) ==32174== by 0x5D3E407: __nptl_deallocate_tsd.part.5 (pthread_create.c:300) ==32174== by 0x5D3F81A: __nptl_deallocate_tsd (futex-internal.h:200) ==32174== by 0x5D3F81A: start_thread (pthread_create.c:473) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: 1, at addresses (and 1 that can't be shown) ==32174== at 0x4EEE32C: store (atomic_base.h:691) ==32174== by 0x4EEE32C: store (atomic:443) ==32174== by 0x4EEE32C: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EEE32C: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EEE32C: operator= (qatomic.h:188) ==32174== by 0x4EEE32C: QThread::~QThread() (qthread.cpp:450) ==32174== by 0x121D3E: ~MatcherThread (tst_qregularexpression.cpp:2069) ==32174== by 0x121D3E: MatcherThread::~MatcherThread() (tst_qregularexpression.cpp:2069) ==32174== by 0x1245D1: void qDeleteAll(MatcherThread* const*, MatcherThread* const*) (qalgorithms.h:320) ==32174== by 0x1217FF: qDeleteAll > (qalgorithms.h:328) ==32174== by 0x1217FF: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2151) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== Address 0x9543598 is 56 bytes inside a block of size 120 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEEFA8: QThreadPrivate::QThreadPrivate(QThreadData*) (qthread.cpp:187) ==32174== by 0x4EEF03B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during write of size 8 at 0x9543598 by thread #10 ==32174== Locks held: none ==32174== at 0x4EEF2A6: store (atomic_base.h:691) ==32174== by 0x4EEF2A6: store (atomic:443) ==32174== by 0x4EEF2A6: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EEF2A6: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EEF2A6: operator= (qatomic.h:188) ==32174== by 0x4EEF2A6: QThreadData::~QThreadData() (qthread.cpp:89) ==32174== by 0x4EEF4A0: QThreadData::deref() (qthread.cpp:116) ==32174== by 0x4EEFFBD: destroy_current_thread_data(void*) (qthread_unix.cpp:148) ==32174== by 0x5D3E407: __nptl_deallocate_tsd.part.5 (pthread_create.c:300) ==32174== by 0x5D3F81A: __nptl_deallocate_tsd (futex-internal.h:200) ==32174== by 0x5D3F81A: start_thread (pthread_create.c:473) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: 1, at addresses (and 1 that can't be shown) ==32174== at 0x4EEE32C: store (atomic_base.h:691) ==32174== by 0x4EEE32C: store (atomic:443) ==32174== by 0x4EEE32C: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EEE32C: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EEE32C: operator= (qatomic.h:188) ==32174== by 0x4EEE32C: QThread::~QThread() (qthread.cpp:450) ==32174== by 0x121D3E: ~MatcherThread (tst_qregularexpression.cpp:2069) ==32174== by 0x121D3E: MatcherThread::~MatcherThread() (tst_qregularexpression.cpp:2069) ==32174== by 0x1245D1: void qDeleteAll(MatcherThread* const*, MatcherThread* const*) (qalgorithms.h:320) ==32174== by 0x1217FF: qDeleteAll > (qalgorithms.h:328) ==32174== by 0x1217FF: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2151) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== Address 0x9543598 is 56 bytes inside a block of size 120 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEEFA8: QThreadPrivate::QThreadPrivate(QThreadData*) (qthread.cpp:187) ==32174== by 0x4EEF03B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #20 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9541D90 by thread #20 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF00: relock (qmutex.h:227) ==32174== by 0x4EEFF00: QThreadPrivate::finish(void*) (qthread_unix.cpp:411) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9541d90 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #30 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #31 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9544D30 by thread #30 ==32174== Locks held: none ==32174== at 0x70C2750: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9544d30 is 0 bytes inside a block of size 16 alloc'd ==32174== at 0x4C30F2F: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x70A98D8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C16F5: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C43: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121444: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Block was alloc'd by thread #31 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9544D38 by thread #31 ==32174== Locks held: none ==32174== at 0x70C2784: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #30 ==32174== Locks held: none ==32174== at 0x70C2788: g_slist_remove (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A187A: g_main_context_unref (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121C3D: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:400) ==32174== by 0x5121C90: QEventDispatcherGlib::~QEventDispatcherGlib() (qeventdispatcher_glib.cpp:402) ==32174== by 0x4EEFEC7: QThreadPrivate::finish(void*) (qthread_unix.cpp:410) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Address 0x9544d38 is 8 bytes inside a block of size 16 alloc'd ==32174== at 0x4C30F2F: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x70A98D8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C16F5: g_slice_alloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70C2C43: g_slist_append (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x70A1A9C: g_main_context_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5600.2) ==32174== by 0x5121444: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312) ==32174== by 0x51215EF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==32174== by 0x4EF01B9: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:290) ==32174== by 0x4EEE4B7: QThreadData::createEventDispatcher() (qthread.cpp:122) ==32174== by 0x4EF0DF8: ensureEventDispatcher (qthread_p.h:264) ==32174== by 0x4EF0DF8: QThreadPrivate::start(void*) (qthread_unix.cpp:342) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== Block was alloc'd by thread #31 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #34 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x9543380 was first observed ==32174== at 0x4C36796: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEEF3E: QThreadPrivate::QThreadPrivate(QThreadData*) (qthread.cpp:166) ==32174== by 0x4EEF03B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x9543380 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x9543380 by thread #1 ==32174== Locks held: 1, at address 0x9543380 ==32174== at 0x4EF1126: load (atomic_base.h:713) ==32174== by 0x4EF1126: load (atomic:452) ==32174== by 0x4EF1126: loadAcquire (qatomic_cxx11.h:239) ==32174== by 0x4EF1126: loadAcquire (qbasicatomic.h:245) ==32174== by 0x4EF1126: QBasicMutex::isRecursive() const (qmutex.cpp:363) ==32174== by 0x4EF8EFE: isRecursive (qmutex.h:162) ==32174== by 0x4EF8EFE: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:216) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4EF0A78: QThread::wait(unsigned long) (qthread_unix.cpp:777) ==32174== by 0x1217CC: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2149) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #34 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543380 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x95433F0 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4EEEF89: QThreadPrivate::QThreadPrivate(QThreadData*) (qthread.cpp:166) ==32174== by 0x4EEF03B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== Address 0x95433f0 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4EEEF89: QThreadPrivate::QThreadPrivate(QThreadData*) (qthread.cpp:166) ==32174== by 0x4EEF03B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x9543380 by thread #1 ==32174== Locks held: 1, at address 0x95433F0 ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF913C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:208) ==32174== by 0x4EF0A78: QThread::wait(unsigned long) (qthread_unix.cpp:777) ==32174== by 0x1217CC: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2149) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #34 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0DEE: unlock (qmutex.h:219) ==32174== by 0x4EF0DEE: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0DEE: QThreadPrivate::start(void*) (qthread_unix.cpp:328) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543380 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #103 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 4 at 0x9542CD0 by thread #103 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFDCA: QMutexLocker (qmutex.h:206) ==32174== by 0x4EEFDCA: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9542cd0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 4 at 0x9542CD0 by thread #103 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFE31: unlock (qmutex.h:219) ==32174== by 0x4EEFE31: QThreadPrivate::finish(void*) (qthread_unix.cpp:399) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9542cd0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 4 at 0x9542CD0 by thread #103 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFEA8: relock (qmutex.h:227) ==32174== by 0x4EEFEA8: QThreadPrivate::finish(void*) (qthread_unix.cpp:403) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9542cd0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 4 at 0x9542CD0 by thread #103 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFEBC: unlock (qmutex.h:219) ==32174== by 0x4EEFEBC: QThreadPrivate::finish(void*) (qthread_unix.cpp:408) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9542cd0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 4 at 0x9542CD0 by thread #103 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF00: relock (qmutex.h:227) ==32174== by 0x4EEFF00: QThreadPrivate::finish(void*) (qthread_unix.cpp:411) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9542cd0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 4 at 0x9542CD0 by thread #103 ==32174== Locks held: none ==32174== at 0x4EF14A8: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF14A8: compare_exchange_strong (atomic:498) ==32174== by 0x4EF14A8: testAndSetRelease (qatomic_cxx11.h:299) ==32174== by 0x4EF14A8: testAndSetRelease (qbasicatomic.h:265) ==32174== by 0x4EF14A8: fastTryUnlock (qmutex.h:110) ==32174== by 0x4EF14A8: QMutex::unlock() (qmutex.cpp:335) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== ==32174== This conflicts with a previous write of size 4 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF0489: unlock (qmutex.h:219) ==32174== by 0x4EF0489: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EF0489: QThread::start(QThread::Priority) (qthread_unix.cpp:641) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== Address 0x9542cd0 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---Thread-Announcement------------------------------------------ ==32174== ==32174== Thread #290 was created ==32174== at 0x5A6887E: clone (clone.S:71) ==32174== by 0x5D3FEC4: create_thread (createthread.c:100) ==32174== by 0x5D3FEC4: pthread_create@@GLIBC_2.2.5 (pthread_create.c:797) ==32174== by 0x4C36A27: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF043E: QThread::start(QThread::Priority) (qthread_unix.cpp:724) ==32174== by 0x121694: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2144) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Possible data race during read of size 8 at 0x9543670 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF116F: load (atomic_base.h:713) ==32174== by 0x4EF116F: load (atomic:452) ==32174== by 0x4EF116F: load (qatomic_cxx11.h:227) ==32174== by 0x4EF116F: load (qbasicatomic.h:239) ==32174== by 0x4EF116F: QMutex::~QMutex() (qmutex.cpp:192) ==32174== by 0x4C36866: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF4DE: QThreadPrivate::~QThreadPrivate() (qthread.cpp:190) ==32174== by 0x4EEF4F2: QThreadPrivate::~QThreadPrivate() (qthread.cpp:193) ==32174== by 0x50FA353: cleanup (qscopedpointer.h:60) ==32174== by 0x50FA353: ~QScopedPointer (qscopedpointer.h:107) ==32174== by 0x50FA353: QObject::~QObject() (qobject.cpp:889) ==32174== by 0x4EEE346: QThread::~QThread() (qthread.cpp:437) ==32174== by 0x121D3E: ~MatcherThread (tst_qregularexpression.cpp:2069) ==32174== by 0x121D3E: MatcherThread::~MatcherThread() (tst_qregularexpression.cpp:2069) ==32174== by 0x1245D1: void qDeleteAll(MatcherThread* const*, MatcherThread* const*) (qalgorithms.h:320) ==32174== by 0x1217FF: qDeleteAll > (qalgorithms.h:328) ==32174== by 0x1217FF: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2151) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #290 ==32174== Locks held: none ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEFF34: unlock (qmutex.h:219) ==32174== by 0x4EEFF34: ~QMutexLocker (qmutex.h:213) ==32174== by 0x4EEFF34: QThreadPrivate::finish(void*) (qthread_unix.cpp:394) ==32174== by 0x4EF0FD7: ~__pthread_cleanup_class (pthread.h:562) ==32174== by 0x4EF0FD7: QThreadPrivate::start(void*) (qthread_unix.cpp:318) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x5D3F6DA: start_thread (pthread_create.c:463) ==32174== by 0x5A6888E: clone (clone.S:95) ==32174== Address 0x9543670 is 112 bytes inside a block of size 160 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EEF02B: QThread::QThread(QObject*) (qthread.cpp:410) ==32174== by 0x121662: MatcherThread (tst_qregularexpression.cpp:2075) ==32174== by 0x121662: tst_QRegularExpression::threadSafety() (tst_qregularexpression.cpp:2143) ==32174== by 0x121A38: tst_QRegularExpression::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qregularexpression.moc:223) ==32174== by 0x50CD9D2: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2305) ==32174== by 0x403F787: invoke (qmetaobject.h:123) ==32174== by 0x403F787: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:915) ==32174== by 0x4040579: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1114) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ---------------------------------------------------------------- ==32174== ==32174== Lock at 0x953FC00 was first observed ==32174== at 0x4C37F2A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D17: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:176) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Address 0x953fc00 is 0 bytes inside a block of size 96 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8D07: QWaitCondition::QWaitCondition() (qwaitcondition_unix.cpp:175) ==32174== by 0x4040A31: WatchDog (qtestcase.cpp:987) ==32174== by 0x4040A31: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== Possible data race during read of size 8 at 0x953F8E8 by thread #1 ==32174== Locks held: none ==32174== at 0x4EF1622: compare_exchange_strong (atomic_base.h:752) ==32174== by 0x4EF1622: compare_exchange_strong (atomic:498) ==32174== by 0x4EF1622: testAndSetAcquire (qatomic_cxx11.h:290) ==32174== by 0x4EF1622: testAndSetAcquire (qbasicatomic.h:263) ==32174== by 0x4EF1622: fastTryLock (qmutex.h:107) ==32174== by 0x4EF1622: QMutex::lock() (qmutex.cpp:222) ==32174== by 0x4C361E7: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40405EC: QMutexLocker (qmutex.h:206) ==32174== by 0x40405EC: testFinished (qtestcase.cpp:1009) ==32174== by 0x40405EC: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1116) ==32174== by 0x4040CC1: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1456) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== ==32174== This conflicts with a previous write of size 8 by thread #2 ==32174== Locks held: 1, at address 0x953FC00 ==32174== at 0x4EF1413: store (atomic_base.h:691) ==32174== by 0x4EF1413: store (atomic:443) ==32174== by 0x4EF1413: storeRelease (qatomic_cxx11.h:257) ==32174== by 0x4EF1413: storeRelease (qbasicatomic.h:246) ==32174== by 0x4EF1413: QBasicMutex::unlockInternal() (qmutex_linux.cpp:178) ==32174== by 0x4EF14BF: QMutex::unlock() (qmutex.cpp:340) ==32174== by 0x4C36357: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x4EF8F37: QWaitCondition::wait(QMutex*, QDeadlineTimer) (qwaitcondition_unix.cpp:223) ==32174== by 0x4EF910C: QWaitCondition::wait(QMutex*, unsigned long) (qwaitcondition_unix.cpp:209) ==32174== by 0x4041BDE: QTest::WatchDog::run() (qtestcase.cpp:1021) ==32174== by 0x4EF0FD0: QThreadPrivate::start(void*) (qthread_unix.cpp:361) ==32174== by 0x4C36C26: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== Address 0x953f8e8 is 24 bytes inside a block of size 40 alloc'd ==32174== at 0x4C3159F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==32174== by 0x40409FA: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1438) ==32174== by 0x404133B: QTest::qRun() (qtestcase.cpp:1894) ==32174== by 0x404149B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1783) ==32174== by 0x10F0D3: main (tst_qregularexpression.cpp:2247) ==32174== Block was alloc'd by thread #1 ==32174== ==32174== ==32174== For counts of detected and suppressed errors, rerun with: -v ==32174== Use --history-level=approx or =none to gain increased speed, at ==32174== the cost of reduced accuracy of conflicting-access information ==32174== ERROR SUMMARY: 6522 errors from 50 contexts (suppressed: 5655 from 71)