Сегфолт простого проекта на Qt в режиме отладки

Имеется простой код приложения на Qt:

#include <QCoreApplication>

#include <thread>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    std::vector<std::thread> threads;

    for (auto i = 0; i < 8; ++i)
    {
        threads.emplace_back([]() {});
    }

    for (auto& thread : threads)
    {
        if (thread.joinable())
            thread.join();
    }

    return 0;// a.exec();
}

Отваливается в отладке на этапе создания потока:

сегфолт

сегфолт2

В проектном файле стандартный минимум:

QT -= gui

CONFIG += c++11 console
CONFIG -= app_bundle

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
        main.cpp

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

В релизе работает без проблем. Отладка через gdb без использования QtCreator - всё хорошо (те же самые потоки успешно создаются).

Система: Ubuntu 20.10, Qt 5.15.2, QtCreator 4.14.1 (пробовал 4.14.0 - тоже самое), G++ 10.2.0

Вывод ldd:

alexis@alexis-desktop:~/Projects/test2-Debug$ ldd ./test2
    linux-vdso.so.1 (0x00007ffc67afd000)
    libQt5Core.so.5 => /home/alexis/Qt/5.15.2/gcc_64/lib/libQt5Core.so.5 (0x00007f3bb7682000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3bb763d000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3bb745c000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3bb7441000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3bb7257000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3bb723a000)
    libicui18n.so.56 => /home/alexis/Qt/5.15.2/gcc_64/lib/libicui18n.so.56 (0x00007f3bb6d9f000)
    libicuuc.so.56 => /home/alexis/Qt/5.15.2/gcc_64/lib/libicuuc.so.56 (0x00007f3bb69e7000)
    libicudata.so.56 => /home/alexis/Qt/5.15.2/gcc_64/lib/libicudata.so.56 (0x00007f3bb5004000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3bb4ffe000)
    libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f3bb4ff9000)
    libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f3bb4ec7000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3bb4d76000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3bb7e81000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f3bb4d03000)

В чём может быть проблема?

UPDATE Точно, сигнал действительно SIGSTOP, а не SIGSEGV. Обнаружилось также, что если снять галку "Run in terminal" в настройках запуска, то приложение успешно выполняется. Значит ли это, что проблема исключительно в QtCreator?

UPDATE 2 Согласно посту по ссылке, можно игнорировать данный сигнал (добавить соответствующее правило в настройки отладки: "handle SIGSTOP pass nostop noprint"), и тогда всё заработает как положено. Однако причина возникновения этого сигнала остаётся пока невыясненной.


Ответы (0 шт):