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

Scanning for autotests in qtdeclarative results in crash

    XMLWordPrintable

Details

    • Linux/X11
    • cae7b16a9020a901182b695257c41fe2b1f1b7da (qt-creator/qt-creator/4.12)

    Description

      Steps to reproduce:

      • Check out the Qt repos from git (5.15 branch).
      • Perform a build from command line
      • Open PROJECT/qtdeclarative/src/src.pro in Qt Creator and import the build configuration from the build folder

      Qt Creator will run for a while and finally perform the step "Scanning for tests..." which takes a while. At some point it crashes.

      Here is the backtrace:

      Thread 22 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7fffa641b700 (LWP 4423)]
      0x00007fffcfb57b20 in Autotest::Internal::QuickTestAstVisitor::visit (this=0x7fffa641ab80, ast=0x7fff900615f0)
          at /home/qt/work/build/qt-creator/src/plugins/autotest/quick/quicktestvisitors.cpp:216
      216	/home/qt/work/build/qt-creator/src/plugins/autotest/quick/quicktestvisitors.cpp: No such file or directory.
      (gdb) bt
      #0  0x00007fffcfb57b20 in Autotest::Internal::QuickTestAstVisitor::visit (this=0x7fffa641ab80, ast=0x7fff900615f0)
          at /home/qt/work/build/qt-creator/src/plugins/autotest/quick/quicktestvisitors.cpp:216
      #1  0x00007fffd5b8ccf9 in CPlusPlus::CallAST::accept0 (this=0x7fff900615f0, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:727
      #2  0x00007fffd5b8726f in CPlusPlus::AST::accept (this=0x7fff900615f0, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.cpp:51
      #3  0x00007fffd5b8d1d0 in CPlusPlus::AST::accept (visitor=0x7fffa641ab80, ast=<optimized out>) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:92
      #4  CPlusPlus::ReturnStatementAST::accept0 (this=0x7fff900615a8, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:834
      #5  0x00007fffd5b8726f in CPlusPlus::AST::accept (this=0x7fff900615a8, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.cpp:51
      #6  0x00007fffd5b8b8a1 in CPlusPlus::AST::accept (visitor=0x7fffa641ab80, ast=<optimized out>) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:92
      #7  CPlusPlus::AST::accept<CPlusPlus::StatementAST*> (visitor=0x7fffa641ab80, it=0x7fff90061740) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:98
      #8  CPlusPlus::CompoundStatementAST::accept0 (this=0x7fff90061580, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:298
      #9  0x00007fffd5b8726f in CPlusPlus::AST::accept (this=0x7fff90061580, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.cpp:51
      #10 0x00007fffd5b8c160 in CPlusPlus::AST::accept (visitor=0x7fffa641ab80, ast=<optimized out>) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:92
      #11 CPlusPlus::FunctionDefinitionAST::accept0 (this=0x7fff90061548, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:483
      #12 0x00007fffd5b8726f in CPlusPlus::AST::accept (this=0x7fff90061548, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.cpp:51
      #13 0x00007fffd5b8d631 in CPlusPlus::AST::accept (visitor=0x7fffa641ab80, ast=<optimized out>) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:92
      #14 CPlusPlus::AST::accept<CPlusPlus::DeclarationAST*> (visitor=0x7fffa641ab80, it=0x7fff90061758) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:98
      #15 CPlusPlus::TranslationUnitAST::accept0 (this=0x7fff9004fb90, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/ASTVisit.cpp:944
      #16 0x00007fffd5b8726f in CPlusPlus::AST::accept (this=0x7fff9004fb90, visitor=0x7fffa641ab80) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.cpp:51
      #17 0x00007fffd5b918b3 in CPlusPlus::AST::accept (visitor=<optimized out>, ast=<optimized out>) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/AST.h:92
      #18 CPlusPlus::ASTVisitor::accept (this=<optimized out>, ast=<optimized out>) at /home/qt/work/build/qt-creator/src/libs/3rdparty/cplusplus/ASTVisitor.cpp:36
      #19 0x00007fffcfb4b83a in Autotest::Internal::quickTestName (snapshot=..., doc=...) at /home/qt/work/build/qt-creator/src/plugins/autotest/quick/quicktestparser.cpp:138
      #20 Autotest::Internal::QuickTestParser::handleQtQuickTest (this=this@entry=0x14a2500, futureInterface=..., document=..., id=...)
          at /home/qt/work/build/qt-creator/src/plugins/autotest/quick/quicktestparser.cpp:233
      #21 0x00007fffcfb4c57d in Autotest::Internal::QuickTestParser::processDocument (this=0x14a2500, futureInterface=..., fileName=...)
          at /home/qt/work/build/qt-creator/src/plugins/autotest/quick/quicktestparser.cpp:360
      #22 0x00007fffcfac40c8 in Autotest::Internal::parseFileForTests (fileName=..., futureInterface=..., parsers=...) at /home/qt/work/build/qt-creator/src/plugins/autotest/testcodeparser.cpp:305
      #23 Autotest::Internal::TestCodeParser::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const QString&)>::operator() (file=..., fi=..., __closure=<optimized out>)
          at /home/qt/work/build/qt-creator/src/plugins/autotest/testcodeparser.cpp:381
      #24 Utils::Internal::runAsyncQFutureInterfaceDispatch<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const QStringList&, const QList<Core::Id>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const QString&)>&, std::reference_wrapper<QString> > (function=..., futureInterface=...)
          at /home/qt/work/build/qt-creator/src/libs/utils/runextensions.h:257
      #25 Utils::Internal::runAsyncMemberDispatch<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const QStringList&, const QList<Core::Id>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const QString&)>&, std::reference_wrapper<QString>, void> (function=..., futureInterface=...)
          at /home/qt/work/build/qt-creator/src/libs/utils/runextensions.h:274
      #26 Utils::Internal::runAsyncImpl<QSharedPointer<Autotest::TestParseResult>, const Autotest::Internal::TestCodeParser::scanForTests(const QStringList&, const QList<Core::Id>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const QString&)>, std::reference_wrapper<QString> > (functionWrapper=..., futureInterface=...)
          at /home/qt/work/build/qt-creator/src/libs/utils/runextensions.h:295
      #27 Utils::Internal::AsyncJob<QSharedPointer<Autotest::TestParseResult>, std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const QStringList&, const QList<Core::Id>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const QString&)> >, std::reference_wrapper<QString> >::runHelper<0ul, 1ul> (this=0x7fff84006f90)
          at /home/qt/work/build/qt-creator/src/libs/utils/runextensions.h:372
      #28 Utils::Internal::AsyncJob<QSharedPointer<Autotest::TestParseResult>, std::reference_wrapper<const Autotest::Internal::TestCodeParser::scanForTests(const QStringList&, const QList<Core::Id>&)::<lambda(QFutureInterface<QSharedPointer<Autotest::TestParseResult> >&, const QString&)> >, std::reference_wrapper<QString> >::run(void) (this=0x7fff84006f90)
          at /home/qt/work/build/qt-creator/src/libs/utils/runextensions.h:352
      #29 0x00007ffff56b5db7 in QThreadPoolThread::run() () from /opt/Qt/Tools/Preview/Qt Creator 4.12.0-223/bin/../lib/Qt/lib/libQt5Core.so.5
      #30 0x00007ffff56b2375 in QThreadPrivate::start(void*) () from /opt/Qt/Tools/Preview/Qt Creator 4.12.0-223/bin/../lib/Qt/lib/libQt5Core.so.5
      #31 0x00007ffff51776ba in start_thread (arg=0x7fffa641b700) at pthread_create.c:333
      #32 0x00007ffff460c41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
      

      I only tried Qt 5.15 from git, but I am pretty sure that this worked some time in the past, e.g. in the Qt 5.12 branch. The problem persists in Qt Creator 4.12.0-rc1.

      Everything works when opening sub projects of src.pro, for instance qml.pro. Is this reproducible?

      Attachments

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

        Activity

          People

            cstenger Christian Stenger
            rweickelt Richard Weickelt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes