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

Crash when clicking into stack trace view

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • Qt Creator 17.0.2, Qt Creator 18.0.0-rc1 (18.0 branch)
    • Debugger, Editors
    • None
    • Ubuntu 24.04 LTS
      Gnome on Wayland
      g++ 13.3.0
      Qt 6.9.2 (self-built), Qt 6.9.3 (self-built)
      Creator (self-built from 17.0 branch: 306962668c1c50f967e5cb8538a73224f96fc45a)

      1. Debug a program in Creator and let it stop at a breakpoint.
      2. Click into the stack trace view.
        On the first click, usually everything seems correct, but after some dozens of fast clicks, Creator reliably crashes here.

      The crash's core file shows me 44 threads. This is the part which looks suspicious to me:

      3  QMetaObject::cast                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   qobjectdefs.h                      241  0x7b7aa3728d9b 
      4  qobject_cast<CppEditor::Internal::CppEditorDocument *>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              qobject.h                          428  0x7b7aa3734b7b 
      5  CppEditor::BuiltinEditorDocumentProcessor::onParserFinished                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         builtineditordocumentprocessor.cpp 273  0x7b7aa37316eb 
      6  QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot>, void, void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot)>::call(void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot), CppEditor::BuiltinEditorDocumentProcessor *, void * *)::{lambda()#1}::operator()() const                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              qobjectdefs_impl.h                 127  0x7b7aa373c51b 
      7  QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot>, void, void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot)>::call(void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot), CppEditor::BuiltinEditorDocumentProcessor *, void * *)::{lambda()#1}>(void * *, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot>, void, void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot)>::call(void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot), CppEditor::BuiltinEditorDocumentProcessor *, void * *)::{lambda()#1}&&) qobjectdefs_impl.h                 65   0x7b7aa373d65c 
      8  QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot>, void, void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot)>::call                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       qobjectdefs_impl.h                 126  0x7b7aa373c602 
      9  QtPrivate::FunctionPointer<void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot)>::call<QtPrivate::List<QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot>, void>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   qobjectdefs_impl.h                 174  0x7b7aa373a984 
      10 QtPrivate::QCallableObject<void (CppEditor::BuiltinEditorDocumentProcessor:: *)(QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot), QtPrivate::List<QSharedPointer<CPlusPlus::Document>, CPlusPlus::Snapshot>, void>::impl                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   qobjectdefs_impl.h                 545  0x7b7aa3738e5b 
      

      In void BuiltinEditorDocumentProcessor::onParserFinished(CPlusPlus::Document::Ptr document, CPlusPlus::Snapshot snapshot), Creator tries to cast a Core::IDocument * with its object's d-pointer being null:

          for (Core::IDocument * const openDocument : openDocuments) {
              const auto cppEditorDoc = qobject_cast<Internal::CppEditorDocument *>(openDocument);  // <-- this is the cast
              if (!cppEditorDoc)
                  continue;
      

        1. Backtrace1.txt
          176 kB
          Robert Löhning
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            kandeler Christian Kandeler
            rlohning Robert Löhning
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes