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

Invalid pro-file crashes Creator

    XMLWordPrintable

    Details

    • Commits:
      bb1ce1cd56463b0748c153d2c80c988dab169b04

      Description

      Open the attached project file.
      Creator will display the kit selection page and crash:

      1   __GI_raise                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          raise.c         54   0x7ffff553c418 
      2   __GI_abort                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          abort.c         89   0x7ffff553e01a 
      3   __libc_message                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      libc_fatal.c    175  0x7ffff557e72a 
      4   malloc_printerr                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     malloc.c        5007 0x7ffff5589bfa 
      5   _int_realloc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        malloc.c        4253 0x7ffff5589bfa 
      6   __GI___libc_realloc                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 malloc.c        3046 0x7ffff558adb9 
      7   QString::reallocData                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                qstring.cpp     1756 0x7ffff6247f81 
      8   QString::resize                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     qstring.cpp     1680 0x7ffff6247d6f 
      9   QMakeParser::read                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   qmakeparser.cpp 863  0x7fffe813ea99 
      10  QMakeParser::read                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   qmakeparser.cpp 247  0x7fffe813bb39 
      11  QMakeParser::parsedProFile                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          qmakeparser.cpp 215  0x7fffe813b7b1 
      12  QmakeProjectManager::QmakeProFileNode::evaluate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     qmakenodes.cpp  1834 0x7fffca7e1323 
      13  QmakeProjectManager::QmakeProFileNode::asyncEvaluate                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                qmakenodes.cpp  2079 0x7fffca7e4fed 
      14  Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>::operator()(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput&&) const                                                                                                                                                                                                                                                                                                                                                           runextensions.h 223  0x7fffca8088b4 
      15  Utils::Internal::runAsyncQFutureInterfaceDispatch<QmakeProjectManager::Internal::EvalResult *, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>, QmakeProjectManager::Internal::EvalInput>(std::integral_constant<bool, true>, QFutureInterface<QmakeProjectManager::Internal::EvalResult *>, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>&&, QmakeProjectManager::Internal::EvalInput&&) runextensions.h 253  0x7fffca8087f2 
      16  Utils::Internal::runAsyncArityDispatch<QmakeProjectManager::Internal::EvalResult *, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>, QmakeProjectManager::Internal::EvalInput>(std::integral_constant<bool, true>, QFutureInterface<QmakeProjectManager::Internal::EvalResult *>, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>&&, QmakeProjectManager::Internal::EvalInput&&)            runextensions.h 268  0x7fffca808770 
      17  Utils::Internal::runAsyncMemberDispatch<QmakeProjectManager::Internal::EvalResult *, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>, QmakeProjectManager::Internal::EvalInput, void>(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>&&, QmakeProjectManager::Internal::EvalInput&&)                                         runextensions.h 288  0x7fffca8086b3 
      18  Utils::Internal::runAsyncImpl<QmakeProjectManager::Internal::EvalResult *, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>, QmakeProjectManager::Internal::EvalInput>(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>, Utils::Internal::MemberCallable<void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput)>&&, QmakeProjectManager::Internal::EvalInput&&)                                                         runextensions.h 318  0x7fffca8085fc 
      19  Utils::Internal::runAsyncMemberDispatch<QmakeProjectManager::Internal::EvalResult *, void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput), QmakeProjectManager::QmakeProFileNode *, QmakeProjectManager::Internal::EvalInput, void>(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>, void (QmakeProjectManager::QmakeProFileNode:: *&&)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput), QmakeProjectManager::QmakeProFileNode *&&, QmakeProjectManager::Internal::EvalInput&&)                       runextensions.h 300  0x7fffca808500 
      20  Utils::Internal::runAsyncImpl<QmakeProjectManager::Internal::EvalResult *, void (QmakeProjectManager::QmakeProFileNode:: *)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput), QmakeProjectManager::QmakeProFileNode *, QmakeProjectManager::Internal::EvalInput>(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>, void (QmakeProjectManager::QmakeProFileNode:: *&&)(QFutureInterface<QmakeProjectManager::Internal::EvalResult *>&, QmakeProjectManager::Internal::EvalInput), QmakeProjectManager::QmakeProFileNode *&&, QmakeProjectManager::Internal::EvalInput&&)                                       runextensions.h 318  0x7fffca808425 
      ... <Mehr>
      

      Yes, the file is invalid. It's okay if Creator can't open a useful project from it, but Creator should not crash.

      Found by fuzzing tests/manual/proparser/testreader.pro

        Attachments

        1. backtrace.txt
          48 kB
        2. crash.pro
          0.0 kB

          Issue Links

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

            Activity

              People

              • Assignee:
                buddenha Oswald Buddenhagen
                Reporter:
                rlohning Robert Löhning
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes