[Interest] TSAN findings in a simple QApplication/QMetaObject::invokeMethod example

Dennis Luehring dl.soluz at gmx.net
Fri Nov 4 20:33:53 CET 2022


Am 03.11.2022 um 23:09 schrieb Thiago Macieira:
> On Thursday, 3 November 2022 11:09:48 PDT Dennis Luehring wrote:
> > do you know a good howto for building Qt 6.4 on Fedora 36 or Ubnuntu
> > 22.04 with TSAN?
>
> Pass -DFEATURE_sanitize_thread=ON to cmake or -sanitize thread if you're using
> the configure script.
>
Am 03.11.2022 um 23:09 schrieb Thiago Macieira:
 > On Thursday, 3 November 2022 11:09:48 PDT Dennis Luehring wrote:
 > > do you know a good howto for building Qt 6.4 on Fedora 36 or Ubnuntu
 > > 22.04 with TSAN?
 >
 > Pass -DFEATURE_sanitize_thread=ON to cmake or -sanitize thread if
you're using
 > the configure script.
 >

i've have build Qt 6.4 from source with TSAN under Ubuntu 22.04

using these steps: https://wiki.qt.io/Building_Qt_6_from_Git

cd /home/linux/dev/3rdparty-linux-gcc
mkdir qt6_dev
cd qt6_dev
git clone git://code.qt.io/qt/qt5.git qt6
cd qt6
git checkout v6.4.0
perl init-repository
mkdir qt6-build
cd qt6-build
../qt6/configure -developer-build -opensource -nomake examples -nomake
tests -DFEATURE_sanitize_thread=ON
cmake --build . --parallel

and changed my examples CMakeLists.txt to

[CMakeLists.txt]
cmake_minimum_required (VERSION 3.14)

project(qt_tsan_tests)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

list(APPEND CMAKE_PREFIX_PATH
"/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6-build/qtbase/lib/cmake")

add_executable (qt_tsan_tests my_application.h my_application.cpp main.cpp)

find_package(Qt6 CONFIG COMPONENTS Widgets REQUIRED)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fno-omit-frame-pointer -Wall
-Wextra -fsanitize=thread" )
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}
-fno-omit-frame-pointer -fsanitize=thread")

target_link_libraries(qt_tsan_tests PRIVATE Qt6::Widgets)
-----------------------



it didn't really changed my TSAN Warnings (the example prints
QT_VERSION_STR: 6.4.0)


==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b70000124b0 by thread T3:
     #0 memset
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:799
(libtsan.so.0+0x614cb)
     #1 memset
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:797
(libtsan.so.0+0x614cb)
     #2 g_slice_alloc0 <null> (libglib-2.0.so.0+0x761e2)

   Previous write of size 8 at 0x7b70000124b0 by thread T2:
     #0 posix_memalign
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:839
(libtsan.so.0+0x31da1)
     #1 <null> <null> (libglib-2.0.so.0+0x748b6)

   Location is heap block of size 2032 at 0x7b7000012000 allocated by
thread T2:
     #0 posix_memalign
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:839
(libtsan.so.0+0x31da1)
     #1 <null> <null> (libglib-2.0.so.0+0x748b6)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x761e2) in g_slice_alloc0
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Atomic read of size 1 at 0x7b0c00003060 by main thread:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 g_variant_type_info_get <null> (libglib-2.0.so.0+0x9bd09)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Previous write of size 8 at 0x7b0c00003060 by thread T2:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 <null> <null> (libglib-2.0.so.0+0xa3eb0)

   Location is heap block of size 40 at 0x7b0c00003060 allocated by
thread T2:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 <null> <null> (libglib-2.0.so.0+0xa3eb0)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x9bd09) in g_variant_type_info_get
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0800003520 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x54258)

   Previous write of size 8 at 0x7b0800003520 by thread T2:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x54258)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b1800006600 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x53fda)

   Previous write of size 8 at 0x7b1800006600 by thread T2:
     #0 calloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:672
(libtsan.so.0+0x31edc)
     #1 g_malloc0 <null> (libglib-2.0.so.0+0x5ec40)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x53fda)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b1000004500 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x54048)

   Previous write of size 8 at 0x7b1000004500 by thread T2:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x54048)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Read of size 1 at 0x7b0400003840 by thread T3:
     #0 strcmp
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:457
(libtsan.so.0+0x672c1)
     #1 g_str_equal <null> (libglib-2.0.so.0+0x3848c)

   Previous write of size 8 at 0x7b0400003840 by thread T4:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Location is heap block of size 1 at 0x7b0400003840 allocated by
thread T4:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T4 'dconf worker' (tid=29201, running) created by main thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x3848c) in g_str_equal
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Read of size 1 at 0x7b0800006020 by thread T3:
     #0 strcmp
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:457
(libtsan.so.0+0x672c1)
     #1 <null> <null> (libgio-2.0.so.0+0x1089f2)

   Previous write of size 8 at 0x7b0800006020 by thread T4:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Location is heap block of size 22 at 0x7b0800006020 allocated by
thread T4:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T4 'dconf worker' (tid=29201, running) created by main thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libgio-2.0.so.0+0x1089f2)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Read of size 8 at 0x7b5000031800 by thread T3:
     #0 sendmsg
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3092
(libtsan.so.0+0x54ca2)
     #1 g_socket_send_message_with_timeout <null> (libgio-2.0.so.0+0xa3166)

   Previous write of size 8 at 0x7b5000031800 by thread T4:
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 g_realloc <null> (libglib-2.0.so.0+0x5ed6f)

   Location is heap block of size 512 at 0x7b5000031800 allocated by
thread T4:
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 g_realloc <null> (libglib-2.0.so.0+0x5ed6f)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

   Thread T4 'dconf worker' (tid=29201, running) created by main thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xa3166) in
g_socket_send_message_with_timeout
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Read of size 8 at 0x7b4000003200 by thread T3:
     #0 sendmsg
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3092
(libtsan.so.0+0x54ca2)
     #1 g_socket_send_message_with_timeout <null> (libgio-2.0.so.0+0xa3166)

   Previous write of size 1 at 0x7b4000003207 by main thread (mutexes:
write M117):
     #0 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
(libtsan.so.0+0x6243e)
     #1 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:819
(libtsan.so.0+0x6243e)
     #2 <null> <null> (libgio-2.0.so.0+0x142a4a)
     #3 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Location is heap block of size 256 at 0x7b4000003200 allocated by
main thread:
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 g_realloc <null> (libglib-2.0.so.0+0x5ed6f)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xa3166) in
g_socket_send_message_with_timeout
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Read of size 8 at 0x7b4000003208 by thread T3:
     #0 sendmsg
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3092
(libtsan.so.0+0x54ca2)
     #1 g_socket_send_message_with_timeout <null> (libgio-2.0.so.0+0xa3166)

   Previous write of size 8 at 0x7b4000003208 by main thread (mutexes:
write M117):
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 g_realloc <null> (libglib-2.0.so.0+0x5ed6f)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Location is heap block of size 256 at 0x7b4000003200 allocated by
main thread:
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 g_realloc <null> (libglib-2.0.so.0+0x5ed6f)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xa3166) in
g_socket_send_message_with_timeout
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0400009da0 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 g_variant_type_info_unref <null> (libglib-2.0.so.0+0x9f2a4)

   Previous read of size 1 at 0x7b0400009da4 by main thread (mutexes:
write M117):
     #0 strcmp
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:457
(libtsan.so.0+0x672c1)
     #1 g_dbus_message_to_blob <null> (libgio-2.0.so.0+0x110a62)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x9f2a4) in
g_variant_type_info_unref
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b080000ea40 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 g_bytes_unref <null> (libglib-2.0.so.0+0x23aa8)

   Previous read of size 8 at 0x7b080000ea40 by main thread (mutexes:
write M117):
     #0 strlen
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:386
(libtsan.so.0+0x60a2b)
     #1 strlen
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:378
(libtsan.so.0+0x60a2b)
     #2 <null> <null> (libgio-2.0.so.0+0x10f705)
     #3 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x23aa8) in g_bytes_unref
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b080000ea50 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 g_bytes_unref <null> (libglib-2.0.so.0+0x23aa8)

   Previous read of size 1 at 0x7b080000ea51 by main thread (mutexes:
write M117):
     #0 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
(libtsan.so.0+0x6243e)
     #1 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:819
(libtsan.so.0+0x6243e)
     #2 <null> <null> (libgio-2.0.so.0+0x142a4a)
     #3 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x23aa8) in g_bytes_unref
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b080000eb40 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x54258)

   Previous write of size 8 at 0x7b080000eb40 by main thread (mutexes:
write M117):
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x54258)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b100000df40 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x54048)

   Previous write of size 8 at 0x7b100000df40 by main thread (mutexes:
write M117):
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x54048)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b1c00002fb0 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x53fda)

   Previous write of size 8 at 0x7b1c00002fb0 by main thread (mutexes:
write M117):
     #0 calloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:672
(libtsan.so.0+0x31edc)
     #1 g_malloc0 <null> (libglib-2.0.so.0+0x5ec40)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M117 (0x7b0c00003030) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libglib-2.0.so.0+0xa3edd)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x53fda)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b200002e400 by thread T7:
     #0 operator delete(void*, unsigned long)
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150
(libtsan.so.0+0x8e878)
     #1 QMetaCallEvent::~QMetaCallEvent()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:600
(libQt6Core.so.6+0x1fdc76)

   Previous write of size 8 at 0x7b200002e400 by main thread:
     #0 operator new(unsigned long)
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64
(libtsan.so.0+0x8f162)
     #1 void doActivate<false>(QObject*, int, void**)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:3952
(libQt6Core.so.6+0x21089d)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T7 'QDBusConnection' (tid=29204, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator
delete(void*, unsigned long)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Atomic read of size 1 at 0x7b0c000127e0 by main thread:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 dbus_connection_get_is_connected <null> (libdbus-1.so.3+0xfd4b)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Previous write of size 8 at 0x7b0c000127e0 by thread T7:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 <null> <null> (libdbus-1.so.3+0x32045)

   Location is heap block of size 40 at 0x7b0c000127e0 allocated by
thread T7:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 <null> <null> (libdbus-1.so.3+0x32045)

   Thread T7 'QDBusConnection' (tid=29204, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libdbus-1.so.3+0xfd4b) in
dbus_connection_get_is_connected
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b1400015d10 by main thread:
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 QArrayData::reallocateUnaligned(QArrayData*, void*, long long,
long long, QArrayData::AllocationOption)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/tools/qarraydata.cpp:224
(libQt6Core.so.6+0x3486fa)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Previous write of size 8 at 0x7b1400015d10 by thread T5:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 allocateData
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/tools/qarraydata.cpp:142
(libQt6Core.so.6+0x3483a5)

   Thread T5 'WaylandEventThr' (tid=29202, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/tools/qarraydata.cpp:224
in QArrayData::reallocateUnaligned(QArrayData*, void*, long long, long
long, QArrayData::AllocationOption)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Atomic read of size 1 at 0x7b0c000121b0 by main thread:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 dbus_connection_get_is_connected <null> (libdbus-1.so.3+0xfd4b)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Previous write of size 8 at 0x7b0c000121b0 by thread T7 (mutexes:
write M130):
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 <null> <null> (libdbus-1.so.3+0x32045)

   Location is heap block of size 40 at 0x7b0c000121b0 allocated by
thread T7:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 <null> <null> (libdbus-1.so.3+0x32045)

   Mutex M130 (0x7b0c00013620) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 <null> <null> (libdbus-1.so.3+0x32072)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T7 'QDBusConnection' (tid=29204, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libdbus-1.so.3+0xfd4b) in
dbus_connection_get_is_connected
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0c00001950 by main thread:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libgio-2.0.so.0+0xb0744)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Previous read of size 8 at 0x7b0c00001950 by thread T2:
     #0 strlen
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:386
(libtsan.so.0+0x60a2b)
     #1 strlen
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:378
(libtsan.so.0+0x60a2b)
     #2 g_strdup <null> (libglib-2.0.so.0+0x73567)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xb0744)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Read of size 8 at 0x7b4000005700 by thread T3:
     #0 sendmsg
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3092
(libtsan.so.0+0x54ca2)
     #1 g_socket_send_message_with_timeout <null> (libgio-2.0.so.0+0xa3166)

   Previous write of size 1 at 0x7b4000005704 by main thread:
     #0 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
(libtsan.so.0+0x6243e)
     #1 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:819
(libtsan.so.0+0x6243e)
     #2 <null> <null> (libgio-2.0.so.0+0x142a4a)
     #3 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Location is heap block of size 256 at 0x7b4000005700 allocated by
main thread:
     #0 realloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:685
(libtsan.so.0+0x34179)
     #1 g_realloc <null> (libglib-2.0.so.0+0x5ed6f)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libgio-2.0.so.0+0xa3166) in
g_socket_send_message_with_timeout
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0800005020 by main thread:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x54258)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Previous write of size 8 at 0x7b0800005020 by thread T2:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x54258)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0400011d20 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 g_variant_type_info_unref <null> (libglib-2.0.so.0+0x9f2a4)

   Previous read of size 1 at 0x7b0400011d23 by main thread:
     #0 strcmp
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:457
(libtsan.so.0+0x672c1)
     #1 g_dbus_message_to_blob <null> (libgio-2.0.so.0+0x110a62)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x9f2a4) in
g_variant_type_info_unref
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0c000030c0 by main thread:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x54048)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Previous write of size 8 at 0x7b0c000030c0 by thread T2:
     #0 malloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:655
(libtsan.so.0+0x31c57)
     #1 g_malloc <null> (libglib-2.0.so.0+0x5e718)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x54048)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b18000066c0 by main thread:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 <null> <null> (libglib-2.0.so.0+0x53fda)
     #2 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Previous write of size 8 at 0x7b18000066c0 by thread T2:
     #0 calloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:672
(libtsan.so.0+0x31edc)
     #1 g_malloc0 <null> (libglib-2.0.so.0+0x5ec40)

   Thread T2 'pool-qt_tsan_te' (tid=29199, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x53fda)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b0800034a00 by thread T3:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 g_bytes_unref <null> (libglib-2.0.so.0+0x23aa8)

   Previous read of size 8 at 0x7b0800034a00 by main thread:
     #0 strlen
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:386
(libtsan.so.0+0x60a2b)
     #1 strlen
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:378
(libtsan.so.0+0x60a2b)
     #2 <null> <null> (libgio-2.0.so.0+0x10f705)
     #3 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
(libc.so.6+0x29d8f)

   Thread T3 'gdbus' (tid=29200, running) created by thread T2 at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 <null> <null> (libglib-2.0.so.0+0xa99a4)

SUMMARY: ThreadSanitizer: data race
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x23aa8) in g_bytes_unref
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b1000012190 by main thread:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 QArrayData::deallocate(QArrayData*, long long, long long)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/tools/qarraydata.cpp:243
(libQt6Core.so.6+0x3487b7)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

   Previous read of size 8 at 0x7b1000012190 by thread T7:
     #0 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:827
(libtsan.so.0+0x6243e)
     #1 memcpy
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:819
(libtsan.so.0+0x6243e)
     #2 replaceArgEscapes
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/text/qstring.cpp:8082
(libQt6Core.so.6+0x2fcb49)

   Thread T7 'QDBusConnection' (tid=29204, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/tools/qarraydata.cpp:243
in QArrayData::deallocate(QArrayData*, long long, long long)
==================
QT_VERSION_STR: 6.4.0
---> after app.exec()
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7ba000004130 by thread T6:
     #0 close
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1690
(libtsan.so.0+0x36996)
     #1 QtWaylandClient::EventThread::run()::Pipe::~Pipe() <null>
(libQt6WaylandClient.so.6+0x7b8a9)

   Previous read of size 8 at 0x7ba000004130 by main thread:
     #0 write
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1141
(libtsan.so.0+0x4b310)
     #1 QtWaylandClient::EventThread::stop() <null>
(libQt6WaylandClient.so.6+0x7b6e0)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

   Location is file descriptor 19 created by thread T6 at:
     #0 pipe2
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1735
(libtsan.so.0+0x4262b)
     #1 qt_safe_pipe(int*, int) <null> (libQt6WaylandClient.so.6+0x7b443)

   Thread T6 'WaylandEventThr' (tid=29203, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
(/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6-build/qtbase/plugins/platforms/../../lib/libQt6WaylandClient.so.6+0x7b8a9)
in QtWaylandClient::EventThread::run()::Pipe::~Pipe()
==================
==================
WARNING: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or
destroyed) (pid=29196)
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 wl_event_queue_destroy <null> (libwayland-client.so.0+0x72ee)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

   Mutex M2929 (0x7b48000000e8) created at:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 wl_event_queue_destroy <null> (libwayland-client.so.0+0x72ee)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

SUMMARY: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or
destroyed) (/lib/x86_64-linux-gnu/libwayland-client.so.0+0x72ee) in
wl_event_queue_destroy
==================
==================
WARNING: ThreadSanitizer: heap-use-after-free (pid=29196)
   Atomic read of size 1 at 0x7b48000000e8 by main thread:
     #0 pthread_mutex_unlock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4254
(libtsan.so.0+0x3bff8)
     #1 QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:365
(libQt6WaylandClient.so.6+0x75c1f)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

   Previous write of size 8 at 0x7b48000000e8 by main thread:
     #0 free
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:711
(libtsan.so.0+0x37ab8)
     #1 QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:362
(libQt6WaylandClient.so.6+0x75c02)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

SUMMARY: ThreadSanitizer: heap-use-after-free
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:365
in QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
==================
==================
WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong
thread) (pid=29196)
     #0 pthread_mutex_unlock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4254
(libtsan.so.0+0x3bff8)
     #1 QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:365
(libQt6WaylandClient.so.6+0x75c1f)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

   Mutex M2929 (0x7b48000000e8) created at:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 wl_event_queue_destroy <null> (libwayland-client.so.0+0x72ee)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

SUMMARY: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong
thread)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:365
in QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
==================
==================
WARNING: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or
destroyed) (pid=29196)
     #0 pthread_mutex_unlock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4254
(libtsan.so.0+0x3bff8)
     #1 QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:365
(libQt6WaylandClient.so.6+0x75c1f)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

   Mutex M2929 (0x7b48000000e8) created at:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 wl_event_queue_destroy <null> (libwayland-client.so.0+0x72ee)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:43
(qt_tsan_tests+0x3531)

SUMMARY: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or
destroyed)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtwayland/src/client/qwaylanddisplay.cpp:365
in QtWaylandClient::QWaylandDisplay::~QWaylandDisplay()
==================
==================
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
(pid=29196)
   Cycle in lock order graph: M130 (0x7b0c00013620) => M131
(0x7b0c00013650) => M234 (0x7b0c000127e0) => M130

   Mutex M131 acquired here while holding mutex M130 in main thread:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 dbus_bus_register <null> (libdbus-1.so.3+0x145a9)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

     Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more
informative warning message

   Mutex M234 acquired here while holding mutex M131 in thread T7:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 dbus_connection_send_with_reply_and_block <null>
(libdbus-1.so.3+0x14363)

   Mutex M130 acquired here while holding mutex M234 in thread T7:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 <null> <null> (libdbus-1.so.3+0x12d98)

   Thread T7 'QDBusConnection' (tid=29204, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
(/lib/x86_64-linux-gnu/libdbus-1.so.3+0x145a9) in dbus_bus_register
==================
==================
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
(pid=29196)
   Cycle in lock order graph: M130 (0x7b0c00013620) => M2882
(0x7b0c000121b0) => M130

   Mutex M2882 acquired here while holding mutex M130 in thread T7:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 <null> <null> (libdbus-1.so.3+0x11d40)

     Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more
informative warning message

   Mutex M130 acquired here while holding mutex M2882 in thread T7:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 <null> <null> (libdbus-1.so.3+0x12d98)

   Thread T7 'QDBusConnection' (tid=29204, running) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
(/lib/x86_64-linux-gnu/libdbus-1.so.3+0x11d40)
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b180001aa28 by main thread:
     #0 pthread_cond_destroy
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1215
(libtsan.so.0+0x47ff6)
     #1 QWaitCondition::~QWaitCondition()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:147
(libQt6Core.so.6+0x429bde)

   Previous read of size 8 at 0x7b180001aa28 by thread T7 (mutexes:
write M179):
     #0 pthread_cond_broadcast
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1208
(libtsan.so.0+0x3fc12)
     #1 QWaitCondition::wakeAll()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:164
(libQt6Core.so.6+0x429d9a)

   Location is heap block of size 96 at 0x7b180001aa00 allocated by main
thread:
     #0 operator new(unsigned long)
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64
(libtsan.so.0+0x8f162)
     #1 QWaitCondition::QWaitCondition()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:139
(libQt6Core.so.6+0x429b45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Mutex M179 (0x7b180001aa00) created at:
     #0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
     #1 QWaitCondition::QWaitCondition()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:140
(libQt6Core.so.6+0x429b63)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T7 'QDBusConnection' (tid=29204, finished) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:147
in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 1 at 0x7b180001aa00 by main thread:
     #0 pthread_mutex_destroy
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1244
(libtsan.so.0+0x39398)
     #1 QWaitCondition::~QWaitCondition()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:148
(libQt6Core.so.6+0x429c0a)

   Previous atomic read of size 1 at 0x7b180001aa00 by thread T7:
     #0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
     #1 QWaitCondition::wakeAll()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:162
(libQt6Core.so.6+0x429d56)

   Location is heap block of size 96 at 0x7b180001aa00 allocated by main
thread:
     #0 operator new(unsigned long)
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64
(libtsan.so.0+0x8f162)
     #1 QWaitCondition::QWaitCondition()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:139
(libQt6Core.so.6+0x429b45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

   Thread T7 'QDBusConnection' (tid=29204, finished) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:148
in QWaitCondition::~QWaitCondition()
==================
==================
WARNING: ThreadSanitizer: data race (pid=29196)
   Write of size 8 at 0x7b280002a440 by main thread:
     #0 operator delete(void*, unsigned long)
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150
(libtsan.so.0+0x8e878)
     #1 QThreadData::deref()
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:108
(libQt6Core.so.6+0x32a1d8)

   Previous write of size 8 at 0x7b280002a440 by thread T7:
     #0 operator new(unsigned long)
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:64
(libtsan.so.0+0x8f162)
     #1 QObject::moveToThread(QThread*)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1640
(libQt6Core.so.6+0x1ff606)

   Thread T7 'QDBusConnection' (tid=29204, finished) created by main
thread at:
     #0 pthread_create
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969
(libtsan.so.0+0x605b8)
     #1 QThread::start(QThread::Priority)
/home/linux/dev/3rdparty-linux-gcc/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x414a45)
     #2 main
/home/linux/dev/test/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:9
(qt_tsan_tests+0x348b)

SUMMARY: ThreadSanitizer: data race
../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 in operator
delete(void*, unsigned long)
==================
ThreadSanitizer: reported 38 warnings




More information about the Interest mailing list