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

Crash on Q_ASSERT inside FindUsages.cpp

    XMLWordPrintable

Details

    • Linux/X11
    • 4e0f3d34b (15.0)

    Description

      To reproduce:
      1. Open Creator project
      2. Open axivionplugin.cpp file
      3. Type inside some function the following: Utils::transform
      4. RMB over "transform" and execute "Find References With Access Type"
      5. After some freeze the Creator crashes with the following printout:

      ASSERT: "!"unreachable"" in file /home/jarek/dev/creator-master/src/libs/cplusplus/FindUsages.cpp, line 1001
      Aborted (core dumped)
      

      The call stack:

      Thread 1 (Thread 0x741e960006c0 (LWP 10792)):
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
      #3  0x0000741f4da4526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #4  0x0000741f4da288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x0000741f4e2f9dfc in qAbort () at /home/jarek/dev/qt-68/qtbase/src/corelib/global/qassert.cpp:49
      #6  0x0000741f4e30f2d3 in qt_message_fatal<QString&> (context=..., message=...) at /home/jarek/dev/qt-68/qtbase/src/corelib/global/qlogging.cpp:2116
      #7  0x0000741f4e308c90 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, context=..., msg=0x741f4e9476c8 "ASSERT: \"%s\" in file %s, line %d", ap=0x741e95ffefe8) at /home/jarek/dev/qt-68/qtbase/src/corelib/global/qlogging.cpp:382
      #8  0x0000741f4e30a852 in QMessageLogger::fatal (this=0x741e95fff230, msg=0x741f4e9476c8 "ASSERT: \"%s\" in file %s, line %d") at /home/jarek/dev/qt-68/qtbase/src/corelib/global/qlogging.cpp:884
      #9  0x0000741f4e2f9e60 in qt_assert (assertion=0x741f378480ea "!\"unreachable\"", file=0x741f378439f0 "/home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp", line=1001) at /home/jarek/dev/qt-68/qtbase/src/corelib/global/qassert.cpp:105
      #10 0x0000741f37749ecd in CPlusPlus::FindUsages::visit (this=<optimized out>, ast=<optimized out>) at /home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp:1001
      #11 0x0000741f377706b0 in CPlusPlus::ParameterDeclarationClauseAST::accept0 (this=0x741d5ca85eb0, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/ASTVisit.cpp:761
      #12 0x0000741f37757163 in CPlusPlus::AST::accept (this=0x741d5ca85eb0, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.cpp:51
      #13 0x0000741f37771417 in CPlusPlus::AST::accept (visitor=0x741e95fff530, ast=<optimized out>) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.h:143
      #14 CPlusPlus::RequiresExpressionAST::accept0 (this=0x741d5ca85a20, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/ASTVisit.cpp:981
      #15 0x0000741f37757163 in CPlusPlus::AST::accept (this=0x741d5ca85a20, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.cpp:51
      #16 0x0000741f3777139c in CPlusPlus::AST::accept (visitor=0x741e95fff530, ast=<optimized out>) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.h:143
      #17 CPlusPlus::ConceptDeclarationAST::accept0 (this=0x741d5ca859d0, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/ASTVisit.cpp:973
      #18 0x0000741f37757163 in CPlusPlus::AST::accept (this=0x741d5ca859d0, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.cpp:51
      #19 0x0000741f377ec622 in CPlusPlus::FindUsages::visit (this=0x741e95fff530, ast=0x741d5ca85870) at /home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp:2022
      #20 0x0000741f37771318 in CPlusPlus::TemplateDeclarationAST::accept0 (this=0x741d5ca85870, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/ASTVisit.cpp:960
      #21 0x0000741f37757163 in CPlusPlus::AST::accept (this=0x741d5ca85870, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.cpp:51
      #22 0x0000741f377ec59c in CPlusPlus::FindUsages::visit (this=0x741e95fff530, ast=<optimized out>) at /home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp:1953
      #23 0x0000741f3776fb80 in CPlusPlus::LinkageBodyAST::accept0 (this=0x741d5ca85850, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/ASTVisit.cpp:592
      #24 0x0000741f37757163 in CPlusPlus::AST::accept (this=0x741d5ca85850, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.cpp:51
      #25 0x0000741f377f08da in CPlusPlus::FindUsages::visit (this=0x741e95fff530, ast=0x741d5ca85820) at /home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp:1976
      #26 0x0000741f37770158 in CPlusPlus::NamespaceAST::accept0 (this=0x741d5ca85820, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/ASTVisit.cpp:681
      #27 0x0000741f37757163 in CPlusPlus::AST::accept (this=0x741d5ca85820, visitor=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/3rdparty/cplusplus/AST.cpp:51
      #28 0x0000741f377ed64c in CPlusPlus::FindUsages::translationUnit (ast=<optimized out>, this=0x741e95fff530) at /home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp:1030
      #29 CPlusPlus::FindUsages::translationUnit (this=0x741e95fff530, ast=<optimized out>) at /home/jarek/dev/creator-15/src/libs/cplusplus/FindUsages.cpp:1023
      #30 0x0000741f37cbc513 in CppEditor::Internal::(anonymous namespace)::ProcessFile::operator() (this=0x741c1c1145c0, filePath=...) at /home/jarek/dev/creator-15/src/plugins/cppeditor/cppfindreferences.cpp:274
      #31 0x0000741f37cc6b4d in std::__invoke_impl<QList<CPlusPlus::Usage>, CppEditor::Internal::(anonymous namespace)::ProcessFile&, Utils::FilePath const&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
      #32 0x0000741f37cc6a16 in std::__invoke<CppEditor::Internal::(anonymous namespace)::ProcessFile&, Utils::FilePath const&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:97
      #33 0x0000741f37cc676f in std::invoke<CppEditor::Internal::(anonymous namespace)::ProcessFile&, Utils::FilePath const&> (__fn=...) at /usr/include/c++/13/functional:114
      #34 0x0000741f37cc609e in QtConcurrent::MappedReducedKernel<QList<CPlusPlus::Usage>, QList<Utils::FilePath>::const_iterator, CppEditor::Internal::(anonymous namespace)::ProcessFile, CppEditor::Internal::(anonymous namespace)::UpdateUI, QtConcurrent::ReduceKernel<CppEditor::Internal::(anonymous namespace)::UpdateUI, QList<CPlusPlus::Usage>, QList<CPlusPlus::Usage> > >::runIterations (this=0x741c1c114530, sequenceBeginIterator=..., beginIndex=105, endIndex=106) at /home/jarek/dev/qt-68/qtbase/src/concurrent/qtconcurrentmapkernel.h:112
      #35 0x0000741f37ce0f0a in QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::forThreadFunction (this=0x741c1c114530) at /home/jarek/dev/qt-68/qtbase/src/concurrent/qtconcurrentiteratekernel.h:252
      #36 0x0000741f37ce0632 in QtConcurrent::IterateKernel<QList<Utils::FilePath>::const_iterator, QList<CPlusPlus::Usage> >::threadFunction (this=0x741c1c114530) at /home/jarek/dev/qt-68/qtbase/src/concurrent/qtconcurrentiteratekernel.h:214
      #37 0x0000741f5108b31c in QtConcurrent::ThreadEngineBase::run (this=0x741c1c114530) at /home/jarek/dev/qt-68/qtbase/src/concurrent/qtconcurrentthreadengine.cpp:243
      #38 0x0000741f4e6cf926 in QThreadPoolThread::run (this=0x741dd4006890) at /home/jarek/dev/qt-68/qtbase/src/corelib/thread/qthreadpool.cpp:68
      #39 0x0000741f4e6be40d in operator() (__closure=0x741e95fffd30) at /home/jarek/dev/qt-68/qtbase/src/corelib/thread/qthread_unix.cpp:335
      #40 0x0000741f4e6bf934 in (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >(struct {...} &&) (t=...) at /home/jarek/dev/qt-68/qtbase/src/corelib/thread/qthread_unix.cpp:263
      #41 0x0000741f4e6be55f in QThreadPrivate::start (arg=0x741dd4006890) at /home/jarek/dev/qt-68/qtbase/src/corelib/thread/qthread_unix.cpp:294
      #42 0x0000741f4da9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
      #43 0x0000741f4db29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Attachments

        For Gerrit Dashboard: QTCREATORBUG-31778
        # Subject Branch Project Status CR V

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes