#1123679 FTBFS: memory corruption while running TestBlackbox

Package:
src:qbs
Source:
src:qbs
Submitter:
Miao Wang
Date:
2026-05-06 18:35:03 UTC
Severity:
normal
Tags:
#1123679#5
Date:
2025-12-19 21:19:28 UTC
From:
To:
Dear maintainer,

I found during building qbs, the tests in tst_blackbox failed sometimes. As
can be seen from build logs[1-4] on official buildds, the same issue also
happens sometimes. In those build logs, we can see "malloc(): unaligned tcache
chunk detected", which suggests memory corruption in the built binary.

I can reproduce this issue with 3.1.2-1 on arm64, but not deterministically. I
tried to compile qbs with ASan enabled, and I can get two kinds of error
reports when repeated manually executing the qbs command executed in
tst_blackbox. Most runs succeeded, while some of them failed with memory leaks
and others failed with memory double-free. The detailed steps to do this are as
below:

% unpack and compile the qbs source package
% cd obj-<arch>/tests/auto/blackbox
% ../../../bin/tst_blackbox pluginDependency
% # If manual invocation of qbs is needed, execute
% # the following commands following tst_blackbox
% cd testWorkDir/plugin-dependency
% ../../../../../bin/qbs clean
% ../../../../../bin/qbs --products myapp --command-echo-mode command-line
% # The above two commands can be repeated to trigger the problem

From the ASan reports and the build logs, it can be inferred that memory
corruption is inside the built qbs binary. I hope the maintainer can
investigate the problem further.

Cheers,

Miao Wang

[1]: https://buildd.debian.org/status/fetch.php?pkg=qbs&arch=amd64&ver=2.5.1-1&stamp=1738500321&raw=0
[2]: https://buildd.debian.org/status/fetch.php?pkg=qbs&arch=riscv64&ver=2.6.1-1&stamp=1745237009&raw=0
[3]: https://buildd.debian.org/status/fetch.php?pkg=qbs&arch=loong64&ver=3.1.1-1&stamp=1761857723&raw=0
[4]: https://buildd.debian.org/status/fetch.php?pkg=qbs&arch=loong64&ver=3.1.0-2&stamp=1760348920&raw=0

==3458==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 96 byte(s) in 1 object(s) allocated from:
    #0 0xffff8d496440 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:67
    #1 0xffff8b38a81c in allocateData src/corelib/tools/qarraydata.cpp:139
    #2 0xffff8b38a81c in allocateHelper src/corelib/tools/qarraydata.cpp:178
    #3 0xffff8b38a81c in allocateHelper src/corelib/tools/qarraydata.cpp:154
    #4 0xffff8b38a81c in QArrayData::allocate1(QArrayData**, long long, QArrayData::AllocationOption) src/corelib/tools/qarraydata.cpp:208
    #5 0xffff8b327bb4 in QTypedArrayData<char>::allocate(long long, QArrayData::AllocationOption) src/corelib/tools/qarraydata.h:136
    #6 0xffff8b327bb4 in QArrayDataPointer<char>::QArrayDataPointer(long long, long long, QArrayData::AllocationOption) src/corelib/tools/qarraydatapointer.h:58
    #7 0xffff8b327bb4 in QByteArray::QByteArray(long long, Qt::Initialization) src/corelib/text/qbytearray.cpp:1880
    #8 0xffff8b35c310 in QStringEncoder::encodeAsByteArray(QStringView) src/corelib/text/qstringconverter.h:74
    #9 0xffff8b35c310 in QStringEncoder::DecodedData<QStringView>::operator QByteArray() const src/corelib/text/qstringconverter.h:43
    #10 0xffff8b35c310 in qt_convert_to_local_8bit src/corelib/text/qstring.cpp:5789
    #11 0xffff8b35c310 in QString::toLocal8Bit_helper(QChar const*, long long) src/corelib/text/qstring.cpp:5781
    #12 0xffff8b453940 in QString::toLocal8Bit() const & src/corelib/text/qstring.h:714
    #13 0xffff8b453940 in QProcEnvValue::bytes() const src/corelib/io/qprocess_p.h:88
    #14 0xffff8b453940 in CharPointerList src/corelib/io/qprocess_unix.cpp:412
    #15 0xffff8b456f50 in QProcessPrivate::startProcess() src/corelib/io/qprocess_unix.cpp:724
    #16 0xffff8b456f50 in QProcessPrivate::start(QFlags<QIODeviceBase::OpenModeFlag>) src/corelib/io/qprocess.cpp:2424
    #17 0xffff8c704530 in qbs::Internal::Process::start(QString const&, QList<QString> const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:220
    #18 0xffff8c7047cc in qbs::Internal::Process::exec(QString const&, QList<QString> const&, bool) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:226
    #19 0xffff8c708e8c in qbs::Internal::Process::jsExec(JSContext*, JSValue, int, JSValue*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:99
    #20 0xffff8cd69874 in js_call_c_function /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16358
    #21 0xffff8cd6b38c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16573
    #22 0xffff8cd73edc in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16994
    #23 0xffff8cd7371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #24 0xffff8cd7371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #25 0xffff8cd7371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #26 0xffff8cd93ff0 in JS_CallFree /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:19041
    #27 0xffff8ce0f970 in JS_EvalFunctionInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:34951
    #28 0xffff8ce10b78 in __JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35086
    #29 0xffff8ce10e3c in JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35112
    #30 0xffff8ce11588 in JS_EvalThis2 /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35166
    #31 0xffff8c8d0c94 in qbs::Internal::ScriptEngine::evaluate(qbs::Internal::JsValueOwner, QString const&, QString const&, int, std::span<JSValue const, 18446744073709551615ul>) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/language/scriptengine.cpp:840
    #32 0xffff8c558e04 in qbs::Internal::JsCommandExecutorThreadObject::doStart(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:151
    #33 0xffff8c558258 in qbs::Internal::JsCommandExecutorThreadObject::start(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:113
    #34 0xffff8c566290 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #35 0xffff8c567104 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #36 0xffff8c566418 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #37 0xffff8c5651c8 in void QtPrivate::FunctionPointer<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call<QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #38 0xffff8c562ca4 in QtPrivate::QCallableObject<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #39 0xffff8b2c7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #40 0xffff8b279948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #41 0xffff8b279948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #42 0xffff8b279948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106

SUMMARY: AddressSanitizer: 96 byte(s) leaked in 1 allocation(s).

==3948==ERROR: AddressSanitizer: attempting double-free on 0xfd0fadb38180 in thread T4 (QThread):
    #0 0xffffb5375370 in free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:51
    #1 0xffffb33338f4 in QTypedArrayData<char>::deallocate(QArrayData*) src/corelib/tools/qarraydata.h:162
    #2 0xffffb33338f4 in QArrayDataPointer<char>::~QArrayDataPointer() src/corelib/tools/qarraydatapointer.h:110
    #3 0xffffb33338f4 in QArrayDataPointer<char>::~QArrayDataPointer() src/corelib/tools/qarraydatapointer.h:106
    #4 0xffffb33338f4 in QByteArray::~QByteArray() src/corelib/text/qbytearray.h:605
    #5 0xffffb33338f4 in CharPointerList src/corelib/io/qprocess_unix.cpp:412
    #6 0xffffb3336f50 in QProcessPrivate::startProcess() src/corelib/io/qprocess_unix.cpp:724
    #7 0xffffb3336f50 in QProcessPrivate::start(QFlags<QIODeviceBase::OpenModeFlag>) src/corelib/io/qprocess.cpp:2424
    #8 0xffffb45e4530 in qbs::Internal::Process::start(QString const&, QList<QString> const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:220
    #9 0xffffb45e47cc in qbs::Internal::Process::exec(QString const&, QList<QString> const&, bool) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:226
    #10 0xffffb45e8e8c in qbs::Internal::Process::jsExec(JSContext*, JSValue, int, JSValue*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:99
    #11 0xffffb4c49874 in js_call_c_function /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16358
    #12 0xffffb4c4b38c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16573
    #13 0xffffb4c53edc in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16994
    #14 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #15 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #16 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #17 0xffffb4c73ff0 in JS_CallFree /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:19041
    #18 0xffffb4cef970 in JS_EvalFunctionInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:34951
    #19 0xffffb4cf0b78 in __JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35086
    #20 0xffffb4cf0e3c in JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35112
    #21 0xffffb4cf1588 in JS_EvalThis2 /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35166
    #22 0xffffb47b0c94 in qbs::Internal::ScriptEngine::evaluate(qbs::Internal::JsValueOwner, QString const&, QString const&, int, std::span<JSValue const, 18446744073709551615ul>) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/language/scriptengine.cpp:840
    #23 0xffffb4438e04 in qbs::Internal::JsCommandExecutorThreadObject::doStart(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:151
    #24 0xffffb4438258 in qbs::Internal::JsCommandExecutorThreadObject::start(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:113
    #25 0xffffb4446290 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #26 0xffffb4447104 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #27 0xffffb4446418 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #28 0xffffb44451c8 in void QtPrivate::FunctionPointer<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call<QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #29 0xffffb4442ca4 in QtPrivate::QCallableObject<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #30 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #31 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #32 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #33 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106
    #34 0xffffb3159c64 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) src/corelib/kernel/qcoreapplication.cpp:1891
    #35 0xffffb33ba22c in postEventSourceDispatch src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #36 0xffffb211ab94 in g_main_dispatch ../../../glib/gmain.c:3565
    #37 0xffffb211e150 in g_main_context_dispatch_unlocked ../../../glib/gmain.c:4425
    #38 0xffffb211e150 in g_main_context_iterate_unlocked ../../../glib/gmain.c:4490
    #39 0xffffb211e9a4 in g_main_context_iteration ../../../glib/gmain.c:4556
    #40 0xffffb33b6d54 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #41 0xffffb3164000 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventloop.cpp:186
    #42 0xffffb3252d38 in QThread::exec() src/corelib/thread/qthread.cpp:659
    #43 0xffffb32d562c in operator() src/corelib/thread/qthread_unix.cpp:434
    #44 0xffffb32d562c in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > src/corelib/thread/qthread_unix.cpp:366
    #45 0xffffb32d562c in QThreadPrivate::start(void*) src/corelib/thread/qthread_unix.cpp:394
    #46 0xffffb52fed44 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:239
    #47 0xffffb2af93ac in start_thread nptl/pthread_create.c:448
    #48 0xffffb2b62498 in thread_start ../sysdeps/unix/sysv/linux/aarch64/clone3.S:75

0xfd0fadb38180 is located 0 bytes inside of 201-byte region [0xfd0fadb38180,0xfd0fadb38249)
freed by thread T7 (QThread) here:
    #0 0xffffb5375370 in free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:51
    #1 0xffffb3333b34 in QTypedArrayData<char>::deallocate(QArrayData*) src/corelib/tools/qarraydata.h:162
    #2 0xffffb3333b34 in QArrayDataPointer<char>::~QArrayDataPointer() src/corelib/tools/qarraydatapointer.h:110
    #3 0xffffb3333b34 in QArrayDataPointer<char>::~QArrayDataPointer() src/corelib/tools/qarraydatapointer.h:106
    #4 0xffffb3333b34 in QByteArray::~QByteArray() src/corelib/text/qbytearray.h:605
    #5 0xffffb3333b34 in QProcEnvValue::bytes() const src/corelib/io/qprocess_p.h:88
    #6 0xffffb3333b34 in CharPointerList src/corelib/io/qprocess_unix.cpp:412
    #7 0xffffb3336f50 in QProcessPrivate::startProcess() src/corelib/io/qprocess_unix.cpp:724
    #8 0xffffb3336f50 in QProcessPrivate::start(QFlags<QIODeviceBase::OpenModeFlag>) src/corelib/io/qprocess.cpp:2424
    #9 0xffffb45e4530 in qbs::Internal::Process::start(QString const&, QList<QString> const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:220
    #10 0xffffb45e47cc in qbs::Internal::Process::exec(QString const&, QList<QString> const&, bool) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:226
    #11 0xffffb45e8e8c in qbs::Internal::Process::jsExec(JSContext*, JSValue, int, JSValue*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:99
    #12 0xffffb4c49874 in js_call_c_function /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16358
    #13 0xffffb4c4b38c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16573
    #14 0xffffb4c53edc in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16994
    #15 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #16 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #17 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #18 0xffffb4c73ff0 in JS_CallFree /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:19041
    #19 0xffffb4cef970 in JS_EvalFunctionInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:34951
    #20 0xffffb4cf0b78 in __JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35086
    #21 0xffffb4cf0e3c in JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35112
    #22 0xffffb4cf1588 in JS_EvalThis2 /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35166
    #23 0xffffb47b0c94 in qbs::Internal::ScriptEngine::evaluate(qbs::Internal::JsValueOwner, QString const&, QString const&, int, std::span<JSValue const, 18446744073709551615ul>) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/language/scriptengine.cpp:840
    #24 0xffffb4438e04 in qbs::Internal::JsCommandExecutorThreadObject::doStart(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:151
    #25 0xffffb4438258 in qbs::Internal::JsCommandExecutorThreadObject::start(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:113
    #26 0xffffb4446290 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #27 0xffffb4447104 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #28 0xffffb4446418 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #29 0xffffb44451c8 in void QtPrivate::FunctionPointer<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call<QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #30 0xffffb4442ca4 in QtPrivate::QCallableObject<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #31 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #32 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #33 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #34 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106
    #35 0xffffb3159c64 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) src/corelib/kernel/qcoreapplication.cpp:1891
    #36 0xffffb33ba22c in postEventSourceDispatch src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #37 0xffffb211ab94 in g_main_dispatch ../../../glib/gmain.c:3565

previously allocated by thread T5 (QThread) here:
    #0 0xffffb5376440 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:67
    #1 0xffffb326a81c in allocateData src/corelib/tools/qarraydata.cpp:139
    #2 0xffffb326a81c in allocateHelper src/corelib/tools/qarraydata.cpp:178
    #3 0xffffb326a81c in allocateHelper src/corelib/tools/qarraydata.cpp:154
    #4 0xffffb326a81c in QArrayData::allocate1(QArrayData**, long long, QArrayData::AllocationOption) src/corelib/tools/qarraydata.cpp:208
    #5 0xffffb3207bb4 in QTypedArrayData<char>::allocate(long long, QArrayData::AllocationOption) src/corelib/tools/qarraydata.h:136
    #6 0xffffb3207bb4 in QArrayDataPointer<char>::QArrayDataPointer(long long, long long, QArrayData::AllocationOption) src/corelib/tools/qarraydatapointer.h:58
    #7 0xffffb3207bb4 in QByteArray::QByteArray(long long, Qt::Initialization) src/corelib/text/qbytearray.cpp:1880
    #8 0xffffb323c310 in QStringEncoder::encodeAsByteArray(QStringView) src/corelib/text/qstringconverter.h:74
    #9 0xffffb323c310 in QStringEncoder::DecodedData<QStringView>::operator QByteArray() const src/corelib/text/qstringconverter.h:43
    #10 0xffffb323c310 in qt_convert_to_local_8bit src/corelib/text/qstring.cpp:5789
    #11 0xffffb323c310 in QString::toLocal8Bit_helper(QChar const*, long long) src/corelib/text/qstring.cpp:5781
    #12 0xffffb3333940 in QString::toLocal8Bit() const & src/corelib/text/qstring.h:714
    #13 0xffffb3333940 in QProcEnvValue::bytes() const src/corelib/io/qprocess_p.h:88
    #14 0xffffb3333940 in CharPointerList src/corelib/io/qprocess_unix.cpp:412
    #15 0xffffb3336f50 in QProcessPrivate::startProcess() src/corelib/io/qprocess_unix.cpp:724
    #16 0xffffb3336f50 in QProcessPrivate::start(QFlags<QIODeviceBase::OpenModeFlag>) src/corelib/io/qprocess.cpp:2424
    #17 0xffffb45e4530 in qbs::Internal::Process::start(QString const&, QList<QString> const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:220
    #18 0xffffb45e47cc in qbs::Internal::Process::exec(QString const&, QList<QString> const&, bool) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:226
    #19 0xffffb45e8e8c in qbs::Internal::Process::jsExec(JSContext*, JSValue, int, JSValue*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/jsextensions/process.cpp:99
    #20 0xffffb4c49874 in js_call_c_function /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16358
    #21 0xffffb4c4b38c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16573
    #22 0xffffb4c53edc in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16994
    #23 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #24 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #25 0xffffb4c5371c in JS_CallInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:16957
    #26 0xffffb4c73ff0 in JS_CallFree /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:19041
    #27 0xffffb4cef970 in JS_EvalFunctionInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:34951
    #28 0xffffb4cf0b78 in __JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35086
    #29 0xffffb4cf0e3c in JS_EvalInternal /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35112
    #30 0xffffb4cf1588 in JS_EvalThis2 /home/shanker/src/qbs/qbs-3.1.2/src/shared/quickjs/quickjs.c:35166
    #31 0xffffb47b0c94 in qbs::Internal::ScriptEngine::evaluate(qbs::Internal::JsValueOwner, QString const&, QString const&, int, std::span<JSValue const, 18446744073709551615ul>) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/language/scriptengine.cpp:840
    #32 0xffffb4438e04 in qbs::Internal::JsCommandExecutorThreadObject::doStart(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:151
    #33 0xffffb4438258 in qbs::Internal::JsCommandExecutorThreadObject::start(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:113
    #34 0xffffb4446290 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #35 0xffffb4447104 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #36 0xffffb4446418 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void, void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #37 0xffffb44451c8 in void QtPrivate::FunctionPointer<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*)>::call<QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>(void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), qbs::Internal::JsCommandExecutorThreadObject*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #38 0xffffb4442ca4 in QtPrivate::QCallableObject<void (qbs::Internal::JsCommandExecutorThreadObject::*)(qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*), QtPrivate::List<qbs::Internal::JavaScriptCommand const*, qbs::Internal::Transformer*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #39 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #40 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #41 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #42 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106

Thread T4 (QThread) created by T2 (QThread) here:
    #0 0xffffb536f0a4 in pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:250
    #1 0xffffb32d06a8 in QThread::start(QThread::Priority) src/corelib/thread/qthread_unix.cpp:847
    #2 0xffffb4435a0c in qbs::Internal::JsCommandExecutor::doStart() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:257
    #3 0xffffb422afb0 in qbs::Internal::AbstractCommandExecutor::start(qbs::Internal::Transformer*, qbs::Internal::AbstractCommand*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/abstractcommandexecutor.cpp:77
    #4 0xffffb43fe714 in qbs::Internal::ExecutorJob::runNextCommand() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/executorjob.cpp:147
    #5 0xffffb43fe880 in qbs::Internal::ExecutorJob::onCommandFinished(qbs::ErrorInfo const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/executorjob.cpp:159
    #6 0xffffb4400f60 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #7 0xffffb4401290 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #8 0xffffb44010e8 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #9 0xffffb4400618 in void QtPrivate::FunctionPointer<void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call<QtPrivate::List<qbs::ErrorInfo const&>, void>(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #10 0xffffb44002b8 in QtPrivate::QCallableObject<void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), QtPrivate::List<qbs::ErrorInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #11 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #12 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #13 0xffffb408d090 in void QMetaObject::activate<void, qbs::ErrorInfo>(QObject*, QMetaObject const*, int, void*, qbs::ErrorInfo const&) (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/lib/libqbscore.so.3.1+0x85d090) (BuildId: a842f05bf6356107c2de4a2a76fb6cd21fbd4921)
    #14 0xffffb4081840 in qbs::Internal::AbstractCommandExecutor::finished(qbs::ErrorInfo const&) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/FMV24GPI5Y/moc_abstractcommandexecutor.cpp:151
    #15 0xffffb4453be8 in qbs::Internal::ProcessCommandExecutor::sendProcessOutput() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/processcommandexecutor.cpp:329
    #16 0xffffb4454f40 in qbs::Internal::ProcessCommandExecutor::onProcessFinished() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/processcommandexecutor.cpp:378
    #17 0xffffb4458a90 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #18 0xffffb4458d68 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #19 0xffffb4458c18 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #20 0xffffb4458950 in void QtPrivate::FunctionPointer<void (qbs::Internal::ProcessCommandExecutor::*)()>::call<QtPrivate::List<>, void>(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #21 0xffffb4458794 in QtPrivate::QCallableObject<void (qbs::Internal::ProcessCommandExecutor::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #22 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #23 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #24 0xffffb4090a0c in void QMetaObject::activate<void, int>(QObject*, QMetaObject const*, int, void*, int const&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs.h:306
    #25 0xffffb40843f8 in qbs::Internal::QbsProcess::finished(int) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/CB6E7VNMGS/moc_qbsprocess.cpp:135
    #26 0xffffb4b35914 in qbs::Internal::QbsProcess::handleFinishedPacket(QByteArray const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/tools/qbsprocess.cpp:181
    #27 0xffffb4b34d90 in qbs::Internal::QbsProcess::handlePacket(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/tools/qbsprocess.cpp:137
    #28 0xffffb4b3749c in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #29 0xffffb4b377cc in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #30 0xffffb4b37624 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #31 0xffffb4b36af8 in void QtPrivate::FunctionPointer<void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call<QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void>(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #32 0xffffb4b368b4 in QtPrivate::QCallableObject<void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #33 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #34 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #35 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #36 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106
    #37 0xffffb3159c64 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) src/corelib/kernel/qcoreapplication.cpp:1891
    #38 0xffffb33ba22c in postEventSourceDispatch src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #39 0xffffb211ab94 in g_main_dispatch ../../../glib/gmain.c:3565
    #40 0xffffb211e150 in g_main_context_dispatch_unlocked ../../../glib/gmain.c:4425
    #41 0xffffb211e150 in g_main_context_iterate_unlocked ../../../glib/gmain.c:4490
    #42 0xffffb211e9a4 in g_main_context_iteration ../../../glib/gmain.c:4556
    #43 0xffffb33b6d54 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #44 0xffffb3164000 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventloop.cpp:186
    #45 0xffffb3252d38 in QThread::exec() src/corelib/thread/qthread.cpp:659
    #46 0xffffb32d562c in operator() src/corelib/thread/qthread_unix.cpp:434
    #47 0xffffb32d562c in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > src/corelib/thread/qthread_unix.cpp:366
    #48 0xffffb32d562c in QThreadPrivate::start(void*) src/corelib/thread/qthread_unix.cpp:394
    #49 0xffffb52fed44 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:239
    #50 0xffffb2b62498 in thread_start ../sysdeps/unix/sysv/linux/aarch64/clone3.S:75

Thread T2 (QThread) created by T0 here:
    #0 0xffffb536f0a4 in pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:250
    #1 0xffffb32d06a8 in QThread::start(QThread::Priority) src/corelib/thread/qthread_unix.cpp:847
    #2 0xffffb40cfa84 in qbs::Internal::InternalBuildJob::build(std::shared_ptr<qbs::Internal::TopLevelProject> const&, QList<std::shared_ptr<qbs::Internal::ResolvedProduct> > const&, qbs::BuildOptions const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/api/internaljobs.cpp:396
    #3 0xffffb40e048c in qbs::BuildJob::build(std::shared_ptr<qbs::Internal::TopLevelProject> const&, QList<std::shared_ptr<qbs::Internal::ResolvedProduct> > const&, qbs::BuildOptions const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/api/jobs.cpp:318
    #4 0xffffb40efa38 in qbs::Internal::ProjectPrivate::buildProducts(QList<std::shared_ptr<qbs::Internal::ResolvedProduct> > const&, qbs::BuildOptions const&, QObject*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/api/project.cpp:134
    #5 0xffffb41020fc in qbs::Project::buildSomeProducts(QList<qbs::ProductData> const&, qbs::BuildOptions const&, QObject*) const /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/api/project.cpp:864
    #6 0xaaaac2071424 in qbs::CommandLineFrontend::build() /home/shanker/src/qbs/qbs-3.1.2/src/app/qbs/commandlinefrontend.cpp:525
    #7 0xaaaac206e230 in qbs::CommandLineFrontend::handleProjectsResolved() /home/shanker/src/qbs/qbs-3.1.2/src/app/qbs/commandlinefrontend.cpp:404
    #8 0xaaaac206a558 in qbs::CommandLineFrontend::handleJobFinished(bool, qbs::AbstractJob*) /home/shanker/src/qbs/qbs-3.1.2/src/app/qbs/commandlinefrontend.cpp:246
    #9 0xaaaac20a156c in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<bool, qbs::AbstractJob*>, void, void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*)>::call(void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*), qbs::CommandLineFrontend*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #10 0xaaaac20a6fa8 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<bool, qbs::AbstractJob*>, void, void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*)>::call(void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*), qbs::CommandLineFrontend*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<bool, qbs::AbstractJob*>, void, void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*)>::call(void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*), qbs::CommandLineFrontend*, void**)::{lambda()#1}&&) (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/bin/qbs+0xd6fa8) (BuildId: 68607037b2af907464dc9d5d5237ce22139cb72d)
    #11 0xaaaac20a16f4 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul>, QtPrivate::List<bool, qbs::AbstractJob*>, void, void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*)>::call(void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*), qbs::CommandLineFrontend*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #12 0xaaaac209c1a0 in void QtPrivate::FunctionPointer<void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*)>::call<QtPrivate::List<bool, qbs::AbstractJob*>, void>(void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*), qbs::CommandLineFrontend*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #13 0xaaaac2095684 in QtPrivate::QCallableObject<void (qbs::CommandLineFrontend::*)(bool, qbs::AbstractJob*), QtPrivate::List<bool, qbs::AbstractJob*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #14 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #15 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #16 0xffffb408c21c in void QMetaObject::activate<void, bool, qbs::AbstractJob*>(QObject*, QMetaObject const*, int, void*, bool const&, qbs::AbstractJob* const&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs.h:306
    #17 0xffffb408081c in qbs::AbstractJob::finished(bool, qbs::AbstractJob*) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/JH45IGJHDZ/moc_jobs.cpp:204
    #18 0xffffb40df49c in qbs::AbstractJob::handleFinished() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/api/jobs.cpp:206
    #19 0xffffb40e3ba8 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::AbstractJob::*)()>::call(void (qbs::AbstractJob::*)(), qbs::AbstractJob*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #20 0xffffb40e49f8 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::AbstractJob::*)()>::call(void (qbs::AbstractJob::*)(), qbs::AbstractJob*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::AbstractJob::*)()>::call(void (qbs::AbstractJob::*)(), qbs::AbstractJob*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #21 0xffffb40e3d30 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::AbstractJob::*)()>::call(void (qbs::AbstractJob::*)(), qbs::AbstractJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #22 0xffffb40e3154 in void QtPrivate::FunctionPointer<void (qbs::AbstractJob::*)()>::call<QtPrivate::List<>, void>(void (qbs::AbstractJob::*)(), qbs::AbstractJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #23 0xffffb40e27e4 in QtPrivate::QCallableObject<void (qbs::AbstractJob::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #24 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #25 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #26 0xffffb408a544 in void QMetaObject::activate<void, qbs::Internal::InternalJob*>(QObject*, QMetaObject const*, int, void*, qbs::Internal::InternalJob* const&) (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/lib/libqbscore.so.3.1+0x85a544) (BuildId: a842f05bf6356107c2de4a2a76fb6cd21fbd4921)
    #27 0xffffb407e360 in qbs::Internal::InternalJob::finished(qbs::Internal::InternalJob*) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/JH45IGJHDZ/moc_internaljobs.cpp:157
    #28 0xffffb40cd450 in qbs::Internal::InternalJobThreadWrapper::handleFinished() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/api/internaljobs.cpp:221
    #29 0xffffb40dba78 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::InternalJobThreadWrapper::*)()>::call(void (qbs::Internal::InternalJobThreadWrapper::*)(), qbs::Internal::InternalJobThreadWrapper*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #30 0xffffb40ddb00 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::InternalJobThreadWrapper::*)()>::call(void (qbs::Internal::InternalJobThreadWrapper::*)(), qbs::Internal::InternalJobThreadWrapper*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::InternalJobThreadWrapper::*)()>::call(void (qbs::Internal::InternalJobThreadWrapper::*)(), qbs::Internal::InternalJobThreadWrapper*, void**)::{lambda()#1}&&) (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/lib/libqbscore.so.3.1+0x8adb00) (BuildId: a842f05bf6356107c2de4a2a76fb6cd21fbd4921)
    #31 0xffffb40dbc00 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::InternalJobThreadWrapper::*)()>::call(void (qbs::Internal::InternalJobThreadWrapper::*)(), qbs::Internal::InternalJobThreadWrapper*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #32 0xffffb40db4dc in void QtPrivate::FunctionPointer<void (qbs::Internal::InternalJobThreadWrapper::*)()>::call<QtPrivate::List<>, void>(void (qbs::Internal::InternalJobThreadWrapper::*)(), qbs::Internal::InternalJobThreadWrapper*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #33 0xffffb40d9d00 in QtPrivate::QCallableObject<void (qbs::Internal::InternalJobThreadWrapper::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #34 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #35 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #36 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #37 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106
    #38 0xffffb3159c64 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) src/corelib/kernel/qcoreapplication.cpp:1891
    #39 0xffffb33ba22c in postEventSourceDispatch src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #40 0xffffb211ab94 in g_main_dispatch ../../../glib/gmain.c:3565
    #41 0xffffb211e150 in g_main_context_dispatch_unlocked ../../../glib/gmain.c:4425
    #42 0xffffb211e150 in g_main_context_iterate_unlocked ../../../glib/gmain.c:4490
    #43 0xffffb211e9a4 in g_main_context_iteration ../../../glib/gmain.c:4556
    #44 0xffffb33b6d54 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #45 0xffffb3164000 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventloop.cpp:186
    #46 0xffffb315ce90 in QCoreApplication::exec() src/corelib/kernel/qcoreapplication.cpp:1449
    #47 0xaaaac211aa58 in main /home/shanker/src/qbs/qbs-3.1.2/src/app/qbs/main.cpp:91
    #48 0xffffb2a92558 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #49 0xffffb2a92638 in __libc_start_main_impl ../csu/libc-start.c:360
    #50 0xaaaac2062cec in _start (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/bin/qbs+0x92cec) (BuildId: 68607037b2af907464dc9d5d5237ce22139cb72d)

Thread T7 (QThread) created by T2 (QThread) here:
    #0 0xffffb536f0a4 in pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:250
    #1 0xffffb32d06a8 in QThread::start(QThread::Priority) src/corelib/thread/qthread_unix.cpp:847
    #2 0xffffb4435a0c in qbs::Internal::JsCommandExecutor::doStart() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:257
    #3 0xffffb422afb0 in qbs::Internal::AbstractCommandExecutor::start(qbs::Internal::Transformer*, qbs::Internal::AbstractCommand*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/abstractcommandexecutor.cpp:77
    #4 0xffffb43fe714 in qbs::Internal::ExecutorJob::runNextCommand() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/executorjob.cpp:147
    #5 0xffffb43fe880 in qbs::Internal::ExecutorJob::onCommandFinished(qbs::ErrorInfo const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/executorjob.cpp:159
    #6 0xffffb4400f60 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #7 0xffffb4401290 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #8 0xffffb44010e8 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #9 0xffffb4400618 in void QtPrivate::FunctionPointer<void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call<QtPrivate::List<qbs::ErrorInfo const&>, void>(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #10 0xffffb44002b8 in QtPrivate::QCallableObject<void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), QtPrivate::List<qbs::ErrorInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #11 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #12 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #13 0xffffb408d090 in void QMetaObject::activate<void, qbs::ErrorInfo>(QObject*, QMetaObject const*, int, void*, qbs::ErrorInfo const&) (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/lib/libqbscore.so.3.1+0x85d090) (BuildId: a842f05bf6356107c2de4a2a76fb6cd21fbd4921)
    #14 0xffffb4081840 in qbs::Internal::AbstractCommandExecutor::finished(qbs::ErrorInfo const&) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/FMV24GPI5Y/moc_abstractcommandexecutor.cpp:151
    #15 0xffffb4453be8 in qbs::Internal::ProcessCommandExecutor::sendProcessOutput() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/processcommandexecutor.cpp:329
    #16 0xffffb4454f40 in qbs::Internal::ProcessCommandExecutor::onProcessFinished() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/processcommandexecutor.cpp:378
    #17 0xffffb4458a90 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #18 0xffffb4458d68 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #19 0xffffb4458c18 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #20 0xffffb4458950 in void QtPrivate::FunctionPointer<void (qbs::Internal::ProcessCommandExecutor::*)()>::call<QtPrivate::List<>, void>(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #21 0xffffb4458794 in QtPrivate::QCallableObject<void (qbs::Internal::ProcessCommandExecutor::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #22 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #23 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #24 0xffffb4090a0c in void QMetaObject::activate<void, int>(QObject*, QMetaObject const*, int, void*, int const&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs.h:306
    #25 0xffffb40843f8 in qbs::Internal::QbsProcess::finished(int) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/CB6E7VNMGS/moc_qbsprocess.cpp:135
    #26 0xffffb4b35914 in qbs::Internal::QbsProcess::handleFinishedPacket(QByteArray const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/tools/qbsprocess.cpp:181
    #27 0xffffb4b34d90 in qbs::Internal::QbsProcess::handlePacket(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/tools/qbsprocess.cpp:137
    #28 0xffffb4b3749c in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #29 0xffffb4b377cc in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #30 0xffffb4b37624 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #31 0xffffb4b36af8 in void QtPrivate::FunctionPointer<void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call<QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void>(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #32 0xffffb4b368b4 in QtPrivate::QCallableObject<void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #33 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #34 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #35 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #36 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106
    #37 0xffffb3159c64 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) src/corelib/kernel/qcoreapplication.cpp:1891
    #38 0xffffb33ba22c in postEventSourceDispatch src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #39 0xffffb211ab94 in g_main_dispatch ../../../glib/gmain.c:3565
    #40 0xffffb211e150 in g_main_context_dispatch_unlocked ../../../glib/gmain.c:4425
    #41 0xffffb211e150 in g_main_context_iterate_unlocked ../../../glib/gmain.c:4490
    #42 0xffffb211e9a4 in g_main_context_iteration ../../../glib/gmain.c:4556
    #43 0xffffb33b6d54 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #44 0xffffb3164000 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventloop.cpp:186
    #45 0xffffb3252d38 in QThread::exec() src/corelib/thread/qthread.cpp:659
    #46 0xffffb32d562c in operator() src/corelib/thread/qthread_unix.cpp:434
    #47 0xffffb32d562c in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > src/corelib/thread/qthread_unix.cpp:366
    #48 0xffffb32d562c in QThreadPrivate::start(void*) src/corelib/thread/qthread_unix.cpp:394
    #49 0xffffb52fed44 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:239
    #50 0xffffb2b62498 in thread_start ../sysdeps/unix/sysv/linux/aarch64/clone3.S:75

Thread T5 (QThread) created by T2 (QThread) here:
    #0 0xffffb536f0a4 in pthread_create ../../../../src/libsanitizer/asan/asan_interceptors.cpp:250
    #1 0xffffb32d06a8 in QThread::start(QThread::Priority) src/corelib/thread/qthread_unix.cpp:847
    #2 0xffffb4435a0c in qbs::Internal::JsCommandExecutor::doStart() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/jscommandexecutor.cpp:257
    #3 0xffffb422afb0 in qbs::Internal::AbstractCommandExecutor::start(qbs::Internal::Transformer*, qbs::Internal::AbstractCommand*) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/abstractcommandexecutor.cpp:77
    #4 0xffffb43fe714 in qbs::Internal::ExecutorJob::runNextCommand() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/executorjob.cpp:147
    #5 0xffffb43fe880 in qbs::Internal::ExecutorJob::onCommandFinished(qbs::ErrorInfo const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/executorjob.cpp:159
    #6 0xffffb4400f60 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #7 0xffffb4401290 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #8 0xffffb44010e8 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul>, QtPrivate::List<qbs::ErrorInfo const&>, void, void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #9 0xffffb4400618 in void QtPrivate::FunctionPointer<void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&)>::call<QtPrivate::List<qbs::ErrorInfo const&>, void>(void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), qbs::Internal::ExecutorJob*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #10 0xffffb44002b8 in QtPrivate::QCallableObject<void (qbs::Internal::ExecutorJob::*)(qbs::ErrorInfo const&), QtPrivate::List<qbs::ErrorInfo const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #11 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #12 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #13 0xffffb408d090 in void QMetaObject::activate<void, qbs::ErrorInfo>(QObject*, QMetaObject const*, int, void*, qbs::ErrorInfo const&) (/home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/lib/libqbscore.so.3.1+0x85d090) (BuildId: a842f05bf6356107c2de4a2a76fb6cd21fbd4921)
    #14 0xffffb4081840 in qbs::Internal::AbstractCommandExecutor::finished(qbs::ErrorInfo const&) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/FMV24GPI5Y/moc_abstractcommandexecutor.cpp:151
    #15 0xffffb4453be8 in qbs::Internal::ProcessCommandExecutor::sendProcessOutput() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/processcommandexecutor.cpp:329
    #16 0xffffb4454f40 in qbs::Internal::ProcessCommandExecutor::onProcessFinished() /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/buildgraph/processcommandexecutor.cpp:378
    #17 0xffffb4458a90 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #18 0xffffb4458d68 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #19 0xffffb4458c18 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (qbs::Internal::ProcessCommandExecutor::*)()>::call(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #20 0xffffb4458950 in void QtPrivate::FunctionPointer<void (qbs::Internal::ProcessCommandExecutor::*)()>::call<QtPrivate::List<>, void>(void (qbs::Internal::ProcessCommandExecutor::*)(), qbs::Internal::ProcessCommandExecutor*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #21 0xffffb4458794 in QtPrivate::QCallableObject<void (qbs::Internal::ProcessCommandExecutor::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #22 0xffffb31b7bbc in QtPrivate::QSlotObjectBase::call(QObject*, void**) src/corelib/kernel/qobjectdefs_impl.h:461
    #23 0xffffb31b7bbc in void doActivate<false>(QObject*, int, void**) src/corelib/kernel/qobject.cpp:4157
    #24 0xffffb4090a0c in void QMetaObject::activate<void, int>(QObject*, QMetaObject const*, int, void*, int const&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs.h:306
    #25 0xffffb40843f8 in qbs::Internal::QbsProcess::finished(int) /home/shanker/src/qbs/qbs-3.1.2/obj-aarch64-linux-gnu/src/lib/corelib/qbscore_autogen/CB6E7VNMGS/moc_qbsprocess.cpp:135
    #26 0xffffb4b35914 in qbs::Internal::QbsProcess::handleFinishedPacket(QByteArray const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/tools/qbsprocess.cpp:181
    #27 0xffffb4b34d90 in qbs::Internal::QbsProcess::handlePacket(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&) /home/shanker/src/qbs/qbs-3.1.2/src/lib/corelib/tools/qbsprocess.cpp:137
    #28 0xffffb4b3749c in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}::operator()() const /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:127
    #29 0xffffb4b377cc in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**)::{lambda()#1}&&) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:65
    #30 0xffffb4b37624 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void, void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:126
    #31 0xffffb4b36af8 in void QtPrivate::FunctionPointer<void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&)>::call<QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void>(void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), qbs::Internal::QbsProcess*, void**) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:174
    #32 0xffffb4b368b4 in QtPrivate::QCallableObject<void (qbs::Internal::QbsProcess::*)(qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&), QtPrivate::List<qbs::Internal::LauncherPacketType, unsigned long long, QByteArray const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) /usr/include/aarch64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:545
    #33 0xffffb31a7850 in QObject::event(QEvent*) src/corelib/kernel/qobject.cpp:1432
    #34 0xffffb3159948 in doNotify src/corelib/kernel/qcoreapplication.cpp:1207
    #35 0xffffb3159948 in QCoreApplication::notify(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1190
    #36 0xffffb3159948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) src/corelib/kernel/qcoreapplication.cpp:1106
    #37 0xffffb3159c64 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) src/corelib/kernel/qcoreapplication.cpp:1891
    #38 0xffffb33ba22c in postEventSourceDispatch src/corelib/kernel/qeventdispatcher_glib.cpp:246
    #39 0xffffb211ab94 in g_main_dispatch ../../../glib/gmain.c:3565
    #40 0xffffb211e150 in g_main_context_dispatch_unlocked ../../../glib/gmain.c:4425
    #41 0xffffb211e150 in g_main_context_iterate_unlocked ../../../glib/gmain.c:4490
    #42 0xffffb211e9a4 in g_main_context_iteration ../../../glib/gmain.c:4556
    #43 0xffffb33b6d54 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #44 0xffffb3164000 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) src/corelib/kernel/qeventloop.cpp:186
    #45 0xffffb3252d38 in QThread::exec() src/corelib/thread/qthread.cpp:659
    #46 0xffffb32d562c in operator() src/corelib/thread/qthread_unix.cpp:434
    #47 0xffffb32d562c in terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > src/corelib/thread/qthread_unix.cpp:366
    #48 0xffffb32d562c in QThreadPrivate::start(void*) src/corelib/thread/qthread_unix.cpp:394
    #49 0xffffb52fed44 in asan_thread_start ../../../../src/libsanitizer/asan/asan_interceptors.cpp:239
    #50 0xffffb2b62498 in thread_start ../sysdeps/unix/sysv/linux/aarch64/clone3.S:75

SUMMARY: AddressSanitizer: double-free src/corelib/tools/qarraydata.h:162 in QTypedArrayData<char>::deallocate(QArrayData*)

#1123679#16
Date:
2026-01-21 20:00:14 UTC
From:
To:
Control: reassign -1 src:qt6-base 6.8.2+dfsg-9+deb13u1
Control: found -1 6.9.2+dfsg-3
Control: tags -1 + upstream
Control: retitle -1 Data Race in QProcessEnvironment
Control: forwarded -1 https://qt-project.atlassian.net/browse/QTBUG-142938
Control: clone -1 -2
Control: reassign -2 src:qtbase-opensource-src 5.15.15+dfsg-6
Control: found -2  5.15.17+dfsg-6
Control: affects -1 src:qbs

This bug turned out to be in qt-base, where QProcessEnvironment has data race
when multiple (lazy) copies of one QProcessEnvironment object are used in
parallel.

There are two approaches to fix this. Which one should be used is still in
discussion.

This bug is introduced since 5.14, so the same bug exists in Qt5.

#1123679#39
Date:
2026-01-30 15:40:06 UTC
From:
To:
This bug has been fix in upstream by reverting the commit c5d6b263c204
("QProcessEnvironment: simplify locking"). The fix has been applied
to upstream and backported to the 6.8 branch. See commit 080d61c02067
("Revert "QProcessEnvironment: simplify locking"") [1].

Cheers,

Miao Wang

[1]: https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=commitdiff;h=080d61c020678b75ed9d5acb062ec82ba8fc402f

#1123679#50
Date:
2026-05-02 08:39:33 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
qt6-base, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1123679@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pino Toscano <pino@debian.org> (supplier of updated qt6-base package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 02 May 2026 10:14:59 +0200
Source: qt6-base
Architecture: source
Version: 6.10.2+dfsg-12
Distribution: unstable
Urgency: medium
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Changed-By: Pino Toscano <pino@debian.org>
Closes: 1123679 1133708
Changes:
 qt6-base (6.10.2+dfsg-12) unstable; urgency=medium
 .
   * Team upload.
   * Update the symbols files from the logs of buildds.
   * Backport upstream commit 406903b6ef76b8333bcc332a2e5768953c3fddd4 to handle
     copy_file_range() returning ENOSYS (e.g. on Hurd); patch
     upstream_QFileSystemEngine-handle-copy_file_range-returning-E.patch.
     (Closes: #1133708)
   * Backport upstream commit 4b1eb34337bdbc66e0da18a7e7375ed0dd8455ec to fix
     concurrency issues in QProcessEnvironment; patch
     upstream_Revert-QProcessEnvironment-simplify-locking.patch.
     (Closes: #1123679)
Checksums-Sha1:
 b098b9680efcc8acd38ad12f8ab9aab2e096d24d 5909 qt6-base_6.10.2+dfsg-12.dsc
 06cae532d5054bcf9c6dd2984a6a7c367d952d3e 208568 qt6-base_6.10.2+dfsg-12.debian.tar.xz
 2797af1508e5d19ac366a7afbaa208cbfbefd6c9 16414 qt6-base_6.10.2+dfsg-12_source.buildinfo
Checksums-Sha256:
 4c457577a904c7dcde4d23d01d0e8d421111d4cab1d8eb605881c18ea4ecbd38 5909 qt6-base_6.10.2+dfsg-12.dsc
 87a7e649d39873b84777c56731483f288c7a91a4b48656223b0da8758bda544d 208568 qt6-base_6.10.2+dfsg-12.debian.tar.xz
 603823ef39eebf8ee6c5dd9a6d7b47ebff89e7c14692e051cac053a8fd52fde0 16414 qt6-base_6.10.2+dfsg-12_source.buildinfo
Files:
 ae23338fed92b90897f51f50ac28dfd5 5909 libs optional qt6-base_6.10.2+dfsg-12.dsc
 aadcbf153df27e122ff0ccaea612790c 208568 libs optional qt6-base_6.10.2+dfsg-12.debian.tar.xz
 334918ca785b4a77f1f8caa9951715a7 16414 libs optional qt6-base_6.10.2+dfsg-12_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEXyqfuC+mweEHcAcHLRkciEOxP00FAmn1ssEACgkQLRkciEOx
P02y9A/+OVZvF6prCMA4yBunlZfUITCFTWXN+hzowr7d7TpC8Hxp+NE52R813qrA
sC7cIWo2J8OG5Urjzxs8Ef3PcQ+bPFQl6UENAwwsltLKlrNvVlZp7IKyRDcKb+2R
RW9mClbtq4YqMy5UNDoGOWcU/xdgd/hgzZq0HbRLv9iCluHPnbUIY66lmJTaBA/Q
6FWbpMhV/8gpmKTxzO0a1e/Rs4Q1JgRI3/Fusbn18SL/mZ6tzkhG5J3jUlyMLmk9
F84ABv+oBErVeERB+xuBlN7wXXipPnwIUGeudEX4Y3zZkuI/eu9CBtmJ2j4ZxCEz
zfZMM5ffqnbh9PN+Zl1lw1RKFjE476+VLnifJXcGIOc0cN1WoACYP6gkrQYO1oP+
ZTMjd8By++wGedViFJ2Tf8AW+MUkIodB/FxYmfXOfnvS+6Ci3O7vW4a4bYPxeey+
1TCSDDYOAgvK8VtAXz5AbYR3I7KhLkS7qvmjnULa03D8yFCRmIIXHaspUOSf/9v3
+MdkW8r8R2BvMlP8p0/BiFBLHG3Bo0mHgKMxnZ8kFxMvOoIPTthb84miP8S5fZrA
cfKzfOl0OXnab9kNtUCJdYPiq1weflstPNvu5AflUsMBB/qA4qbTPxnB+z+0WaO+
ExklhGIL9ox6azTQn7zg4KR4XMLm6X7RVZAI/cDUdrkrwdLAtnw=
=gH5h
-----END PGP SIGNATURE-----

#1123679#55
Date:
2026-05-06 18:32:52 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
qt6-base, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1123679@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Miao Wang <shankerwangmiao@gmail.com> (supplier of updated qt6-base package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 04 May 2026 16:21:36 +0800
Source: qt6-base
Architecture: source
Version: 6.8.2+dfsg-9+deb13u2
Distribution: trixie
Urgency: medium
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Changed-By: Miao Wang <shankerwangmiao@gmail.com>
Closes: 1122640 1123679
Changes:
 qt6-base (6.8.2+dfsg-9+deb13u2) trixie; urgency=medium
 .
   * Non-maintainer upload.
   * Backport upstream patches to fix data races in QReadWriteLock
     (Closes: #1122640).
   * Backport a upstream patch to fix data races in QProcessEnvironment
     (Closes: #1123679).
Checksums-Sha1:
 b993d9a00eee6cb414d1c20f06c0ba007e51c28c 5059 qt6-base_6.8.2+dfsg-9+deb13u2.dsc
 99a880880641f7305b30ce44baf7fb015b902277 203196 qt6-base_6.8.2+dfsg-9+deb13u2.debian.tar.xz
 6e4abd584c152ddb7d3805da3b869f6174ec838a 12391 qt6-base_6.8.2+dfsg-9+deb13u2_source.buildinfo
Checksums-Sha256:
 fd3d4e1ad5bb96dbdaf212f9edabf4dfc08b4f39b321e9325e9b5ab83826f1f8 5059 qt6-base_6.8.2+dfsg-9+deb13u2.dsc
 d06a727b594206cbc5f0447fb202c64c9d190cf03032bf9618c46f8bd4fd9506 203196 qt6-base_6.8.2+dfsg-9+deb13u2.debian.tar.xz
 327ae9d0c9cefe83de127e0c29bf4099d93b243743805a4dce461bc533083b3a 12391 qt6-base_6.8.2+dfsg-9+deb13u2_source.buildinfo
Files:
 a7c6810abdcf166f8dfe442ef957a8f0 5059 libs optional qt6-base_6.8.2+dfsg-9+deb13u2.dsc
 cb4a8aadb08109702ba743a8c4e54440 203196 libs optional qt6-base_6.8.2+dfsg-9+deb13u2.debian.tar.xz
 ec2082af8223a738a4afe97499a57efb 12391 libs optional qt6-base_6.8.2+dfsg-9+deb13u2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEExq6D0hxncEPaPayX+GQ1dHE8m64FAmn7DMMACgkQ+GQ1dHE8
m6582QgAw6fDxkxnOTMFCEo68gcDmhxWlkc0kZQavZINAJnAdyWb2zT2SGtzvpWF
vijwqhZPxt5HytdG3TY4A7Es92pzlntJylXXd1TVIOjmVMNy7UooPganqI6PIw/r
Fz+6ymXYA0D1E0/xMoYjaI3cKVqLDMC49vSZYNvR0/jfUDKZGHa/WqqF+UN0Ncw1
RkW8w2m79m+FfU2u09fG3F06sLnu25Qepwz6xd5geICGj+ex5bbbfwcpIWn9tkR0
zPqQRcT5e07LF7u/vZcnzSOQTeAi+T44/yAR0c6NDm53Qj0mKWcXcG77U8oUEzF0
OL2pEZbF6AAF3ZhxcNbd7CmEwg7d1A==
=a9kS
-----END PGP SIGNATURE-----