Skip to content
  • Gleb Popov's avatar
    Fix deadlock exception in FileManagerListJob. · 73fb3cd6
    Gleb Popov authored and Milian Wolff's avatar Milian Wolff committed
    It was visible on FreeBSD with following backtrace:
    
        frame #0: 0x0000000802b8b370 libcxxrt.so.1`::__cxa_throw(void *, std::type_info *, void (*)(void *)) at exception.cc:790
        frame #1: 0x0000000802b59c8c libc++.so.1`std::__1::__throw_system_error at system_error.cpp:289
        frame #2: 0x0000000802b4a9cd libc++.so.1`std::__1::mutex::lock at mutex.cpp:34
        frame #3: 0x00000008017b3f9e libKDevPlatformProject.so.54`KDevelop::FileManagerListJob::startNextJob at filemanagerlistjob.cpp:114
        frame #4: 0x00000008017b5b2e libKDevPlatformProject.so.54`_ZN9QtPrivate11FunctorCallINS_11IndexesListIJEEENS_4ListIJEEEvMN8KDevelop18FileManagerListJobEFvvEE4callES8_PS6_PPv at qobjectdefs_impl.h:152
        frame #5: 0x00000008017b5aa3 libKDevPlatformProject.so.54`_ZN9QtPrivate15FunctionPointerIMN8KDevelop18FileManagerListJobEFvvEE4callINS_4ListIJEEEvEEvS4_PS2_PPv at qobjectdefs_impl.h:185
        frame #6: 0x00000008017b59c6 libKDevPlatformProject.so.54`_ZN9QtPrivate11QSlotObjectIMN8KDevelop18FileManagerListJobEFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb at qobjectdefs_impl.h:414
        frame #7: 0x0000000803e2caa6 libQt5Core.so.5`QtPrivate::QSlotObjectBase::call at qobjectdefs_impl.h:394
        frame #8: 0x0000000803e66648 libQt5Core.so.5`QMetaCallEvent::placeMetaCall at qobject.cpp:518
        frame #9: 0x0000000803e68249 libQt5Core.so.5`QObject::event at qobject.cpp:1260
        frame #10: 0x0000000802e819e1 libQt5Widgets.so.5`QApplicationPrivate::notify_helper + 273
        frame #11: 0x0000000802e82f28 libQt5Widgets.so.5`QApplication::notify + 632
        frame #12: 0x0000000803e1640e libQt5Core.so.5`QCoreApplication::notifyInternal2 at qcoreapplication.cpp:1060
        frame #13: 0x0000000803e17048 libQt5Core.so.5`QCoreApplication::sendEvent at qcoreapplication.cpp:1450
        frame #14: 0x0000000803e17cce libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents at qcoreapplication.cpp:1799
        frame #15: 0x0000000803e16f4f libQt5Core.so.5`QCoreApplication::sendPostedEvents at qcoreapplication.cpp:1653
        frame #16: 0x0000000803ec630e libQt5Core.so.5`postEventSourceDispatch at qeventdispatcher_glib.cpp:276
        frame #17: 0x0000000805b52b77 libglib-2.0.so.0`g_main_context_dispatch + 311
        frame #18: 0x0000000805b52f03 libglib-2.0.so.0`___lldb_unnamed_symbol117$$libglib-2.0.so.0 + 515
        frame #19: 0x0000000805b52fb4 libglib-2.0.so.0`g_main_context_iteration + 100
        frame #20: 0x0000000803ec5485 libQt5Core.so.5`QEventDispatcherGlib::processEvents at qeventdispatcher_glib.cpp:422
        frame #21: 0x0000000803e112f9 libQt5Core.so.5`QEventLoop::processEvents at qeventloop.cpp:138
        frame #22: 0x0000000803e1154f libQt5Core.so.5`QEventLoop::exec at qeventloop.cpp:225
        frame #23: 0x000000080027e464 libKDevPlatformTests.so.54`KDevelop::KDevSignalSpy::wait at kdevsignalspy.cpp:48
        frame #24: 0x00000000002114ad test_definesandincludes`(anonymous namespace)::loadProject at projectsgenerator.cpp:47
        frame #25: 0x0000000000211047 test_definesandincludes`ProjectsGenerator::GenerateSimpleProject at projectsgenerator.cpp:105
        frame #26: 0x0000000000208914 test_definesandincludes`TestDefinesAndIncludes::loadSimpleProject at test_definesandincludes.cpp:56
        frame #27: 0x00000000002083d9 test_definesandincludes`TestDefinesAndIncludes::qt_static_metacall at moc_test_definesandincludes.cpp:96
        frame #28: 0x0000000803e25ed9 libQt5Core.so.5`QMetaMethod::invoke at qmetaobject.cpp:2295
        frame #29: 0x00000008002c31f9 libQt5Test.so.5`___lldb_unnamed_symbol8$$libQt5Test.so.5 + 825
        frame #30: 0x00000008002c3bef libQt5Test.so.5`___lldb_unnamed_symbol9$$libQt5Test.so.5 + 815
        frame #31: 0x00000008002c4989 libQt5Test.so.5`___lldb_unnamed_symbol12$$libQt5Test.so.5 + 745
        frame #32: 0x00000008002c517c libQt5Test.so.5`QTest::qRun + 156
        frame #33: 0x00000008002c4ef4 libQt5Test.so.5`QTest::qExec + 20
        frame #34: 0x000000000020a562 test_definesandincludes`main at test_definesandincludes.cpp:152
        frame #35: 0x000000000020811b test_definesandincludes`_start at crt1.c:76
    73fb3cd6