В этой статье рассматривается одна из причин такого поведения IDE Qt Creator и приводится решение этой проблемы. Актуальность:

  1. В интернете нет описания и решения данной проблемы (я искал).

  2. Некоторые решения данной проблемы, которые может выполнить пользователь, вредоносны.

  3. ИИ не предлагает верного решения.

  4. У ide Qt Creator нет лога ошибки данной проблемы (QT_DEBUG_PLUGINS=1 и gdb бесполезны).

Введение

У меня несколько раз за шесть лет возникала эта проблема с Qt Creator, и каждый раз я решал её неправильно, полностью переустанавливая Qt Creator. Это решение неверно, так как при этом теряются настройки профилей и сессий Qt. Переустановка с помощью sudo apt reinstall qtcreator и sudo apt purge qtcreator; sudo apt install qtcreator не помогает решить эту проблему.

Причина данной проблемы

Причина данной проблемы это повреждение файла в ~/.config/QtProject. Причём Qt Creator никак не логирует эту ошибку, даже при запуске с флагом QT_DEBUG_PLUGINS=1 или в gdb. Дело в том, что Qt Creator при запуске и переходе между вкладками («Проект», «Отладка», «Редактор») или изменении масштаба каждый раз читает и записывает файл ~/.config/QtProject/QtCreator.ini. И если этот файл переполнится, например, на 570 МБ, запуск и все операции, использующие этот файл, будут длиться по 10 секунд в зависимости от размера файла ~/.config/QtProject/QtCreator.ini. Неисправность файла QtCreator.ini заключается в том, что по неизвестной, но часто возникающей причине Qt Creator записывает битые данные, которые в текстовом виде превращаются в одну длинную строку более 570 МБ. В моём файле ~/.config/QtProject/QtCreator.ini было два сектора с такими битыми данными.

Первый — самый большой 500 мб+ WatchItems=140510285099456\\004ÃÂÃ

Второй параметр — 30 МБ+, отвечающий за историю поиска кода в проекте:

FindCompletions\40\Flags=0

FindCompletions\40\Text=on_pushButton_sum_clickedÃÃÂ

Как видно, параметры разные, но механизм сбоя похож. Причину сбоя выяснить не удалось; возможно, она связана с кодировкой и так далее

Исправить ошибку очень просто: необходимо удалить повреждённую строку через редактор nano сочетанием клавиш Ctrl+K, затем, при желании, вернуть пустые значения сектора и сохранить файл. Данный способ удалит только повреждённые участки истории Qt Creator. Видео решения проблемы и её проявления:

Заключение

Возможно, кому‑то пригодится такое решение проблемы долгого запуска Qt Creator с последующими фризами. Самое главное в таком решении, что сохраняются настройки профилей Qt и сессий Qt.

Комментарии (5)


  1. domix32
    31.08.2026 11:06

    Звучит как кейс для разбора@PvsTeam.

    Кажется проблема с WatchItems находится тут - запись полупустого QStringList пишет кучу мусора из неинициализированной памяти. С FindCompleteions видимо похожая история и пишутся какие-то неполные QStringlIst


    1. PVE-Vladimir Автор
      31.08.2026 11:06

      Тут ещё создаётся файл QtCreator.ini.lock, который, по-видимому, нужен для того, чтобы ограничить доступ к файлу QtCreator.ini. Я думал, что причина, возможно, связана с тем, что из-за некорректной блокировки доступа к файлу какой-то поток записывает мусор. Вообще, это очень сложный сбой, периодически возникающий. Неясно, у какого количества пользователей вообще происходил такой сбой и когда он появился, сколько человек полностью удаляли QtCreator или переустанавливали Linux из backup, не зная, что причина в этом. Статистики нет =(


      1. domix32
        31.08.2026 11:06

        Если я правильно разобрался в цепочке вызовов, то эта штука срабатывает при записи истории вызовов в отладчике. Вероятно когда в список отладчика добавляется выражение для отслеживания, тогда же оно и пишет его в этот файл. Правда непонятно, почему оно пишет весь аллоцированный список выражений, а не только активные и почему оно в принципе резервирует памяти под 500 метров. Есть подозрение что вместе с этим там ещё и квадратичный алгоритм закрался где-то для обработки всего этого.


    1. PvsTeam
      31.08.2026 11:06

      Да, кейс интересный. Выпишем себе, чтобы вернуться к нему, если будет возможность


      1. PVE-Vladimir Автор
        31.08.2026 11:06

        Буду следить. Если что, могу отправить дефектный ~/.config/QtProject/.