Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
Qt Creator 9.0.0-beta1
-
None
-
-
a5c0f16d75 (qt-creator/qt-creator/master) a5c0f16d75 (qt-creator/qt-creator/9.0)
Description
I've pressed Ctrl+RMB over QObject. After a while Creator crashed. Crashed in main thread:
Thread 1 (Thread 0x7fd7aa581800 (LWP 88767)): #0 0x00007fd73f88083c in CPlusPlus::Document::translationUnit (this=0x0) at /home/jarek/dev/creator-master/src/libs/cplusplus/CppDocument.h:64 #1 0x00007fd73f9beaf1 in CPlusPlus::ASTPath::ASTPath (this=0x7ffd54b80530, doc=...) at /home/jarek/dev/creator-master/src/libs/cplusplus/ASTPath.h:23 #2 0x00007fd73f9b7a39 in CppEditor::CppEditorWidget::followQrcUrl(QTextCursor const&, std::function<void (Utils::Link const&)> const&) (this=0x55f4af91a850, cursor=..., processLinkCallback=...) at /home/jarek/dev/creator-master/src/plugins/cppeditor/cppeditorwidget.cpp:844 #3 0x00007fd73f9b858d in CppEditor::CppEditorWidget::findLinkAt(QTextCursor const&, std::function<void (Utils::Link const&)> const&, bool, bool) (this=0x55f4af91a850, cursor=..., processLinkCallback=..., resolveTarget=false, inNextSplit=false) at /home/jarek/dev/creator-master/src/plugins/cppeditor/cppeditorwidget.cpp:880 #4 0x00007fd7a04404f3 in TextEditor::Internal::TextEditorWidgetPrivate::updateLink (this=0x55f4b060b7c0) at /home/jarek/dev/creator-master/src/plugins/texteditor/texteditor.cpp:6299 #5 0x00007fd7a04846a7 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (TextEditor::Internal::TextEditorWidgetPrivate::*)()>::call(void (TextEditor::Internal::TextEditorWidgetPrivate::*)(), TextEditor::Internal::TextEditorWidgetPrivate*, void**) (f=(void (TextEditor::Internal::TextEditorWidgetPrivate::*)(TextEditor::Internal::TextEditorWidgetPrivate * const)) 0x7fd7a04403fe <TextEditor::Internal::TextEditorWidgetPrivate::updateLink()>, o=0x55f4b060b7c0, arg=0x7fd79c011b38) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:171 #6 0x00007fd7a047c4ae in QtPrivate::FunctionPointer<void (TextEditor::Internal::TextEditorWidgetPrivate::*)()>::call<QtPrivate::List<>, void>(void (TextEditor::Internal::TextEditorWidgetPrivate::*)(), TextEditor::Internal::TextEditorWidgetPrivate*, void**) (f=(void (TextEditor::Internal::TextEditorWidgetPrivate::*)(TextEditor::Internal::TextEditorWidgetPrivate * const)) 0x7fd7a04403fe <TextEditor::Internal::TextEditorWidgetPrivate::updateLink()>, o=0x55f4b060b7c0, arg=0x7fd79c011b38) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:208 #7 0x00007fd7a0473c87 in QtPrivate::QSlotObject<void (TextEditor::Internal::TextEditorWidgetPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55f4b0d46710, r=0x55f4b060b7c0, a=0x7fd79c011b38, ret=0x0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:419 #8 0x00007fd7ae139eaf in QtPrivate::QSlotObjectBase::call (this=0x55f4b0d46710, r=0x55f4b060b7c0, a=0x7fd79c011b38) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobjectdefs_impl.h:399 #9 0x00007fd7ae1a0ba3 in QMetaCallEvent::placeMetaCall (this=0x7fd79c011af0, object=0x55f4b060b7c0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobject.cpp:624 #10 0x00007fd7ae1a1d6b in QObject::event (this=0x55f4b060b7c0, e=0x7fd79c011af0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qobject.cpp:1356 #11 0x00007fd7afb8afde in QApplicationPrivate::notify_helper (this=0x55f4ad1bbf90, receiver=0x55f4b060b7c0, e=0x7fd79c011af0) at /home/jarek/dev/qt-63/qtbase/src/widgets/kernel/qapplication.cpp:3350 #12 0x00007fd7afb8add0 in QApplication::notify (this=0x7ffd54b814e0, receiver=0x55f4b060b7c0, e=0x7fd79c011af0) at /home/jarek/dev/qt-63/qtbase/src/widgets/kernel/qapplication.cpp:3301 #13 0x00007fd7ae117249 in QCoreApplication::notifyInternal2 (receiver=0x55f4b060b7c0, event=0x7fd79c011af0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qcoreapplication.cpp:1067 #14 0x00007fd7ae117de7 in QCoreApplication::sendEvent (receiver=0x55f4b060b7c0, event=0x7fd79c011af0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qcoreapplication.cpp:1483 #15 0x00007fd7ae118d13 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55f4ad1bc200) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qcoreapplication.cpp:1845 #16 0x00007fd7ae1185f6 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qcoreapplication.cpp:1704 #17 0x00007fd7ae54546e in postEventSourceDispatch (s=0x55f4ad22aee0) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:279 #18 0x00007fd7acb20d1b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #19 0x00007fd7acb756f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #20 0x00007fd7acb1e3c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #21 0x00007fd7ae545d30 in QEventDispatcherGlib::processEvents (this=0x55f4ad22a3d0, flags=...) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:429 #22 0x00007fd7a9ecfbde in QXcbGlibEventDispatcher::processEvents (this=0x55f4ad22a3d0, flags=...) at /home/jarek/dev/qt-63/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:132 #23 0x00007fd7ae12cc91 in QEventLoop::processEvents (this=0x7ffd54b81130, flags=...) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qeventloop.cpp:136 #24 0x00007fd7ae12d000 in QEventLoop::exec (this=0x7ffd54b81130, flags=...) at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qeventloop.cpp:218 #25 0x00007fd7ae117bb4 in QCoreApplication::exec () at /home/jarek/dev/qt-63/qtbase/src/corelib/kernel/qcoreapplication.cpp:1388 #26 0x00007fd7aed573b0 in QGuiApplication::exec () at /home/jarek/dev/qt-63/qtbase/src/gui/kernel/qguiapplication.cpp:1887 #27 0x00007fd7afb88041 in QApplication::exec () at /home/jarek/dev/qt-63/qtbase/src/widgets/kernel/qapplication.cpp:2631 #28 0x000055f4ab90f2fe in main (argc=1, argv=0x7ffd54b817b8) at /home/jarek/dev/creator-master/src/app/main.cpp:734
Other thread:
Thread 6 (Thread 0x7fd66a7fc640 (LWP 89386)): #0 0x00007fd7ae2e5762 in QBitArray::operator|= (this=0x7fd66a7fab00, other=...) at /home/jarek/dev/qt-63/qtbase/src/corelib/tools/qbitarray.cpp:591 #1 0x00007fd75c21838f in CPlusPlus::DependencyTable::build (this=this@entry=0x7fd66a7fad20, futureInterface=..., snapshot=...) at /home/jarek/dev/qt-63/qtbase/src/corelib/tools/qarraydatapointer.h:325 #2 0x00007fd75c1ff2d8 in CPlusPlus::Snapshot::updateDependencyTable (this=this@entry=0x7fd66a7fad20, futureInterface=...) at /home/jarek/dev/creator-master/src/libs/cplusplus/CppDocument.cpp:816 #3 0x00007fd75c203396 in CPlusPlus::Snapshot::updateDependencyTable (this=0x7fd66a7fad20) at /home/jarek/dev/creator-master/src/libs/cplusplus/CppDocument.cpp:810 #4 0x00007fd75c2033fe in CPlusPlus::Snapshot::filesDependingOn (this=0x7fd66a7fad20, fileName=...) at /home/jarek/dev/creator-master/src/libs/cplusplus/CppDocument.cpp:803 #5 0x00007fd73fa7d096 in CppEditor::CppModelManager::projectPartFromDependencies (this=0x55f4adb2d308, fileName=...) at /home/jarek/dev/creator-master/src/plugins/cppeditor/cppmodelmanager.cpp:1385 #6 0x00007fd73f87bbc6 in operator() (__closure=0x7fd66a7fb200, filePath=...) at /home/jarek/dev/creator-master/src/plugins/cppeditor/baseeditordocumentparser.cpp:114 #7 0x00007fd73f87ca5f in std::__invoke_impl<QList<QSharedPointer<const CppEditor::ProjectPart> >, CppEditor::BaseEditorDocumentParser::determineProjectPart(const QString&, const QString&, const CppEditor::ProjectPartInfo&, const Utils::FilePath&, Utils::Language, bool)::<lambda(const QString&)>&, const QString&>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/11/bits/invoke.h:61 #8 0x00007fd73f87c72e in std::__invoke_r<QList<QSharedPointer<const CppEditor::ProjectPart> >, CppEditor::BaseEditorDocumentParser::determineProjectPart(const QString&, const QString&, const CppEditor::ProjectPartInfo&, const Utils::FilePath&, Utils::Language, bool)::<lambda(const QString&)>&, const QString&>(struct {...} &) (__fn=...) at /usr/include/c++/11/bits/invoke.h:116 #9 0x00007fd73f87c2cd in std::_Function_handler<QList<QSharedPointer<const CppEditor::ProjectPart> >(const QString&), CppEditor::BaseEditorDocumentParser::determineProjectPart(const QString&, const QString&, const CppEditor::ProjectPartInfo&, const Utils::FilePath&, Utils::Language, bool)::<lambda(const QString&)> >::_M_invoke(const std::_Any_data &, const QString &) (__functor=..., __args#0=...) at /usr/include/c++/11/bits/std_function.h:291 #10 0x00007fd73fac01f0 in std::function<QList<QSharedPointer<CppEditor::ProjectPart const> > (QString const&)>::operator()(QString const&) const (this=0x7fd66a7fb200, __args#0=...) at /usr/include/c++/11/bits/std_function.h:590 #11 0x00007fd73fabf1cd in CppEditor::Internal::ProjectPartChooser::choose (this=0x7fd66a7fb1c0, filePath=..., currentProjectPartInfo=..., preferredProjectPartId=..., activeProject=..., languagePreference=Utils::Language::Cxx, projectsUpdated=false) at /home/jarek/dev/creator-master/src/plugins/cppeditor/cppprojectpartchooser.cpp:134 #12 0x00007fd73f87bd6b in CppEditor::BaseEditorDocumentParser::determineProjectPart (filePath=..., preferredProjectPartId=..., currentProjectPartInfo=..., activeProject=..., languagePreference=Utils::Language::Cxx, projectsUpdated=false) at /home/jarek/dev/creator-master/src/plugins/cppeditor/baseeditordocumentparser.cpp:123 #13 0x00007fd73f888046 in CppEditor::BuiltinEditorDocumentParser::updateImpl (this=0x55f4b0e2c910, future=..., updateParams=...) at /home/jarek/dev/creator-master/src/plugins/cppeditor/builtineditordocumentparser.cpp:64 #14 0x00007fd73f87b873 in CppEditor::BaseEditorDocumentParser::update (this=0x55f4b0e2c910, future=..., updateParams=...) at /home/jarek/dev/creator-master/src/plugins/cppeditor/baseeditordocumentparser.cpp:68 #15 0x00007fd73f87dd38 in CppEditor::BaseEditorDocumentProcessor::runParser (future=..., parser=..., updateParams=...) at /home/jarek/dev/creator-master/src/plugins/cppeditor/baseeditordocumentprocessor.cpp:71 #16 0x00007fd73f89dafd in Utils::Internal::runAsyncQFutureInterfaceDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams> (futureInterface=..., function=@0x55f4b05cc488: 0x7fd73f87dcac <CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams)>) at /home/jarek/dev/creator-master/src/libs/utils/runextensions.h:236 #17 0x00007fd73f89d9df in Utils::Internal::runAsyncMemberDispatch<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams, void> (futureInterface=..., function=@0x55f4b05cc488: 0x7fd73f87dcac <CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams)>) at /home/jarek/dev/creator-master/src/libs/utils/runextensions.h:253 #18 0x00007fd73f89d90e in Utils::Internal::runAsyncImpl<void, void (*)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams> (futureInterface=..., function=@0x55f4b05cc488: 0x7fd73f87dcac <CppEditor::BaseEditorDocumentProcessor::runParser(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams)>) at /home/jarek/dev/creator-master/src/libs/utils/runextensions.h:282 #19 0x00007fd73f89d7e2 in Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::runHelper<0ul, 1ul, 2ul> (this=0x55f4b05cc410) at /home/jarek/dev/creator-master/src/libs/utils/runextensions.h:351 #20 0x00007fd73f89d6d7 in Utils::Internal::AsyncJob<void, void (&)(QFutureInterface<void>&, QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams), QSharedPointer<CppEditor::BaseEditorDocumentParser>, CppEditor::BaseEditorDocumentParser::UpdateParams const&>::run (this=0x55f4b05cc410) at /home/jarek/dev/creator-master/src/libs/utils/runextensions.h:331 #21 0x00007fd7ae3b7212 in QThreadPoolThread::run (this=0x55f4b05818c0) at /home/jarek/dev/qt-63/qtbase/src/corelib/thread/qthreadpool.cpp:100 #22 0x00007fd7ae3affeb in operator() (__closure=0x7fd66a7fbd58) at /home/jarek/dev/qt-63/qtbase/src/corelib/thread/qthread_unix.cpp:355 #23 0x00007fd7ae3b110d in (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >(struct {...} &&) (t=...) at /home/jarek/dev/qt-63/qtbase/src/corelib/thread/qthread_unix.cpp:291 #24 0x00007fd7ae3b00b7 in QThreadPrivate::start (arg=0x55f4b05818c0) at /home/jarek/dev/qt-63/qtbase/src/corelib/thread/qthread_unix.cpp:314 #25 0x00007fd7adbb4b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #26 0x00007fd7adc46a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Attachments
For Gerrit Dashboard: QTCREATORBUG-28197 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
434321,2 | CppEditor: Check document before access | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |