valgrind --tool=memcheck --leak-check=full ./tst_qfuture ==6615== Memcheck, a memory error detector ==6615== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. ==6615== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info ==6615== Command: ./tst_qfuture ==6615== Parent PID: 6215 ==6615== ==6615== ==6615== HEAP SUMMARY: ==6615== in use at exit: 8,808 bytes in 32 blocks ==6615== total heap usage: 1,383 allocs, 1,351 frees, 115,654 bytes allocated ==6615== ==6615== 8 bytes in 1 blocks are definitely lost in loss record 4 of 26 ==6615== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==6615== by 0x41417D: QtConcurrent::ResultStore::addResults(int, QVector const*, int) (qtconcurrentresultstore.h:179) ==6615== by 0x411EC2: QtConcurrent::ResultStore::addCanceledResults(int, int) (qtconcurrentresultstore.h:190) ==6615== by 0x409277: tst_QFuture::resultStore() (tst_qfuture.cpp:481) ==6615== by 0x40F738: tst_QFuture::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qfuture.moc:129) ==6615== by 0x54DA3ED: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2146) ==6615== by 0x54D98EE: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1463) ==6615== by 0x4E416A4: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:399) ==6615== by 0x4E3D53B: QTest::qInvokeTestMethodDataEntry(char*) (qtestcase.cpp:1651) ==6615== by 0x4E3DD02: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:1768) ==6615== by 0x4E3E59E: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:1922) ==6615== by 0x4E3EAAE: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:2137) ==6615== ==6615== 8 bytes in 1 blocks are definitely lost in loss record 5 of 26 ==6615== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==6615== by 0x41417D: QtConcurrent::ResultStore::addResults(int, QVector const*, int) (qtconcurrentresultstore.h:179) ==6615== by 0x411EC2: QtConcurrent::ResultStore::addCanceledResults(int, int) (qtconcurrentresultstore.h:190) ==6615== by 0x4089A2: tst_QFuture::resultStore() (tst_qfuture.cpp:432) ==6615== by 0x40F738: tst_QFuture::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qfuture.moc:129) ==6615== by 0x54DA3ED: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2146) ==6615== by 0x54D98EE: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1463) ==6615== by 0x4E416A4: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:399) ==6615== by 0x4E3D53B: QTest::qInvokeTestMethodDataEntry(char*) (qtestcase.cpp:1651) ==6615== by 0x4E3DD02: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:1768) ==6615== by 0x4E3E59E: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:1922) ==6615== by 0x4E3EAAE: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:2137) ==6615== ==6615== 8 bytes in 1 blocks are definitely lost in loss record 6 of 26 ==6615== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==6615== by 0x41417D: QtConcurrent::ResultStore::addResults(int, QVector const*, int) (qtconcurrentresultstore.h:179) ==6615== by 0x411EC2: QtConcurrent::ResultStore::addCanceledResults(int, int) (qtconcurrentresultstore.h:190) ==6615== by 0x408ADB: tst_QFuture::resultStore() (tst_qfuture.cpp:442) ==6615== by 0x40F738: tst_QFuture::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qfuture.moc:129) ==6615== by 0x54DA3ED: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2146) ==6615== by 0x54D98EE: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1463) ==6615== by 0x4E416A4: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:399) ==6615== by 0x4E3D53B: QTest::qInvokeTestMethodDataEntry(char*) (qtestcase.cpp:1651) ==6615== by 0x4E3DD02: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:1768) ==6615== by 0x4E3E59E: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:1922) ==6615== by 0x4E3EAAE: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:2137) ==6615== ==6615== 1,488 bytes in 3 blocks are possibly lost in loss record 25 of 26 ==6615== at 0x4C29BE8: memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==6615== by 0x4C29C97: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==6615== by 0x71D70C9: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3) ==6615== by 0x721E0F3: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3) ==6615== by 0x721E1E5: g_slice_alloc0 (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3) ==6615== by 0x7226ED9: g_thread_self (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3) ==6615== by 0x72041CA: g_main_context_acquire (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3) ==6615== by 0x720427C: g_main_context_push_thread_default (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3) ==6615== by 0x553F410: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:316) ==6615== by 0x553F6D4: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:358) ==6615== by 0x54CD157: QCoreApplicationPrivate::createEventDispatcher() (qcoreapplication.cpp:354) ==6615== by 0x54CDBA2: QCoreApplication::init() (qcoreapplication.cpp:584) ==6615== ==6615== LEAK SUMMARY: ==6615== definitely lost: 24 bytes in 3 blocks ==6615== indirectly lost: 0 bytes in 0 blocks ==6615== possibly lost: 1,488 bytes in 3 blocks ==6615== still reachable: 7,296 bytes in 26 blocks ==6615== suppressed: 0 bytes in 0 blocks ==6615== Reachable blocks (those to which a pointer was found) are not shown. ==6615== To see them, rerun with: --leak-check=full --show-reachable=yes ==6615== ==6615== For counts of detected and suppressed errors, rerun with: -v ==6615== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 2 from 2)