Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
5.15.0 Alpha
-
None
-
-
ba5e2ce49a43c7d68e2ffa57b9e7f8d5d7fafe2f (qt/qtbase/5.15)
Description
Some applications give me random results when using QProcess.
It can be sometimes reproduced by tst_qprocess. Here's an output by valgrind, maybe it is of help.
$ valgrind ./tst_qprocess simpleStart ==59383== Memcheck, a memory error detector ==59383== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==59383== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==59383== Command: ./tst_qprocess simpleStart ==59383== ********* Start testing of tst_QProcess ********* Config: Using QtTest library 5.15.0, Qt 5.15.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 9.2.1 20200130) PASS : tst_QProcess::initTestCase() ==59383== Syscall param waitid(infop) points to unaddressable byte(s) ==59383== at 0x5480F8D: syscall (in /usr/lib/libc-2.31.so) ==59383== by 0x4CA4DEE: sys_waitid (forkfd_linux.c:61) ==59383== by 0x4CA4DEE: detect_clone_pidfd_support (forkfd_linux.c:121) ==59383== by 0x4CA4DEE: system_forkfd (forkfd_linux.c:137) ==59383== by 0x4CA4DEE: forkfd (forkfd.c:623) ==59383== by 0x4C87AD9: QProcessPrivate::startProcess() (qprocess_unix.cpp:460) ==59383== by 0x4C82A77: QProcessPrivate::start(QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2246) ==59383== by 0x4C82C38: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2094) ==59383== by 0x4C82E10: QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2340) ==59383== by 0x1183EF: tst_QProcess::simpleStart() (tst_qprocess.cpp:265) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x4C87AE3: QProcessPrivate::startProcess() (qprocess_unix.cpp:462) ==59383== by 0x4C82A77: QProcessPrivate::start(QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2246) ==59383== by 0x4C82C38: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2094) ==59383== by 0x4C82E10: QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2340) ==59383== by 0x1183EF: tst_QProcess::simpleStart() (tst_qprocess.cpp:265) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== by 0x4863A8B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1842) ==59383== by 0x1133E9: main (tst_qprocess.cpp:2683) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x4C87E46: QProcessPrivate::startProcess() (qprocess_unix.cpp:477) ==59383== by 0x4C82A77: QProcessPrivate::start(QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2246) ==59383== by 0x4C82C38: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2094) ==59383== by 0x4C82E10: QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2340) ==59383== by 0x1183EF: tst_QProcess::simpleStart() (tst_qprocess.cpp:265) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== by 0x4863A8B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1842) ==59383== by 0x1133E9: main (tst_qprocess.cpp:2683) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x4C87B76: QProcessPrivate::startProcess() (qprocess_unix.cpp:490) ==59383== by 0x4C82A77: QProcessPrivate::start(QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2246) ==59383== by 0x4C82C38: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2094) ==59383== by 0x4C82E10: QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2340) ==59383== by 0x1183EF: tst_QProcess::simpleStart() (tst_qprocess.cpp:265) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== by 0x4863A8B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1842) ==59383== by 0x1133E9: main (tst_qprocess.cpp:2683) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x4D3FE81: QSocketNotifier::QSocketNotifier(long long, QSocketNotifier::Type, QObject*) (qsocketnotifier.cpp:152) ==59383== by 0x4C87C9E: QProcessPrivate::startProcess() (qprocess_unix.cpp:526) ==59383== by 0x4C82A77: QProcessPrivate::start(QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2246) ==59383== by 0x4C82C38: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2094) ==59383== by 0x4C82E10: QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2340) ==59383== by 0x1183EF: tst_QProcess::simpleStart() (tst_qprocess.cpp:265) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== by 0x4863A8B: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:1842) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x76F687C: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76F6BCD: g_source_add_poll (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x4D5F248: QEventDispatcherGlib::registerSocketNotifier(QSocketNotifier*) (qeventdispatcher_glib.cpp:477) ==59383== by 0x4D3FEA0: QSocketNotifier::QSocketNotifier(long long, QSocketNotifier::Type, QObject*) (qsocketnotifier.cpp:157) ==59383== by 0x4C87C9E: QProcessPrivate::startProcess() (qprocess_unix.cpp:526) ==59383== by 0x4C82A77: QProcessPrivate::start(QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2246) ==59383== by 0x4C82C38: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2094) ==59383== by 0x4C82E10: QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:2340) ==59383== by 0x1183EF: tst_QProcess::simpleStart() (tst_qprocess.cpp:265) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x76F3DDA: g_main_context_query (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD09C: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x4D5E7B0: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==59383== by 0x4D07970: QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>, int) (qcoreapplication.cpp:1314) ==59383== by 0x4D5A43D: QTest::qWait(int) (qtestsupport_core.cpp:104) ==59383== by 0x118936: tst_QProcess::simpleStart() (tst_qprocess.cpp:270) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== ==59383== Syscall param poll(ufds.fd) points to uninitialised byte(s) ==59383== at 0x547BABF: poll (in /usr/lib/libc-2.31.so) ==59383== by 0x76FD11F: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x4D5E7B0: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==59383== by 0x4D07970: QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>, int) (qcoreapplication.cpp:1314) ==59383== by 0x4D5A43D: QTest::qWait(int) (qtestsupport_core.cpp:104) ==59383== by 0x118936: tst_QProcess::simpleStart() (tst_qprocess.cpp:270) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== Address 0x79e1638 is 24 bytes inside a block of size 32 alloc'd ==59383== at 0x483977F: malloc (vg_replace_malloc.c:309) ==59383== by 0x76F58D9: g_malloc (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD196: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x4D5E7B0: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==59383== by 0x4D07970: QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>, int) (qcoreapplication.cpp:1314) ==59383== by 0x4D5A43D: QTest::qWait(int) (qtestsupport_core.cpp:104) ==59383== by 0x118936: tst_QProcess::simpleStart() (tst_qprocess.cpp:270) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x76FB787: g_main_context_check (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD0C7: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x4D5E7B0: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==59383== by 0x4D07970: QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>, int) (qcoreapplication.cpp:1314) ==59383== by 0x4D5A43D: QTest::qWait(int) (qtestsupport_core.cpp:104) ==59383== by 0x118936: tst_QProcess::simpleStart() (tst_qprocess.cpp:270) ==59383== by 0x4D15C55: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2294) ==59383== by 0x48622D2: invoke (qmetaobject.h:122) ==59383== by 0x48622D2: QTest::TestMethods::invokeTestOnData(int) const (qtestcase.cpp:938) ==59383== by 0x4862C8B: QTest::TestMethods::invokeTest(int, char const*, QTest::WatchDog*) const (qtestcase.cpp:1166) ==59383== by 0x48631F8: QTest::TestMethods::invokeTests(QObject*) const (qtestcase.cpp:1507) ==59383== by 0x48636C0: QTest::qRun() (qtestcase.cpp:1934) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x4C86932: QProcessPrivate::waitForDeadChild() (qprocess_unix.cpp:885) ==59383== by 0x4C82409: QProcessPrivate::_q_processDied() (qprocess.cpp:1128) ==59383== by 0x4C82741: QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qprocess.cpp:216) ==59383== by 0x4D3C68F: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3870) ==59383== by 0x4D3FDE0: QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (moc_qsocketnotifier.cpp:141) ==59383== by 0x4D40120: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:271) ==59383== by 0x4D0780E: doNotify (qcoreapplication.cpp:1151) ==59383== by 0x4D0780E: notify (qcoreapplication.cpp:1137) ==59383== by 0x4D0780E: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1061) ==59383== by 0x4D5F314: socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:107) ==59383== by 0x76FB39D: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1B0: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x4D5E7B0: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==59383== ==59383== Syscall param fcntl(fd) contains uninitialised byte(s) ==59383== at 0x547C4B4: __fcntl64_nocancel_adjusted (in /usr/lib/libc-2.31.so) ==59383== by 0x54779A7: fcntl (in /usr/lib/libc-2.31.so) ==59383== by 0x502D61E: fcntl@GLIBC_2.2.5 (in /usr/lib/libpthread-2.31.so) ==59383== by 0x4CA5530: system_forkfd_wait (forkfd_linux.c:169) ==59383== by 0x4CA5530: forkfd_wait (forkfd.c:810) ==59383== by 0x4C86959: QProcessPrivate::waitForDeadChild() (qprocess_unix.cpp:891) ==59383== by 0x4C82409: QProcessPrivate::_q_processDied() (qprocess.cpp:1128) ==59383== by 0x4C82741: QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qprocess.cpp:216) ==59383== by 0x4D3C68F: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3870) ==59383== by 0x4D3FDE0: QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (moc_qsocketnotifier.cpp:141) ==59383== by 0x4D40120: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:271) ==59383== by 0x4D0780E: doNotify (qcoreapplication.cpp:1151) ==59383== by 0x4D0780E: notify (qcoreapplication.cpp:1137) ==59383== by 0x4D0780E: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1061) ==59383== by 0x4D5F314: socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:107) ==59383== ==59383== Syscall param sys_waitid(pid) contains uninitialised byte(s) ==59383== at 0x5480F8D: syscall (in /usr/lib/libc-2.31.so) ==59383== by 0x4CA5568: sys_waitid (forkfd_linux.c:61) ==59383== by 0x4CA5568: system_forkfd_wait (forkfd_linux.c:175) ==59383== by 0x4CA5568: forkfd_wait (forkfd.c:810) ==59383== by 0x4C86959: QProcessPrivate::waitForDeadChild() (qprocess_unix.cpp:891) ==59383== by 0x4C82409: QProcessPrivate::_q_processDied() (qprocess.cpp:1128) ==59383== by 0x4C82741: QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qprocess.cpp:216) ==59383== by 0x4D3C68F: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3870) ==59383== by 0x4D3FDE0: QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (moc_qsocketnotifier.cpp:141) ==59383== by 0x4D40120: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:271) ==59383== by 0x4D0780E: doNotify (qcoreapplication.cpp:1151) ==59383== by 0x4D0780E: notify (qcoreapplication.cpp:1137) ==59383== by 0x4D0780E: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1061) ==59383== by 0x4D5F314: socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:107) ==59383== by 0x76FB39D: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1B0: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== ==59383== Conditional jump or move depends on uninitialised value(s) ==59383== at 0x4D3FF23: QSocketNotifier::setEnabled(bool) (qsocketnotifier.cpp:233) ==59383== by 0x4D3FFB8: QSocketNotifier::~QSocketNotifier() (qsocketnotifier.cpp:166) ==59383== by 0x4D3FFD8: QSocketNotifier::~QSocketNotifier() (qsocketnotifier.cpp:167) ==59383== by 0x4C86985: QProcessPrivate::waitForDeadChild() (qprocess_unix.cpp:896) ==59383== by 0x4C82409: QProcessPrivate::_q_processDied() (qprocess.cpp:1128) ==59383== by 0x4C82741: QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qprocess.cpp:216) ==59383== by 0x4D3C68F: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3870) ==59383== by 0x4D3FDE0: QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (moc_qsocketnotifier.cpp:141) ==59383== by 0x4D40120: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:271) ==59383== by 0x4D0780E: doNotify (qcoreapplication.cpp:1151) ==59383== by 0x4D0780E: notify (qcoreapplication.cpp:1137) ==59383== by 0x4D0780E: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1061) ==59383== by 0x4D5F314: socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:107) ==59383== by 0x76FB39D: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== ==59383== Syscall param close(fd) contains uninitialised byte(s) ==59383== at 0x502D7BB: close (in /usr/lib/libpthread-2.31.so) ==59383== by 0x4C869AC: QProcessPrivate::waitForDeadChild() (qprocess_unix.cpp:899) ==59383== by 0x4C82409: QProcessPrivate::_q_processDied() (qprocess.cpp:1128) ==59383== by 0x4C82741: QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qprocess.cpp:216) ==59383== by 0x4D3C68F: void doActivate<false>(QObject*, int, void**) (qobject.cpp:3870) ==59383== by 0x4D3FDE0: QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (moc_qsocketnotifier.cpp:141) ==59383== by 0x4D40120: QSocketNotifier::event(QEvent*) (qsocketnotifier.cpp:271) ==59383== by 0x4D0780E: doNotify (qcoreapplication.cpp:1151) ==59383== by 0x4D0780E: notify (qcoreapplication.cpp:1137) ==59383== by 0x4D0780E: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1061) ==59383== by 0x4D5F314: socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:107) ==59383== by 0x76FB39D: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1B0: ??? (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== by 0x76FD1F0: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.6200.4) ==59383== PASS : tst_QProcess::simpleStart() PASS : tst_QProcess::cleanupTestCase() Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 243ms ********* Finished testing of tst_QProcess ********* ==59383== ==59383== HEAP SUMMARY: ==59383== in use at exit: 19,504 bytes in 25 blocks ==59383== total heap usage: 410 allocs, 385 frees, 390,658 bytes allocated ==59383== ==59383== LEAK SUMMARY: ==59383== definitely lost: 0 bytes in 0 blocks ==59383== indirectly lost: 0 bytes in 0 blocks ==59383== possibly lost: 0 bytes in 0 blocks ==59383== still reachable: 19,504 bytes in 25 blocks ==59383== suppressed: 0 bytes in 0 blocks ==59383== Rerun with --leak-check=full to see details of leaked memory ==59383== ==59383== Use --track-origins=yes to see where uninitialised values come from ==59383== For lists of detected and suppressed errors, rerun with: -s ==59383== ERROR SUMMARY: 18 errors from 14 contexts (suppressed: 0 from 0)