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

QtCreator stays in "configuring project" for to long

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Not Evaluated Not Evaluated
    • None
    • Qt Creator 4.1.0, Qt Creator 4.2.0-beta1
    • None
    • Debian unstable
      Qt 5.6.1
      CMake 3.6
    • 669d04a686418541f83a1936d4b278721ec986fe

      I've created a CMake based project and it hangs quite long in "Configuring project". Turning on logging shows:

      [debug] QtCreator (projectmodels.cpp:826) - FlatModel::foldersAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "session"
      [debug] QtCreator (projectmodels.cpp:437) - found 1 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "session" 1 nodes
      [debug] QtCreator (projectmodels.cpp:660) - updated m_childNodes
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 0 nodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 1 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 1 nodes
      [debug] QtCreator (projectmodels.cpp:660) - updated m_childNodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 2 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 2 nodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 3 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 3 nodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 4 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 4 nodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 5 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 5 nodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 6 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 6 nodes
      [debug] QtCreator (projectmodels.cpp:895) - FlatModel::filesAboutToBeAdded
      [debug] QtCreator (projectmodels.cpp:422) - FlatModel::childNodes for "/home/florian/sources/bap_server/so/CMakeLists.txt"
      [debug] QtCreator (projectmodels.cpp:437) - found 7 nodes
      [debug] QtCreator (projectmodels.cpp:610) - FlatModel::added "/home/florian/sources/bap_server/so/CMakeLists.txt" 7 nodes
      and many many more lines like that increasing to more and more nodes

      This means that https://github.com/qtproject/qt-creator/blob/master/src/plugins/projectexplorer/projectmodels.cpp#L436 is called really really really often and this is quite expensive to do. Disabling the sorting (and getting rid of the isSorted asserts) makes it return fast. Can I somehow provide the cmake output which gets parsed to help debugging that?

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

            hunger Tobias Hunger
            apollo13 Florian Apolloner
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes