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

AllProjectsFilter and CurrentProjectFilter call functions that are not thread-safe from a non-GUI thread

    XMLWordPrintable

Details

    • 05c267673f43ecbb0ae4c44adc7d02a690435f8b

    Description

      Namely, the update() function does this when being called from a search thread. Here is an excerpt from an example stack trace:

          9  libQbsProjectManager.so 0x00007eff925c2b2c QbsProjectManager::Internal::QbsProject::files(ProjectExplorer::Project::FilesMode) const + 44
          10 libProjectExplorer.so   0x00007eff9cf54d88 ProjectExplorer::Internal::AllProjectsFilter::updateFiles() + 216
          11 libCore.so              0x00007effa539ff1b Core::BaseFileFilter::matchesFor(QFutureInterface<Core::LocatorFilterEntry>&, QString const&) + 75
          12 libCore.so              0x00007effa52c13d9 Core::Internal::runSearch(QFutureInterface<Core::LocatorFilterEntry>&, QList<Core::ILocatorFilter*>, QString) + 473
          13 libCore.so              0x00007effa52e405f QtConcurrent::StoredInterfaceFunctionCall2<Core::LocatorFilterEntry, void (*)(QFutureInterface<Core::LocatorFilterEntry>&, QList<Core::ILocatorFilter*>, QString), QList<Core::ILocatorFilter*>, QString>::run() + 79
      

      This one was caused by AllProjectsFilter. The CurrentProjectFilter class seems to have the same problem, judging from the code.

      Attachments

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

        Activity

          People

            con Eike Ziller
            kandeler Christian Kandeler
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes