[Interest] TSAN build of GLib+DBus+Qt 6.4 shows TSAN warnings
Dennis Luehring
dl.soluz at gmx.net
Sun Nov 20 12:19:50 CET 2022
mkdir ~/qt6_dev
1. build Glib with TSAN
cd ~/qt6_dev
git clone https://gitlab.gnome.org/GNOME/glib.git
cd glib
git checkout 2.72.1
cd ..
mkdir glib-build
cd glib-build
meson setup ../glib -Dbuildtype=debug -Db_sanitize=thread --prefix
~/qt6_dev/glib-install
meson compile
meson install
2. build DBus with TSAN (and TSAN-Glib)
git clone https://github.com/freedesktop/dbus.git
cd dbus
git checkout dbus-1.12.20
cd ..
mkdir dbus-build
cd dbus-build
PKG_CONFIG_PATH=~/qt6_dev/glib-install/lib/x86_64-linux-gnu/pkgconfig
cmake ../dbus/cmake -DCMAKE_INSTALL_PREFIX=~/qt6_dev/dbus-install
-DCMAKE_CXX_FLAGS="-g -fno-omit-frame-pointer -fsanitize=thread"
-DCMAKE_C_FLAGS="-g -fno-omit-frame-pointer -fsanitize=thread"
-DCMAKE_EXE_LINKER_FLAGS="-fno-omit-frame-pointer -fsanitize=thread"
-DCMAKE_MODULE_LINKER_FLAGS="-fno-omit-frame-pointer -fsanitize=thread"
cmake --build . --parallel 6
cmake --install .
3. build Qt 6.4(with patch:
https://codereview.qt-project.org/c/qt/qtbase/+/442720) with TSAN
cd ~/qt6_dev
git clone git://code.qt.io/qt/qt5.git qt6
cd qt6
perl init-repository
git checkout v6.4.0
# apply patch
cd ..
mkdir qt6-build
cd qt6-build
PKG_CONFIG_PATH=~/qt6_dev/glib-install/lib/x86_64-linux-gnu/pkgconfig:~/qt6_dev/dbus-install/lib/pkgconfig
../qt6/qtbase/configure -debug -opensource -nomake examples -nomake
tests -sanitize thread -prefix ~/qt6_dev/qt6-install
cmake --build . --parallel 6
cmake --install .
problem: qt6 cmake ignores for unknown reasons my TSAN dbus lib so we
later use LD_LIBRARY_PATH to force TSAN dbus lib loading
4. build simple example qt_tsan_tests with TSAN
int main( int argc, char* argv[] )
{
QApplication app( argc, argv );
QWidget window;
window.resize( 320, 240 );
window.show();
return app.exec();
}
5. start example with
LD_LIBRARY_PATH=~/qt6_dev/dbus-install/lib:$LD_LIBRARY_PATH ./qt_tsan_tests
6. TSAN Output: https://pastebin.com/FHjrcQLS
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
==================
WARNING: ThreadSanitizer: data race (pid=5889)
Read of size 4 at 0x7fdbf9d2d09c by main thread:
#0 _dbus_decrement_fail_alloc_counter
/home/linux/qt6_dev/dbus/dbus/dbus-memory.c:269 (libdbus-1.so.3+0x97061)
#1 dbus_realloc /home/linux/qt6_dev/dbus/dbus/dbus-memory.c:608
(libdbus-1.so.3+0x979bc)
#2 reallocate_for_length
/home/linux/qt6_dev/dbus/dbus/dbus-string.c:366 (libdbus-1.so.3+0x9a4d2)
#3 set_length /home/linux/qt6_dev/dbus/dbus/dbus-string.c:407
(libdbus-1.so.3+0x9a81b)
#4 open_gap /home/linux/qt6_dev/dbus/dbus/dbus-string.c:428
(libdbus-1.so.3+0x9a905)
#5 copy /home/linux/qt6_dev/dbus/dbus/dbus-string.c:1216
(libdbus-1.so.3+0x9f704)
#6 _dbus_string_copy_len
/home/linux/qt6_dev/dbus/dbus/dbus-string.c:1386 (libdbus-1.so.3+0xa0b73)
#7 marshal_len_followed_by_bytes
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-basic.c:730
(libdbus-1.so.3+0x8f9b6)
#8 marshal_string
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-basic.c:762
(libdbus-1.so.3+0x8fac0)
#9 _dbus_marshal_write_basic
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-basic.c:844
(libdbus-1.so.3+0x8fd72)
#10 _dbus_type_writer_write_basic_no_typecode
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-recursive.c:1605
(libdbus-1.so.3+0x465cf)
#11 _dbus_type_writer_write_basic
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-recursive.c:2327
(libdbus-1.so.3+0x4810a)
#12 write_basic_field
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-header.c:318
(libdbus-1.so.3+0x3f5b6)
#13 _dbus_header_create
/home/linux/qt6_dev/dbus/dbus/dbus-marshal-header.c:606
(libdbus-1.so.3+0x3ffe0)
#14 dbus_message_new_method_call
/home/linux/qt6_dev/dbus/dbus/dbus-message.c:1375 (libdbus-1.so.3+0x4fb05)
#15 q_dbus_message_new_method_call
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:345
(libQt6DBus.so.6+0xc3959)
#16 QDBusMessagePrivate::toDBusMessage(QDBusMessage const&,
QFlags<QDBusConnection::ConnectionCapability>, QDBusError*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusmessage.cpp:107
(libQt6DBus.so.6+0xc3959)
#17 QDBusConnectionPrivate::sendWithReplyAsync(QDBusMessage const&,
QObject*, char const*, char const*, int)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:2137
(libQt6DBus.so.6+0x877ae)
#18 QDBusConnection::asyncCall(QDBusMessage const&, int) const
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:655
(libQt6DBus.so.6+0x4e485)
#19 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4e5)
#20 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#21 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#22 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#23 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#24 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#25 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#26 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#27 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#28 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#29 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#30 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#31 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#32 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
Previous write of size 4 at 0x7fdbf9d2d09c by thread T1 (mutexes:
write M870):
#0 _dbus_decrement_fail_alloc_counter
/home/linux/qt6_dev/dbus/dbus/dbus-memory.c:293 (libdbus-1.so.3+0x9721b)
#1 dbus_malloc /home/linux/qt6_dev/dbus/dbus/dbus-memory.c:467
(libdbus-1.so.3+0x9760a)
#2 _dbus_memdup /home/linux/qt6_dev/dbus/dbus/dbus-internals.c:569
(libdbus-1.so.3+0x89c7a)
#3 _dbus_decompose_path
/home/linux/qt6_dev/dbus/dbus/dbus-object-tree.c:1305
(libdbus-1.so.3+0x5edef)
#4 dbus_message_get_path_decomposed
/home/linux/qt6_dev/dbus/dbus/dbus-message.c:3407 (libdbus-1.so.3+0x55879)
#5 _dbus_object_tree_dispatch_and_unlock
/home/linux/qt6_dev/dbus/dbus/dbus-object-tree.c:921
(libdbus-1.so.3+0x5df46)
#6 dbus_connection_dispatch
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4745
(libdbus-1.so.3+0x344e6)
#7 q_dbus_connection_dispatch
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:176
(libQt6DBus.so.6+0x85c11)
#8 QDBusConnectionPrivate::doDispatch()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1171
(libQt6DBus.so.6+0x85c11)
#9 QDBusConnectionPrivate::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**)
/home/linux/qt6_dev/qt6-build/src/dbus/DBus_autogen/include/moc_qdbusconnection_p.cpp:416
(libQt6DBus.so.6+0x4b240)
#10 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:610
(libQt6Core.so.6+0x23d2c7)
#11 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#12 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#13 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#14 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#15 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#16 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#17 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#18 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#19 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#20 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#21 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#22 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#23
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#24
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#25 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#26 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#27 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#28 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#29 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#30 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Location is global 'fail_alloc_counter' of size 4 at 0x7fdbf9d2d09c
(libdbus-1.so.3+0x0000000e209c)
Mutex M870 (0x7b0c00001e60) created at:
#0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
#1 _dbus_platform_rmutex_new
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:120
(libdbus-1.so.3+0xb093e)
#2 _dbus_rmutex_new_at_location
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:63 (libdbus-1.so.3+0x77070)
#3 _dbus_connection_new_for_transport
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1288
(libdbus-1.so.3+0x2a5bc)
#4 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1826
(libdbus-1.so.3+0x2bd8f)
#5 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#6 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#7 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#8 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#9 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#10
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#12 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#13 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#14 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#15 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#16 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#17 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#18 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#19 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#20 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#21 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#22 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#23 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#24 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#25 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#26 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#27 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#28 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#29
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#30
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#31 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#32 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#33 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#34 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#35 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#36 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Thread T1 'QDBusConnection' (tid=5892, 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/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x491f6b)
#2 QDBusConnectionManager::QDBusConnectionManager()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:96
(libQt6DBus.so.6+0x4c931)
#3 innerFunction
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:40
(libQt6DBus.so.6+0x4f632)
#4 Holder
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:37
(libQt6DBus.so.6+0x4f632)
#5 instance
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:91
(libQt6DBus.so.6+0x4f632)
#6 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:73
(libQt6DBus.so.6+0x4f632)
#7 QDBusConnection::sessionBus()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:1133
(libQt6DBus.so.6+0x4f632)
#8 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4cd)
#9 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#10 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#11 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#12 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#13 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#14 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#15 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#16 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#17 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#18 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#19 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#20 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#21 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
SUMMARY: ThreadSanitizer: data race
/home/linux/qt6_dev/dbus/dbus/dbus-memory.c:269 in
_dbus_decrement_fail_alloc_counter
==================
==================
WARNING: ThreadSanitizer: data race (pid=5889)
Read of size 8 at 0x7b1400002858 by thread T1 (mutexes: write M870):
#0 _dbus_counter_get_size_value
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:276 (libdbus-1.so.3+0x68ea1)
#1 _dbus_transport_get_dispatch_status
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:1126 (libdbus-1.so.3+0x7a514)
#2 _dbus_transport_queue_messages
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:1172 (libdbus-1.so.3+0x7a855)
#3 _dbus_connection_get_dispatch_status_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4258
(libdbus-1.so.3+0x33053)
#4 dbus_connection_dispatch
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4591
(libdbus-1.so.3+0x33b94)
#5 q_dbus_connection_dispatch
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:176
(libQt6DBus.so.6+0x85c11)
#6 QDBusConnectionPrivate::doDispatch()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1171
(libQt6DBus.so.6+0x85c11)
#7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (QDBusConnectionPrivate::*)()>::call(void
(QDBusConnectionPrivate::*)(), QDBusConnectionPrivate*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x8f187)
#8 void QtPrivate::FunctionPointer<void
(QDBusConnectionPrivate::*)()>::call<QtPrivate::List<>, void>(void
(QDBusConnectionPrivate::*)(), QDBusConnectionPrivate*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x8f187)
#9 QtPrivate::QSlotObject<void (QDBusConnectionPrivate::*)(),
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*,
QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x8f187)
#10 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#11 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#12 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#13 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#14 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#15 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#16 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#17 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#18 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#19 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#20 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#21 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#22 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#23 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#24
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#25
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#26 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#27 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#28 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#29 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#30 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#31 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Previous write of size 8 at 0x7b1400002858 by main thread (mutexes:
write M869):
#0 _dbus_counter_adjust_size
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:176 (libdbus-1.so.3+0x68aa9)
#1 free_counter /home/linux/qt6_dev/dbus/dbus/dbus-message.c:613
(libdbus-1.so.3+0x4d0b1)
#2 _dbus_list_foreach /home/linux/qt6_dev/dbus/dbus/dbus-list.c:770
(libdbus-1.so.3+0x8bdb2)
#3 dbus_message_cache_or_finalize
/home/linux/qt6_dev/dbus/dbus/dbus-message.c:640 (libdbus-1.so.3+0x4d188)
#4 dbus_message_unref
/home/linux/qt6_dev/dbus/dbus/dbus-message.c:1729 (libdbus-1.so.3+0x50e0e)
#5 q_dbus_message_unref
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:377
(libQt6DBus.so.6+0xc081d)
#6 QDBusMessagePrivate::~QDBusMessagePrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusmessage.cpp:49
(libQt6DBus.so.6+0xc081d)
#7 QDBusMessage::~QDBusMessage()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusmessage.cpp:541
(libQt6DBus.so.6+0xc07dc)
#8 QDBusConnectionPrivate::getNameOwnerNoCache(QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:2546
(libQt6DBus.so.6+0x883d0)
#9 QDBusConnectionPrivate::getNameOwner(QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:2520
(libQt6DBus.so.6+0x8991e)
#10 QDBusAbstractInterfacePrivate::initOwnerTracking()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusabstractinterface.cpp:102
(libQt6DBus.so.6+0x3086c)
#11 QDBusAbstractInterface::QDBusAbstractInterface(QString const&,
QString const&, char const*, QDBusConnection const&, QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusabstractinterface.cpp:308
(libQt6DBus.so.6+0x31943)
#12 OrgA11yStatusInterface::OrgA11yStatusInterface(QString const&,
QString const&, QDBusConnection const&, QObject*)
/home/linux/qt6_dev/qt6-build/src/gui/bus_interface.cpp:32
(libQt6Gui.so.6+0x8a36d7)
#13 DBusConnection::serviceRegistered()
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/linux/dbusconnection.cpp:97
(libQt6Gui.so.6+0x8d3efe)
#14 DBusConnection::DBusConnection(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/linux/dbusconnection.cpp:64
(libQt6Gui.so.6+0x8d578f)
#15 QSpiAccessibleBridge::QSpiAccessibleBridge()
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/linux/qspiaccessiblebridge.cpp:34
(libQt6Gui.so.6+0x8f73a6)
#16 QXcbIntegration::accessibility() const
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:412
(libQt6XcbQpa.so.6+0x99cd5)
#17 platformAccessibility
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/qaccessible.cpp:456
(libQt6Gui.so.6+0x87ca30)
#18 QAccessible::isActive()
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/qaccessible.cpp:780
(libQt6Gui.so.6+0x87f9f5)
#19 QAccessible::updateAccessibility(QAccessibleEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/qaccessible.cpp:848
(libQt6Gui.so.6+0x87fd84)
#20 QWidgetPrivate::show_helper()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:7998
(libQt6Widgets.so.6+0x23adaa)
#21 QWidgetPrivate::setVisible(bool)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:8286
(libQt6Widgets.so.6+0x23f9b3)
#22 QWidget::setVisible(bool)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:8218
(libQt6Widgets.so.6+0x23fbf6)
#23 QWidget::show()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:7844
(libQt6Widgets.so.6+0x23a5af)
#24 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:12
(qt_tsan_tests+0x3206)
Location is heap block of size 72 at 0x7b1400002850 allocated by
thread T1:
#0 calloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:672
(libtsan.so.0+0x31edc)
#1 dbus_malloc0 /home/linux/qt6_dev/dbus/dbus/dbus-memory.c:573
(libdbus-1.so.3+0x9792a)
#2 _dbus_counter_new
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:93 (libdbus-1.so.3+0x687b7)
#3 _dbus_transport_init_base
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:127 (libdbus-1.so.3+0x77d60)
#4 _dbus_transport_new_for_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-socket.c:1321
(libdbus-1.so.3+0x7ee4c)
#5 _dbus_transport_new_for_domain_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:94
(libdbus-1.so.3+0x810af)
#6 _dbus_transport_open_platform_specific
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:259
(libdbus-1.so.3+0x8160c)
#7 _dbus_transport_open
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:396 (libdbus-1.so.3+0x7896a)
#8 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1818
(libdbus-1.so.3+0x2bd62)
#9 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#10 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#11 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#12 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#13 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#14
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#16 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#17 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#18 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#19 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#20 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#21 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#22 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#23 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#24 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#25 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#26 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#27 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#28 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#29 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#30 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#31 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#32 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#33
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#34
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#35 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#36 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#37 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#38 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#39 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#40 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Mutex M870 (0x7b0c00001e60) created at:
#0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
#1 _dbus_platform_rmutex_new
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:120
(libdbus-1.so.3+0xb093e)
#2 _dbus_rmutex_new_at_location
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:63 (libdbus-1.so.3+0x77070)
#3 _dbus_connection_new_for_transport
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1288
(libdbus-1.so.3+0x2a5bc)
#4 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1826
(libdbus-1.so.3+0x2bd8f)
#5 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#6 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#7 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#8 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#9 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#10
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#12 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#13 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#14 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#15 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#16 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#17 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#18 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#19 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#20 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#21 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#22 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#23 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#24 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#25 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#26 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#27 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#28 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#29
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#30
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#31 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#32 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#33 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#34 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#35 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#36 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Mutex M869 (0x7b0c00001dd0) created at:
#0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
#1 _dbus_platform_rmutex_new
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:120
(libdbus-1.so.3+0xb093e)
#2 _dbus_rmutex_new_at_location
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:63 (libdbus-1.so.3+0x77070)
#3 _dbus_counter_new
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:99 (libdbus-1.so.3+0x687ef)
#4 _dbus_transport_init_base
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:127 (libdbus-1.so.3+0x77d60)
#5 _dbus_transport_new_for_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-socket.c:1321
(libdbus-1.so.3+0x7ee4c)
#6 _dbus_transport_new_for_domain_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:94
(libdbus-1.so.3+0x810af)
#7 _dbus_transport_open_platform_specific
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:259
(libdbus-1.so.3+0x8160c)
#8 _dbus_transport_open
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:396 (libdbus-1.so.3+0x7896a)
#9 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1818
(libdbus-1.so.3+0x2bd62)
#10 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#11 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#12 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#13 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#14 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#15
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#17 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#18 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#19 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#20 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#21 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#22 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#23 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#24 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#25 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#26 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#27 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#28 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#29 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#30 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#31 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#32 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#33 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#34
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#35
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#36 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#37 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#38 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#39 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#40 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#41 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Thread T1 'QDBusConnection' (tid=5892, 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/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x491f6b)
#2 QDBusConnectionManager::QDBusConnectionManager()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:96
(libQt6DBus.so.6+0x4c931)
#3 innerFunction
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:40
(libQt6DBus.so.6+0x4f632)
#4 Holder
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:37
(libQt6DBus.so.6+0x4f632)
#5 instance
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:91
(libQt6DBus.so.6+0x4f632)
#6 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:73
(libQt6DBus.so.6+0x4f632)
#7 QDBusConnection::sessionBus()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:1133
(libQt6DBus.so.6+0x4f632)
#8 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4cd)
#9 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#10 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#11 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#12 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#13 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#14 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#15 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#16 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#17 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#18 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#19 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#20 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#21 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
SUMMARY: ThreadSanitizer: data race
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:276 in
_dbus_counter_get_size_value
==================
==================
WARNING: ThreadSanitizer: data race (pid=5889)
Read of size 8 at 0x7b1400002860 by thread T1 (mutexes: write M870):
#0 _dbus_counter_get_unix_fd_value
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:288 (libdbus-1.so.3+0x68ee4)
#1 _dbus_transport_get_dispatch_status
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:1127 (libdbus-1.so.3+0x7a554)
#2 _dbus_transport_queue_messages
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:1172 (libdbus-1.so.3+0x7a855)
#3 _dbus_connection_get_dispatch_status_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4258
(libdbus-1.so.3+0x33053)
#4 dbus_connection_dispatch
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4591
(libdbus-1.so.3+0x33b94)
#5 q_dbus_connection_dispatch
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:176
(libQt6DBus.so.6+0x85c11)
#6 QDBusConnectionPrivate::doDispatch()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1171
(libQt6DBus.so.6+0x85c11)
#7 QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (QDBusConnectionPrivate::*)()>::call(void
(QDBusConnectionPrivate::*)(), QDBusConnectionPrivate*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x8f187)
#8 void QtPrivate::FunctionPointer<void
(QDBusConnectionPrivate::*)()>::call<QtPrivate::List<>, void>(void
(QDBusConnectionPrivate::*)(), QDBusConnectionPrivate*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x8f187)
#9 QtPrivate::QSlotObject<void (QDBusConnectionPrivate::*)(),
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*,
QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x8f187)
#10 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#11 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#12 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#13 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#14 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#15 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#16 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#17 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#18 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#19 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#20 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#21 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#22 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#23 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#24
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#25
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#26 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#27 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#28 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#29 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#30 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#31 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Previous write of size 8 at 0x7b1400002860 by main thread (mutexes:
write M869):
#0 _dbus_counter_adjust_unix_fd
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:245 (libdbus-1.so.3+0x68d5b)
#1 free_counter /home/linux/qt6_dev/dbus/dbus/dbus-message.c:615
(libdbus-1.so.3+0x4d0e3)
#2 _dbus_list_foreach /home/linux/qt6_dev/dbus/dbus/dbus-list.c:770
(libdbus-1.so.3+0x8bdb2)
#3 dbus_message_cache_or_finalize
/home/linux/qt6_dev/dbus/dbus/dbus-message.c:640 (libdbus-1.so.3+0x4d188)
#4 dbus_message_unref
/home/linux/qt6_dev/dbus/dbus/dbus-message.c:1729 (libdbus-1.so.3+0x50e0e)
#5 q_dbus_message_unref
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:377
(libQt6DBus.so.6+0xc081d)
#6 QDBusMessagePrivate::~QDBusMessagePrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusmessage.cpp:49
(libQt6DBus.so.6+0xc081d)
#7 QDBusMessage::~QDBusMessage()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusmessage.cpp:541
(libQt6DBus.so.6+0xc07dc)
#8 QDBusConnectionPrivate::getNameOwnerNoCache(QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:2546
(libQt6DBus.so.6+0x883d0)
#9 QDBusConnectionPrivate::getNameOwner(QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:2520
(libQt6DBus.so.6+0x8991e)
#10 QDBusAbstractInterfacePrivate::initOwnerTracking()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusabstractinterface.cpp:102
(libQt6DBus.so.6+0x3086c)
#11 QDBusAbstractInterface::QDBusAbstractInterface(QString const&,
QString const&, char const*, QDBusConnection const&, QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusabstractinterface.cpp:308
(libQt6DBus.so.6+0x31943)
#12 OrgA11yStatusInterface::OrgA11yStatusInterface(QString const&,
QString const&, QDBusConnection const&, QObject*)
/home/linux/qt6_dev/qt6-build/src/gui/bus_interface.cpp:32
(libQt6Gui.so.6+0x8a36d7)
#13 DBusConnection::serviceRegistered()
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/linux/dbusconnection.cpp:97
(libQt6Gui.so.6+0x8d3efe)
#14 DBusConnection::DBusConnection(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/linux/dbusconnection.cpp:64
(libQt6Gui.so.6+0x8d578f)
#15 QSpiAccessibleBridge::QSpiAccessibleBridge()
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/linux/qspiaccessiblebridge.cpp:34
(libQt6Gui.so.6+0x8f73a6)
#16 QXcbIntegration::accessibility() const
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:412
(libQt6XcbQpa.so.6+0x99cd5)
#17 platformAccessibility
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/qaccessible.cpp:456
(libQt6Gui.so.6+0x87ca30)
#18 QAccessible::isActive()
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/qaccessible.cpp:780
(libQt6Gui.so.6+0x87f9f5)
#19 QAccessible::updateAccessibility(QAccessibleEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/gui/accessible/qaccessible.cpp:848
(libQt6Gui.so.6+0x87fd84)
#20 QWidgetPrivate::show_helper()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:7998
(libQt6Widgets.so.6+0x23adaa)
#21 QWidgetPrivate::setVisible(bool)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:8286
(libQt6Widgets.so.6+0x23f9b3)
#22 QWidget::setVisible(bool)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:8218
(libQt6Widgets.so.6+0x23fbf6)
#23 QWidget::show()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qwidget.cpp:7844
(libQt6Widgets.so.6+0x23a5af)
#24 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:12
(qt_tsan_tests+0x3206)
Location is heap block of size 72 at 0x7b1400002850 allocated by
thread T1:
#0 calloc
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:672
(libtsan.so.0+0x31edc)
#1 dbus_malloc0 /home/linux/qt6_dev/dbus/dbus/dbus-memory.c:573
(libdbus-1.so.3+0x9792a)
#2 _dbus_counter_new
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:93 (libdbus-1.so.3+0x687b7)
#3 _dbus_transport_init_base
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:127 (libdbus-1.so.3+0x77d60)
#4 _dbus_transport_new_for_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-socket.c:1321
(libdbus-1.so.3+0x7ee4c)
#5 _dbus_transport_new_for_domain_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:94
(libdbus-1.so.3+0x810af)
#6 _dbus_transport_open_platform_specific
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:259
(libdbus-1.so.3+0x8160c)
#7 _dbus_transport_open
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:396 (libdbus-1.so.3+0x7896a)
#8 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1818
(libdbus-1.so.3+0x2bd62)
#9 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#10 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#11 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#12 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#13 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#14
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#15 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#16 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#17 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#18 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#19 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#20 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#21 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#22 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#23 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#24 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#25 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#26 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#27 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#28 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#29 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#30 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#31 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#32 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#33
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#34
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#35 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#36 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#37 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#38 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#39 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#40 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Mutex M870 (0x7b0c00001e60) created at:
#0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
#1 _dbus_platform_rmutex_new
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:120
(libdbus-1.so.3+0xb093e)
#2 _dbus_rmutex_new_at_location
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:63 (libdbus-1.so.3+0x77070)
#3 _dbus_connection_new_for_transport
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1288
(libdbus-1.so.3+0x2a5bc)
#4 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1826
(libdbus-1.so.3+0x2bd8f)
#5 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#6 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#7 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#8 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#9 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#10
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#12 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#13 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#14 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#15 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#16 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#17 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#18 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#19 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#20 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#21 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#22 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#23 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#24 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#25 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#26 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#27 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#28 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#29
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#30
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#31 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#32 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#33 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#34 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#35 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#36 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Mutex M869 (0x7b0c00001dd0) created at:
#0 pthread_mutex_init
../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227
(libtsan.so.0+0x4bee1)
#1 _dbus_platform_rmutex_new
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:120
(libdbus-1.so.3+0xb093e)
#2 _dbus_rmutex_new_at_location
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:63 (libdbus-1.so.3+0x77070)
#3 _dbus_counter_new
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:99 (libdbus-1.so.3+0x687ef)
#4 _dbus_transport_init_base
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:127 (libdbus-1.so.3+0x77d60)
#5 _dbus_transport_new_for_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-socket.c:1321
(libdbus-1.so.3+0x7ee4c)
#6 _dbus_transport_new_for_domain_socket
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:94
(libdbus-1.so.3+0x810af)
#7 _dbus_transport_open_platform_specific
/home/linux/qt6_dev/dbus/dbus/dbus-transport-unix.c:259
(libdbus-1.so.3+0x8160c)
#8 _dbus_transport_open
/home/linux/qt6_dev/dbus/dbus/dbus-transport.c:396 (libdbus-1.so.3+0x7896a)
#9 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1818
(libdbus-1.so.3+0x2bd62)
#10 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#11 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#12 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#13 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#14 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#15
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#16 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#17 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#18 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#19 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#20 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#21 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#22 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#23 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#24 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#25 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#26 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#27 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#28 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#29 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#30 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#31 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#32 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#33 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#34
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#35
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#36 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#37 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#38 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#39 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#40 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#41 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Thread T1 'QDBusConnection' (tid=5892, 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/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x491f6b)
#2 QDBusConnectionManager::QDBusConnectionManager()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:96
(libQt6DBus.so.6+0x4c931)
#3 innerFunction
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:40
(libQt6DBus.so.6+0x4f632)
#4 Holder
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:37
(libQt6DBus.so.6+0x4f632)
#5 instance
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:91
(libQt6DBus.so.6+0x4f632)
#6 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:73
(libQt6DBus.so.6+0x4f632)
#7 QDBusConnection::sessionBus()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:1133
(libQt6DBus.so.6+0x4f632)
#8 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4cd)
#9 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#10 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#11 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#12 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#13 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#14 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#15 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#16 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#17 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#18 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#19 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#20 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#21 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
SUMMARY: ThreadSanitizer: data race
/home/linux/qt6_dev/dbus/dbus/dbus-resources.c:288 in
_dbus_counter_get_unix_fd_value
==================
==================
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
(pid=5889)
Cycle in lock order graph: M739 (0x7b0c00001920) => M870
(0x7b0c00001e60) => M739
Mutex M870 acquired here while holding mutex M739 in thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:127 (libdbus-1.so.3+0x77211)
#3 _dbus_connection_new_for_transport
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1360
(libdbus-1.so.3+0x2a9fb)
#4 connection_try_from_address_entry
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1826
(libdbus-1.so.3+0x2bd8f)
#5 _dbus_connection_open_internal
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:1887
(libdbus-1.so.3+0x2c08c)
#6 dbus_connection_open_private
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2670
(libdbus-1.so.3+0x2e054)
#7 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:474
(libdbus-1.so.3+0x25fcc)
#8 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#9 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#10
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#11 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#12 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#13 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#14 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#15 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#16 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#17 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#18 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#19 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#20 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#21 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#22 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#23 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#24 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#25 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#26 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#27 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#28 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#29
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#30
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#31 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#32 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#33 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#34 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#35 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#36 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more
informative warning message
Mutex M739 acquired here while holding mutex M870 in thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_lock /home/linux/qt6_dev/dbus/dbus/dbus-threads.c:346
(libdbus-1.so.3+0x7790c)
#3 _dbus_bus_notify_shared_connection_disconnected_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:391 (libdbus-1.so.3+0x25c1a)
#4 notify_disconnected_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4203
(libdbus-1.so.3+0x32dcb)
#5 _dbus_connection_get_dispatch_status_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4279
(libdbus-1.so.3+0x33123)
#6 _dbus_connection_close_possibly_shared_and_unlock
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2881
(libdbus-1.so.3+0x2e9fb)
#7 dbus_connection_close
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2950
(libdbus-1.so.3+0x2ec47)
#8 q_dbus_connection_close
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:174
(libQt6DBus.so.6+0x8b838)
#9 QDBusConnectionPrivate::closeConnection()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1098
(libQt6DBus.so.6+0x8b838)
#10 QDBusConnectionPrivate::~QDBusConnectionPrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1047
(libQt6DBus.so.6+0x8cb43)
#11 QDBusConnectionPrivate::~QDBusConnectionPrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1067
(libQt6DBus.so.6+0x8d679)
#12 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:131
(libQt6DBus.so.6+0x4bf79)
#13 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#14 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#15 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Thread T1 'QDBusConnection' (tid=5892, 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/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x491f6b)
#2 QDBusConnectionManager::QDBusConnectionManager()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:96
(libQt6DBus.so.6+0x4c931)
#3 innerFunction
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:40
(libQt6DBus.so.6+0x4f632)
#4 Holder
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:37
(libQt6DBus.so.6+0x4f632)
#5 instance
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:91
(libQt6DBus.so.6+0x4f632)
#6 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:73
(libQt6DBus.so.6+0x4f632)
#7 QDBusConnection::sessionBus()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:1133
(libQt6DBus.so.6+0x4f632)
#8 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4cd)
#9 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#10 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#11 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#12 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#13 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#14 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#15 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#16 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#17 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#18 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#19 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#20 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#21 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159 in
_dbus_platform_rmutex_lock
==================
==================
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
(pid=5889)
Cycle in lock order graph: M739 (0x7b0c00001920) => M740
(0x7b0c00001950) => M471605877460184128 (0x000000000000) => M739
Mutex M740 acquired here while holding mutex M739 in thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_lock /home/linux/qt6_dev/dbus/dbus/dbus-threads.c:346
(libdbus-1.so.3+0x7790c)
#3 dbus_bus_register /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:661
(libdbus-1.so.3+0x262fb)
#4 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:483
(libdbus-1.so.3+0x26007)
#5 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#6 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#7
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#9 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#10 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#11 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#12 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#13 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#14 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#15 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#16 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#17 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#18 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#19 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#20 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#21 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#22 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#23 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#24 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#25 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#26
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#27
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#28 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#29 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#30 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#31 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#32 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#33 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more
informative warning message
Mutex M471605877460184128 acquired here while holding mutex M740 in
thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:127 (libdbus-1.so.3+0x77211)
#3 dbus_connection_send_with_reply_and_block
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:3551
(libdbus-1.so.3+0x307d1)
#4 dbus_bus_register /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:695
(libdbus-1.so.3+0x2647c)
#5 q_dbus_bus_register
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:159
(libQt6DBus.so.6+0x52c8b)
#6
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:220
(libQt6DBus.so.6+0x52c8b)
#7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#8 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#9 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#10 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#11 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#12 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#13 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#14 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#15 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#16 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#17 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#18 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#19 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#20 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#21 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#22 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#23 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#24 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#25
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#26
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#27 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#28 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#29 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#30 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#31 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#32 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Mutex M739 acquired here while holding mutex M471605877460184128 in
thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_lock /home/linux/qt6_dev/dbus/dbus/dbus-threads.c:346
(libdbus-1.so.3+0x7790c)
#3 _dbus_bus_notify_shared_connection_disconnected_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:391 (libdbus-1.so.3+0x25c1a)
#4 notify_disconnected_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4203
(libdbus-1.so.3+0x32dcb)
#5 _dbus_connection_get_dispatch_status_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4279
(libdbus-1.so.3+0x33123)
#6 _dbus_connection_close_possibly_shared_and_unlock
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2881
(libdbus-1.so.3+0x2e9fb)
#7 dbus_connection_close
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2950
(libdbus-1.so.3+0x2ec47)
#8 q_dbus_connection_close
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:174
(libQt6DBus.so.6+0x8b838)
#9 QDBusConnectionPrivate::closeConnection()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1098
(libQt6DBus.so.6+0x8b838)
#10 QDBusConnectionPrivate::~QDBusConnectionPrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1047
(libQt6DBus.so.6+0x8cb43)
#11 QDBusConnectionPrivate::~QDBusConnectionPrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1067
(libQt6DBus.so.6+0x8d679)
#12 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:131
(libQt6DBus.so.6+0x4bf79)
#13 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#14 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#15 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Thread T1 'QDBusConnection' (tid=5892, 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/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x491f6b)
#2 QDBusConnectionManager::QDBusConnectionManager()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:96
(libQt6DBus.so.6+0x4c931)
#3 innerFunction
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:40
(libQt6DBus.so.6+0x4f632)
#4 Holder
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:37
(libQt6DBus.so.6+0x4f632)
#5 instance
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:91
(libQt6DBus.so.6+0x4f632)
#6 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:73
(libQt6DBus.so.6+0x4f632)
#7 QDBusConnection::sessionBus()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:1133
(libQt6DBus.so.6+0x4f632)
#8 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4cd)
#9 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#10 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#11 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#12 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#13 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#14 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#15 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#16 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#17 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#18 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#19 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#20 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#21 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159 in
_dbus_platform_rmutex_lock
==================
==================
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
(pid=5889)
Cycle in lock order graph: M739 (0x7b0c00001920) => M740
(0x7b0c00001950) => M173805352100308448 (0x000000000000) => M739
Mutex M740 acquired here while holding mutex M739 in thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_lock /home/linux/qt6_dev/dbus/dbus/dbus-threads.c:346
(libdbus-1.so.3+0x7790c)
#3 dbus_bus_register /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:661
(libdbus-1.so.3+0x262fb)
#4 internal_bus_get /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:483
(libdbus-1.so.3+0x26007)
#5 dbus_bus_get_private
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:593 (libdbus-1.so.3+0x261b7)
#6 q_dbus_bus_get_private
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:162
(libQt6DBus.so.6+0x52b9d)
#7
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:207
(libQt6DBus.so.6+0x52b9d)
#8 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#9 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#10 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#11 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#12 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#13 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#14 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#15 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#16 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#17 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#18 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#19 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#20 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#21 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#22 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#23 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#24 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#25 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#26
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#27
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#28 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#29 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#30 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#31 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#32 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#33 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more
informative warning message
Mutex M173805352100308448 acquired here while holding mutex M740 in
thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-threads.c:127 (libdbus-1.so.3+0x77211)
#3 dbus_connection_send_with_reply_and_block
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:3551
(libdbus-1.so.3+0x307d1)
#4 dbus_bus_register /home/linux/qt6_dev/dbus/dbus/dbus-bus.c:695
(libdbus-1.so.3+0x2647c)
#5 q_dbus_bus_register
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:159
(libQt6DBus.so.6+0x52c8b)
#6
QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::ConnectionRequestData*)
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:220
(libQt6DBus.so.6+0x52c8b)
#7 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>, void,
void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:135
(libQt6DBus.so.6+0x554fe)
#8 void QtPrivate::FunctionPointer<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*)>::call<QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>(void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QDBusConnectionManager*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:172
(libQt6DBus.so.6+0x554fe)
#9 QtPrivate::QSlotObject<void
(QDBusConnectionManager::*)(QDBusConnectionManager::ConnectionRequestData*),
QtPrivate::List<QDBusConnectionManager::ConnectionRequestData*>,
void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:383
(libQt6DBus.so.6+0x554fe)
#10 QtPrivate::QSlotObjectBase::call(QObject*, void**)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:363
(libQt6Core.so.6+0x23d247)
#11 QMetaCallEvent::placeMetaCall(QObject*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:608
(libQt6Core.so.6+0x23d247)
#12 QObject::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qobject.cpp:1378
(libQt6Core.so.6+0x24562a)
#13 QThread::event(QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:1105
(libQt6Core.so.6+0x3bf12c)
#14 QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1197
(libQt6Core.so.6+0x1a341e)
#15 doNotify
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1126
(libQt6Core.so.6+0x1a6843)
#16 QCoreApplication::notifyInternal2(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1029
(libQt6Core.so.6+0x1a6a71)
#17 QCoreApplication::sendEvent(QObject*, QEvent*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1448
(libQt6Core.so.6+0x1a6b93)
#18 QCoreApplicationPrivate::sendPostedEvents(QObject*, int,
QThreadData*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1810
(libQt6Core.so.6+0x1abdc4)
#19 QCoreApplication::sendPostedEvents(QObject*, int)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1669
(libQt6Core.so.6+0x1abff7)
#20 postEventSourceDispatch
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243
(libQt6Core.so.6+0x685bbe)
#21 g_main_dispatch ../glib/glib/gmain.c:3417
(libglib-2.0.so.0+0x8523f)
#22 g_main_context_dispatch ../glib/glib/gmain.c:4135
(libglib-2.0.so.0+0x8706a)
#23 g_main_context_iterate ../glib/glib/gmain.c:4211
(libglib-2.0.so.0+0x87354)
#24 g_main_context_iteration ../glib/glib/gmain.c:4276
(libglib-2.0.so.0+0x87464)
#25
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393
(libQt6Core.so.6+0x684d34)
#26
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:100
(libQt6Core.so.6+0x1bd103)
#27 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182
(libQt6Core.so.6+0x1bdff6)
#28 QThread::exec()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread.cpp:578
(libQt6Core.so.6+0x3beebb)
#29 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:123
(libQt6DBus.so.6+0x4bd52)
#30 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#31 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#32 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Mutex M739 acquired here while holding mutex M173805352100308448 in
thread T1:
#0 pthread_mutex_lock
../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4240
(libtsan.so.0+0x53908)
#1 _dbus_platform_rmutex_lock
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159
(libdbus-1.so.3+0xb0b71)
#2 _dbus_lock /home/linux/qt6_dev/dbus/dbus/dbus-threads.c:346
(libdbus-1.so.3+0x7790c)
#3 _dbus_bus_notify_shared_connection_disconnected_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-bus.c:391 (libdbus-1.so.3+0x25c1a)
#4 notify_disconnected_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4203
(libdbus-1.so.3+0x32dcb)
#5 _dbus_connection_get_dispatch_status_unlocked
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:4279
(libdbus-1.so.3+0x33123)
#6 _dbus_connection_close_possibly_shared_and_unlock
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2881
(libdbus-1.so.3+0x2e9fb)
#7 dbus_connection_close
/home/linux/qt6_dev/dbus/dbus/dbus-connection.c:2950
(libdbus-1.so.3+0x2ec47)
#8 q_dbus_connection_close
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbus_symbols_p.h:174
(libQt6DBus.so.6+0x8b838)
#9 QDBusConnectionPrivate::closeConnection()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1098
(libQt6DBus.so.6+0x8b838)
#10 QDBusConnectionPrivate::~QDBusConnectionPrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1047
(libQt6DBus.so.6+0x8cb43)
#11 QDBusConnectionPrivate::~QDBusConnectionPrivate()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusintegrator.cpp:1067
(libQt6DBus.so.6+0x8d679)
#12 QDBusConnectionManager::run()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:131
(libQt6DBus.so.6+0x4bf79)
#13 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:321
(libQt6Core.so.6+0x4930fc)
#14 terminate_on_exception<QThreadPrivate::start(void*)::<lambda()>
>
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:257
(libQt6Core.so.6+0x493190)
#15 QThreadPrivate::start(void*)
/home/linux/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:280
(libQt6Core.so.6+0x4939f6)
Thread T1 'QDBusConnection' (tid=5892, 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/qt6_dev/qt6/qtbase/src/corelib/thread/qthread_unix.cpp:707
(libQt6Core.so.6+0x491f6b)
#2 QDBusConnectionManager::QDBusConnectionManager()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:96
(libQt6DBus.so.6+0x4c931)
#3 innerFunction
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:40
(libQt6DBus.so.6+0x4f632)
#4 Holder
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:37
(libQt6DBus.so.6+0x4f632)
#5 instance
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:91
(libQt6DBus.so.6+0x4f632)
#6 operator()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/global/qglobalstatic.h:73
(libQt6DBus.so.6+0x4f632)
#7 QDBusConnection::sessionBus()
/home/linux/qt6_dev/qt6/qtbase/src/dbus/qdbusconnection.cpp:1133
(libQt6DBus.so.6+0x4f632)
#8 QGenericUnixServices::QGenericUnixServices()
/home/linux/qt6_dev/qt6/qtbase/src/gui/platform/unix/qgenericunixservices.cpp:359
(libQt6Gui.so.6+0xb0a4cd)
#9 QXcbIntegration::QXcbIntegration(QList<QString> const&, int&,
char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:99
(libQt6XcbQpa.so.6+0x9d6e9)
#10 QXcbIntegrationPlugin::create(QString const&, QList<QString>
const&, int&, char**)
/home/linux/qt6_dev/qt6/qtbase/src/plugins/platforms/xcb/qxcbmain.cpp:22
(libqxcb.so+0x2490)
#11 QPlatformIntegration* qLoadPlugin<QPlatformIntegration,
QPlatformIntegrationPlugin, QList<QString> const&, int&,
char**&>(QFactoryLoader const*, QString const&, QList<QString> const&,
int&, char**&)
/home/linux/qt6_dev/qt6-build/include/QtCore/6.5.0/QtCore/private/../../../../../../qt6/qtbase/src/corelib/plugin/qfactoryloader_p.h:99
(libQt6Gui.so.6+0x2967d5)
#12 QPlatformIntegrationFactory::create(QString const&,
QList<QString> const&, int&, char**, QString const&)
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qplatformintegrationfactory.cpp:23
(libQt6Gui.so.6+0x296513)
#13 init_platform
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1191
(libQt6Gui.so.6+0x220b92)
#14 QGuiApplicationPrivate::createPlatformIntegration()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1471
(libQt6Gui.so.6+0x224585)
#15 QGuiApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1490
(libQt6Gui.so.6+0x224bdf)
#16 QApplicationPrivate::createEventDispatcher()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:140
(libQt6Widgets.so.6+0x1926ef)
#17 QCoreApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:815
(libQt6Core.so.6+0x1b07fc)
#18 QGuiApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/gui/kernel/qguiapplication.cpp:1514
(libQt6Gui.so.6+0x22ad1f)
#19 QApplicationPrivate::init()
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:466
(libQt6Widgets.so.6+0x194506)
#20 QApplication::QApplication(int&, char**, int)
/home/linux/qt6_dev/qt6/qtbase/src/widgets/kernel/qapplication.cpp:454
(libQt6Widgets.so.6+0x194613)
#21 main
/home/linux/qt6_dev/qt_tsan_tests_dev/qt_tsan_tests/main.cpp:8
(qt_tsan_tests+0x31c4)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
/home/linux/qt6_dev/dbus/dbus/dbus-sysdeps-pthread.c:159 in
_dbus_platform_rmutex_lock
==================
ThreadSanitizer: reported 6 warnings
More information about the Interest
mailing list