Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-26333

Crash on shutdown inside QmakeProjectManager

    XMLWordPrintable

Details

    Description

      Load a qmake based project and shutdown Creator while it's still being parsed.

      Thread 1 (Thread 0x7fe25ec6ff40 (LWP 340727)):
      #0  0x00007fe263351892 in QProcessPrivate::killProcess (this=0x3) at /home/jarek/dev/qt-62/qtbase/src/corelib/io/qprocess_unix.cpp:752
      #1  0x00007fe263346f1c in QProcess::kill (this=0x7fe206ac4f20) at /home/jarek/dev/qt-62/qtbase/src/corelib/io/qprocess.cpp:2248
      #2  0x00007fe23c1f7b23 in QMakeGlobals::killProcesses (this=0x8317b20) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeglobals.cpp:98
      #3  0x00007fe22589a7fe in operator() (__closure=0x3ee3eb0) at /home/jarek/dev/creator-6/src/plugins/qmakeprojectmanager/qmakeproject.cpp:678
      #4  0x00007fe2258a61ae in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, QmakeProjectManager::QmakeBuildSystem::asyncUpdate()::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7ffc701f4138) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qobjectdefs_impl.h:146
      #5  0x00007fe2258a59e8 in QtPrivate::Functor<QmakeProjectManager::QmakeBuildSystem::asyncUpdate()::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffc701f4138) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qobjectdefs_impl.h:256
      #6  0x00007fe2258a4a76 in QtPrivate::QFunctorSlotObject<QmakeProjectManager::QmakeBuildSystem::asyncUpdate()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x3ee3ea0, r=0x403bf70, a=0x7ffc701f4138, ret=0x0) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qobjectdefs_impl.h:420
      #7  0x00007fe263084c91 in QtPrivate::QSlotObjectBase::call (this=0x3ee3ea0, r=0x403bf70, a=0x7ffc701f4138) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qobjectdefs_impl.h:375
      #8  0x00007fe2630ea443 in doActivate<false> (sender=0x3ee3e40, signal_index=5, argv=0x7ffc701f4138) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qobject.cpp:3904
      #9  0x00007fe2630e2da9 in QMetaObject::activate (sender=0x3ee3e40, m=0x7fe2637078e0 <QFutureWatcherBase::staticMetaObject>, local_signal_index=2, argv=0x0) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qobject.cpp:3964
      #10 0x00007fe2632ca8ff in QFutureWatcherBase::canceled (this=0x3ee3e40) at qtbase/src/corelib/Core_autogen/include/moc_qfuturewatcher.cpp:319
      #11 0x00007fe2632c9d83 in QFutureWatcherBasePrivate::sendCallOutEvent (this=0x83ddc80, event=0x481e360) at /home/jarek/dev/qt-62/qtbase/src/corelib/thread/qfuturewatcher.cpp:533
      #12 0x00007fe2632c9745 in QFutureWatcherBase::event (this=0x3ee3e40, event=0x481e360) at /home/jarek/dev/qt-62/qtbase/src/corelib/thread/qfuturewatcher.cpp:428
      #13 0x00007fe26477e388 in QApplicationPrivate::notify_helper (this=0x216f680, receiver=0x3ee3e40, e=0x481e360) at /home/jarek/dev/qt-62/qtbase/src/widgets/kernel/qapplication.cpp:3401
      #14 0x00007fe26477b935 in QApplication::notify (this=0x7ffc701f51d0, receiver=0x3ee3e40, e=0x481e360) at /home/jarek/dev/qt-62/qtbase/src/widgets/kernel/qapplication.cpp:2760
      #15 0x00007fe263066c28 in QCoreApplication::notifyInternal2 (receiver=0x3ee3e40, event=0x481e360) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcoreapplication.cpp:1063
      #16 0x00007fe263067600 in QCoreApplication::sendEvent (receiver=0x3ee3e40, event=0x481e360) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcoreapplication.cpp:1471
      #17 0x00007fe26306831b in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x2176220) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcoreapplication.cpp:1830
      #18 0x00007fe263067c86 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcoreapplication.cpp:1689
      #19 0x00007fe2633d0c48 in postEventSourceDispatch (s=0x21d3c20) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:279
      #20 0x00007fe25fd444cf in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
      #21 0x00007fe25fd984f8 in g_main_context_iterate.constprop () from /usr/lib64/libglib-2.0.so.0
      #22 0x00007fe25fd41c03 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
      #23 0x00007fe2633d14aa in QEventDispatcherGlib::processEvents (this=0x21d3190, flags=...) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:429
      #24 0x00007fe2516836ec in QXcbGlibEventDispatcher::processEvents (this=0x21d3190, flags=...) at /home/jarek/dev/qt-62/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:132
      #25 0x00007fe263079313 in QEventLoop::processEvents (this=0x7ffc701f4de0, flags=...) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qeventloop.cpp:139
      #26 0x00007fe263079643 in QEventLoop::exec (this=0x7ffc701f4de0, flags=...) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qeventloop.cpp:232
      #27 0x00007fe26306743f in QCoreApplication::exec () at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcoreapplication.cpp:1378
      #28 0x00007fe263c69bc6 in QGuiApplication::exec () at /home/jarek/dev/qt-62/qtbase/src/gui/kernel/qguiapplication.cpp:1860
      #29 0x00007fe26477b30f in QApplication::exec () at /home/jarek/dev/qt-62/qtbase/src/widgets/kernel/qapplication.cpp:2610
      #30 0x000000000040e06f in main (argc=3, argv=0x7ffc701f63e8) at /home/jarek/dev/creator-6/src/app/main.cpp:766
      

      The other thread is apparently using one of this processes:

      Thread 19 (Thread 0x7fe21d0a3640 (LWP 340799)):
      #0  0x00007fe262a4f6be in ppoll () from /usr/lib64/libc.so.6
      #1  0x00007fe2632a2683 in qt_ppoll (fds=0x7fe21d098af0, nfds=4, timeout_ts=0x0) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcore_unix.cpp:132
      #2  0x00007fe2632a26b8 in qt_safe_poll (fds=0x7fe21d098af0, nfds=4, timeout_ts=0x0) at /home/jarek/dev/qt-62/qtbase/src/corelib/kernel/qcore_unix.cpp:155
      #3  0x00007fe26334f4e9 in qt_poll_msecs (fds=0x7fe21d098af0, nfds=4, timeout=-1) at qtbase/include/QtCore/6.2.0/QtCore/private/../../../../../../../qt-62/qtbase/src/corelib/kernel/qcore_unix_p.h:380
      #4  0x00007fe26334f913 in (anonymous namespace)::QProcessPoller::poll (this=0x7fe21d098af0, deadline=...) at /home/jarek/dev/qt-62/qtbase/src/corelib/io/qprocess_unix.cpp:181
      #5  0x00007fe263351cf5 in QProcessPrivate::waitForFinished (this=0x7fe1fc28ebf0, deadline=...) at /home/jarek/dev/qt-62/qtbase/src/corelib/io/qprocess_unix.cpp:879
      #6  0x00007fe2633461ea in QProcess::waitForFinished (this=0x7fe21d098f20, msecs=-1) at /home/jarek/dev/qt-62/qtbase/src/corelib/io/qprocess.cpp:1788
      #7  0x00007fe23c1b6479 in QMakeEvaluator::runProcess (this=0x8840bc0, proc=0x7fe21d098f20, command=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakebuiltins.cpp:493
      #8  0x00007fe23c1c49f8 in QMakeEvaluator::evaluateBuiltinConditional (this=0x8840bc0, func_t=13, function=..., args=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakebuiltins.cpp:1807
      #9  0x00007fe23c1e9458 in QMakeEvaluator::evaluateConditionalFunction (this=0x8840bc0, func=..., tokPtr=@0x7fe21d09ad40: 0x7fe1f0302048) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1770
      #10 0x00007fe23c1e0a96 in QMakeEvaluator::visitProBlock (this=0x8840bc0, tokPtr=0x7fe1f0302048) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:671
      #11 0x00007fe23c1e0105 in QMakeEvaluator::visitProBlock (this=0x8840bc0, tokPtr=0x7fe1f0301c30) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:563
      #12 0x00007fe23c1dfe5d in QMakeEvaluator::visitProBlock (this=0x8840bc0, pro=0x7fe1f01d3ce0, tokPtr=0x7fe1f0301bb0) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:515
      #13 0x00007fe23c1e649d in QMakeEvaluator::visitProFile (this=0x8840bc0, pro=0x7fe1f01d3ce0, type=QMakeHandler::EvalFeatureFile, flags=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1457
      #14 0x00007fe23c1ea2a3 in QMakeEvaluator::evaluateFile (this=0x8840bc0, fileName=..., type=QMakeHandler::EvalFeatureFile, flags=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1936
      #15 0x00007fe23c1eae04 in QMakeEvaluator::evaluateFeatureFile (this=0x8840bc0, fileName=..., silent=false) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:2049
      #16 0x00007fe23c1c4510 in QMakeEvaluator::evaluateBuiltinConditional (this=0x8840bc0, func_t=22, function=..., args=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakebuiltins.cpp:1749
      #17 0x00007fe23c1e9458 in QMakeEvaluator::evaluateConditionalFunction (this=0x8840bc0, func=..., tokPtr=@0x7fe21d09d960: 0x7fe1dc29d384) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1770
      #18 0x00007fe23c1e0a96 in QMakeEvaluator::visitProBlock (this=0x8840bc0, tokPtr=0x7fe1dc29d384) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:671
      #19 0x00007fe23c1dfe5d in QMakeEvaluator::visitProBlock (this=0x8840bc0, pro=0x7fe1dc23b560, tokPtr=0x7fe1dc29c050) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:515
      #20 0x00007fe23c1e649d in QMakeEvaluator::visitProFile (this=0x8840bc0, pro=0x7fe1dc23b560, type=QMakeHandler::EvalFeatureFile, flags=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1457
      #21 0x00007fe23c1ea2a3 in QMakeEvaluator::evaluateFile (this=0x8840bc0, fileName=..., type=QMakeHandler::EvalFeatureFile, flags=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1936
      #22 0x00007fe23c1eae04 in QMakeEvaluator::evaluateFeatureFile (this=0x8840bc0, fileName=..., silent=false) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:2049
      #23 0x00007fe23c1c4510 in QMakeEvaluator::evaluateBuiltinConditional (this=0x8840bc0, func_t=22, function=..., args=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakebuiltins.cpp:1749
      #24 0x00007fe23c1e9458 in QMakeEvaluator::evaluateConditionalFunction (this=0x8840bc0, func=..., tokPtr=@0x7fe21d0a0390: 0x7fe1fc36e236) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1770
      #25 0x00007fe23c1e0a96 in QMakeEvaluator::visitProBlock (this=0x8840bc0, tokPtr=0x7fe1fc36e236) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:671
      #26 0x00007fe23c1dfe5d in QMakeEvaluator::visitProBlock (this=0x8840bc0, pro=0x7fe1fc3445f0, tokPtr=0x7fe1fc36d890) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:515
      #27 0x00007fe23c1e649d in QMakeEvaluator::visitProFile (this=0x8840bc0, pro=0x7fe1fc3445f0, type=QMakeHandler::EvalProjectFile, flags=...) at /home/jarek/dev/creator-6/src/shared/proparser/qmakeevaluator.cpp:1457
      #28 0x00007fe23c1932ec in ProFileEvaluator::accept (this=0x8840b80, pro=0x7fe1fc3445f0, flags=...) at /home/jarek/dev/creator-6/src/shared/proparser/profileevaluator.cpp:244
      #29 0x00007fe22585ba83 in evaluateOne (input=..., pro=0x7fe1fc3445f0, reader=0x8840ad0, cumulative=true, buildPassReader=0x7fe21d0a1298) at /home/jarek/dev/creator-6/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp:1342
      #30 0x00007fe22585c28f in QmakeProjectManager::QmakeProFile::evaluate (input=...) at /home/jarek/dev/creator-6/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp:1386
      #31 0x00007fe2258604d2 in QmakeProjectManager::QmakeProFile::asyncEvaluate (this=0x7fe1f012ea80, fi=..., input=...) at /home/jarek/dev/creator-6/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp:1640
      #32 0x00007fe225895acd in Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput)>::operator() (this=0x7fe21d0a2a10, args#0=..., args#1=...) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:227
      #33 0x00007fe2258959f7 in Utils::Internal::runAsyncQFutureInterfaceDispatch<QmakeProjectManager::Internal::QmakeEvalResult*, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput)>, QmakeProjectManager::Internal::QmakeEvalInput> (futureInterface=..., function=...) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:257
      #34 0x00007fe2258959ba in Utils::Internal::runAsyncMemberDispatch<QmakeProjectManager::Internal::QmakeEvalResult*, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput)>, QmakeProjectManager::Internal::QmakeEvalInput, void> (futureInterface=..., function=...) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:274
      #35 0x00007fe225895936 in Utils::Internal::runAsyncImpl<QmakeProjectManager::Internal::QmakeEvalResult*, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput)>, QmakeProjectManager::Internal::QmakeEvalInput> (futureInterface=..., function=...) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:303
      #36 0x00007fe22589584d in Utils::Internal::runAsyncMemberDispatch<QmakeProjectManager::Internal::QmakeEvalResult*, void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput), QmakeProjectManager::QmakeProFile*, QmakeProjectManager::Internal::QmakeEvalInput, void> (futureInterface=..., function=@0x88416a8: (void (QmakeProjectManager::QmakeProFile::*)(QmakeProjectManager::QmakeProFile * const, QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*> &, QmakeProjectManager::Internal::QmakeEvalInput)) 0x7fe2258604b2 <QmakeProjectManager::QmakeProFile::asyncEvaluate(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput)>, obj=@0x88416a0: 0x7fe1f012ea80) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:285
      #37 0x00007fe225895784 in Utils::Internal::runAsyncImpl<QmakeProjectManager::Internal::QmakeEvalResult*, void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput), QmakeProjectManager::QmakeProFile*, QmakeProjectManager::Internal::QmakeEvalInput> (futureInterface=..., function=@0x88416a8: (void (QmakeProjectManager::QmakeProFile::*)(QmakeProjectManager::QmakeProFile * const, QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*> &, QmakeProjectManager::Internal::QmakeEvalInput)) 0x7fe2258604b2 <QmakeProjectManager::QmakeProFile::asyncEvaluate(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput)>) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:303
      #38 0x00007fe22589567c in Utils::Internal::AsyncJob<QmakeProjectManager::Internal::QmakeEvalResult*, void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput), QmakeProjectManager::QmakeProFile*, QmakeProjectManager::Internal::QmakeEvalInput&>::runHelper<0ul, 1ul, 2ul> (this=0x8841570) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:372
      #39 0x00007fe22589552b in Utils::Internal::AsyncJob<QmakeProjectManager::Internal::QmakeEvalResult*, void (QmakeProjectManager::QmakeProFile::*)(QFutureInterface<QmakeProjectManager::Internal::QmakeEvalResult*>&, QmakeProjectManager::Internal::QmakeEvalInput), QmakeProjectManager::QmakeProFile*, QmakeProjectManager::Internal::QmakeEvalInput&>::run (this=0x8841570) at /home/jarek/dev/creator-6/src/libs/utils/runextensions.h:352
      #40 0x00007fe2632b6f04 in QThreadPoolThread::run (this=0x8413ae0) at /home/jarek/dev/qt-62/qtbase/src/corelib/thread/qthreadpool.cpp:99
      #41 0x00007fe2632b0017 in QThreadPrivate::start (arg=0x8413ae0) at /home/jarek/dev/qt-62/qtbase/src/corelib/thread/qthread_unix.cpp:336
      #42 0x00007fe262b32299 in start_thread () from /usr/lib64/libpthread.so.0
      #43 0x00007fe262a5a353 in clone () from /usr/lib64/libc.so.6
      
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              jkobus Jarek Kobus
              jkobus Jarek Kobus
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes