We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WARNING: ThreadSanitizer: data race (pid=48840) Read of size 8 at 0x0001466d5f28 by thread T29: #0 void doActivate<false>(QObject*, int, void**) <null>:230508612 (mixxx:arm64+0x10011f4e8) #1 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) <null>:230508612 (mixxx:arm64+0x10011db88) #2 QThread::started(QThread::QPrivateSignal) <null>:230508612 (mixxx:arm64+0x1001e8c5c) #3 QThreadPrivate::start(void*) <null>:230508612 (mixxx:arm64+0x100248f38) Previous write of size 8 at 0x0001466d5f28 by main thread (mutexes: write M0, write M1, write M2): #0 QObjectPrivate::addConnection(int, QObjectPrivate::Connection*) <null>:230508612 (mixxx:arm64+0x10011bdac) #1 QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, int, int const*, QMetaObject const*) <null>:230508612 (mixxx:arm64+0x100121dc4) #2 QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) <null>:230508612 (mixxx:arm64+0x100121790) #3 QMetaObject::Connection QObject::connect<void (BrowseThread::*)(BrowseTableModel*), void (BrowseTableModel::*)(BrowseTableModel*)>(QtPrivate::FunctionPointer<void (BrowseThread::*)(BrowseTableModel*)>::Object const*, void (BrowseThread::*)(BrowseTableModel*), QtPrivate::FunctionPointer<void (BrowseTableModel::*)(BrowseTableModel*)>::Object const*, void (BrowseTableModel::*)(BrowseTableModel*), Qt::ConnectionType) qobject.h:223 (mixxx:arm64+0x100b046e4) #4 BrowseTableModel::BrowseTableModel(QObject*, TrackCollectionManager*, RecordingManager*) browsetablemodel.cpp:163 (mixxx:arm64+0x100b05824) #5 BrowseFeature::BrowseFeature(Library*, QSharedPointer<ConfigObject<ConfigValue>>, RecordingManager*) browsefeature.cpp:46 (mixxx:arm64+0x100afc79c) #6 BrowseFeature::BrowseFeature(Library*, QSharedPointer<ConfigObject<ConfigValue>>, RecordingManager*) browsefeature.cpp:49 (mixxx:arm64+0x100afdb50) #7 Library::Library(QObject*, QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<mixxx::DbConnectionPool>, TrackCollectionManager*, PlayerManager*, RecordingManager*) library.cpp:121 (mixxx:arm64+0x100cbf15c) #8 Library::Library(QObject*, QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<mixxx::DbConnectionPool>, TrackCollectionManager*, PlayerManager*, RecordingManager*) library.cpp:76 (mixxx:arm64+0x100cc2d9c) #9 Library* std::__1::construct_at[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, Library*>(Library*, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) construct_at.h:38 (mixxx:arm64+0x1006525d8) #10 void std::__1::allocator_traits<std::__1::allocator<Library>>::construct[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void, void>(std::__1::allocator<Library>&, Library*, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) allocator_traits.h:304 (mixxx:arm64+0x10065221c) #11 std::__1::__shared_ptr_emplace<Library, std::__1::allocator<Library>>::__shared_ptr_emplace[abi:v160006]<mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*>(std::__1::allocator<Library>, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:284 (mixxx:arm64+0x100652078) #12 std::__1::__shared_ptr_emplace<Library, std::__1::allocator<Library>>::__shared_ptr_emplace[abi:v160006]<mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*>(std::__1::allocator<Library>, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:276 (mixxx:arm64+0x100651a80) #13 std::__1::shared_ptr<Library> std::__1::allocate_shared[abi:v160006]<Library, std::__1::allocator<Library>, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void>(std::__1::allocator<Library> const&, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:995 (mixxx:arm64+0x100651854) #14 std::__1::shared_ptr<Library> std::__1::make_shared[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void>(mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:1004 (mixxx:arm64+0x10063a068) #15 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:346 (mixxx:arm64+0x100637a1c) #16 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x100010fcc) #17 main main.cpp:243 (mixxx:arm64+0x10000ff08) Location is heap block of size 160 at 0x0001466d5f20 allocated by main thread: #0 malloc <null>:230508612 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x55a5c) #1 QObjectPrivate::addConnection(int, QObjectPrivate::Connection*) <null>:230508612 (mixxx:arm64+0x10011bd3c) #2 QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, int, int const*, QMetaObject const*) <null>:230508612 (mixxx:arm64+0x100121dc4) #3 QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) <null>:230508612 (mixxx:arm64+0x100121790) #4 QMetaObject::Connection QObject::connect<void (BrowseThread::*)(BrowseTableModel*), void (BrowseTableModel::*)(BrowseTableModel*)>(QtPrivate::FunctionPointer<void (BrowseThread::*)(BrowseTableModel*)>::Object const*, void (BrowseThread::*)(BrowseTableModel*), QtPrivate::FunctionPointer<void (BrowseTableModel::*)(BrowseTableModel*)>::Object const*, void (BrowseTableModel::*)(BrowseTableModel*), Qt::ConnectionType) qobject.h:223 (mixxx:arm64+0x100b046e4) #5 BrowseTableModel::BrowseTableModel(QObject*, TrackCollectionManager*, RecordingManager*) browsetablemodel.cpp:163 (mixxx:arm64+0x100b05824) #6 BrowseFeature::BrowseFeature(Library*, QSharedPointer<ConfigObject<ConfigValue>>, RecordingManager*) browsefeature.cpp:46 (mixxx:arm64+0x100afc79c) #7 BrowseFeature::BrowseFeature(Library*, QSharedPointer<ConfigObject<ConfigValue>>, RecordingManager*) browsefeature.cpp:49 (mixxx:arm64+0x100afdb50) #8 Library::Library(QObject*, QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<mixxx::DbConnectionPool>, TrackCollectionManager*, PlayerManager*, RecordingManager*) library.cpp:121 (mixxx:arm64+0x100cbf15c) #9 Library::Library(QObject*, QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<mixxx::DbConnectionPool>, TrackCollectionManager*, PlayerManager*, RecordingManager*) library.cpp:76 (mixxx:arm64+0x100cc2d9c) #10 Library* std::__1::construct_at[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, Library*>(Library*, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) construct_at.h:38 (mixxx:arm64+0x1006525d8) #11 void std::__1::allocator_traits<std::__1::allocator<Library>>::construct[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void, void>(std::__1::allocator<Library>&, Library*, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) allocator_traits.h:304 (mixxx:arm64+0x10065221c) #12 std::__1::__shared_ptr_emplace<Library, std::__1::allocator<Library>>::__shared_ptr_emplace[abi:v160006]<mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*>(std::__1::allocator<Library>, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:284 (mixxx:arm64+0x100652078) #13 std::__1::__shared_ptr_emplace<Library, std::__1::allocator<Library>>::__shared_ptr_emplace[abi:v160006]<mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*>(std::__1::allocator<Library>, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:276 (mixxx:arm64+0x100651a80) #14 std::__1::shared_ptr<Library> std::__1::allocate_shared[abi:v160006]<Library, std::__1::allocator<Library>, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void>(std::__1::allocator<Library> const&, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:995 (mixxx:arm64+0x100651854) #15 std::__1::shared_ptr<Library> std::__1::make_shared[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void>(mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:1004 (mixxx:arm64+0x10063a068) #16 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:346 (mixxx:arm64+0x100637a1c) #17 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x100010fcc) #18 main main.cpp:243 (mixxx:arm64+0x10000ff08) Mutex M0 (0x000113b16468) created at: #0 pthread_mutex_init <null>:230508612 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x30e30) #1 <null> <null>:230508612 (CoreAudio:arm64e+0x7041c) #2 AudioUnitManager::AudioUnitManager(AVAudioUnitComponent*, AudioUnitInstantiationType) audiounitmanager.mm:22 (mixxx:arm64+0x1015d7a0c) #3 AudioUnitManager::AudioUnitManager(AVAudioUnitComponent*, AudioUnitInstantiationType) audiounitmanager.mm:11 (mixxx:arm64+0x1015d7f24) #4 AudioUnitManifest::AudioUnitManifest(QString const&, AVAudioUnitComponent*) audiounitmanifest.mm:23 (mixxx:arm64+0x1015deeec) #5 AudioUnitManifest::AudioUnitManifest(QString const&, AVAudioUnitComponent*) audiounitmanifest.mm:12 (mixxx:arm64+0x1015df7b4) #6 AudioUnitBackend::loadAudioUnits() audiounitbackend.mm:102 (mixxx:arm64+0x1015cd8ec) #7 AudioUnitBackend::AudioUnitBackend() audiounitbackend.mm:22 (mixxx:arm64+0x1015cd3b0) #8 AudioUnitBackend::AudioUnitBackend() audiounitbackend.mm:21 (mixxx:arm64+0x1015cd268) #9 createAudioUnitBackend() audiounitbackend.mm:111 (mixxx:arm64+0x1015cd1c0) #10 EffectsBackendManager::EffectsBackendManager() effectsbackendmanager.cpp:22 (mixxx:arm64+0x1007ce754) #11 EffectsBackendManager::EffectsBackendManager() effectsbackendmanager.cpp:15 (mixxx:arm64+0x1007cee80) #12 EffectsManager::EffectsManager(QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<ChannelHandleFactory>) effectsmanager.cpp:34 (mixxx:arm64+0x10082a184) #13 EffectsManager::EffectsManager(QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<ChannelHandleFactory>) effectsmanager.cpp:31 (mixxx:arm64+0x10082b660) #14 EffectsManager* std::__1::construct_at[abi:v160006]<EffectsManager, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&, EffectsManager*>(EffectsManager*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&) construct_at.h:38 (mixxx:arm64+0x100646500) #15 void std::__1::allocator_traits<std::__1::allocator<EffectsManager>>::construct[abi:v160006]<EffectsManager, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&, void, void>(std::__1::allocator<EffectsManager>&, EffectsManager*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&) allocator_traits.h:304 (mixxx:arm64+0x1006461e0) #16 std::__1::__shared_ptr_emplace<EffectsManager, std::__1::allocator<EffectsManager>>::__shared_ptr_emplace[abi:v160006]<QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&>(std::__1::allocator<EffectsManager>, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&) shared_ptr.h:284 (mixxx:arm64+0x10064607c) #17 std::__1::__shared_ptr_emplace<EffectsManager, std::__1::allocator<EffectsManager>>::__shared_ptr_emplace[abi:v160006]<QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&>(std::__1::allocator<EffectsManager>, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&) shared_ptr.h:276 (mixxx:arm64+0x100645ac4) #18 std::__1::shared_ptr<EffectsManager> std::__1::allocate_shared[abi:v160006]<EffectsManager, std::__1::allocator<EffectsManager>, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&, void>(std::__1::allocator<EffectsManager> const&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&) shared_ptr.h:995 (mixxx:arm64+0x1006458d8) #19 std::__1::shared_ptr<EffectsManager> std::__1::make_shared[abi:v160006]<EffectsManager, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&, void>(QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<ChannelHandleFactory>&) shared_ptr.h:1004 (mixxx:arm64+0x100638ea4) #20 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:262 (mixxx:arm64+0x1006372e0) #21 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x100010fcc) #22 main main.cpp:243 (mixxx:arm64+0x10000ff08) Mutex M1 (0x00010a0c6410) created at: #0 __tsan_mutex_post_lock <null>:230508612 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x4707c) #1 QOrderedMutexLocker::relock() <null>:230508612 (mixxx:arm64+0x100124498) #2 QMetaObjectPrivate::connect(QObject const*, int, QMetaObject const*, QObject const*, int, QMetaObject const*, int, int*) <null>:230508612 (mixxx:arm64+0x10011a328) #3 QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) <null>:230508612 (mixxx:arm64+0x100119394) #4 QMenuPrivate::setOverrideMenuAction(QAction*) <null>:230508612 (mixxx:arm64+0x10241a1e4) #5 QtWidgetsActionPrivate::setMenu(QObject*) <null>:230508612 (mixxx:arm64+0x102325b70) #6 QAction::setMenuObject(QObject*) <null>:230508612 (mixxx:arm64+0x105022248) #7 QMenuPrivate::init() <null>:230508612 (mixxx:arm64+0x102419f80) #8 QMenu::QMenu(QString const&, QWidget*) <null>:230508612 (mixxx:arm64+0x102423c40) #9 WMainMenuBar::initialize() wmainmenubar.cpp:372 (mixxx:arm64+0x1014a5fdc) #10 WMainMenuBar::initialize() wmainmenubar.cpp:86 (mixxx:arm64+0x1014a0ee4) #11 WMainMenuBar::WMainMenuBar(QWidget*, QSharedPointer<ConfigObject<ConfigValue>>, ConfigObject<ConfigValueKbd>*) wmainmenubar.cpp:81 (mixxx:arm64+0x1014abce4) #12 parented_ptr<WMainMenuBar> make_parented<WMainMenuBar, MixxxMainWindow*, QSharedPointer<ConfigObject<ConfigValue>>, ConfigObject<ConfigValueKbd>*>(MixxxMainWindow*&&, QSharedPointer<ConfigObject<ConfigValue>>&&, ConfigObject<ConfigValueKbd>*&&) parented_ptr.h:109 (mixxx:arm64+0x100f3a09c) #13 MixxxMainWindow::createMenuBar() mixxxmainwindow.cpp:782 (mixxx:arm64+0x100f30074) #14 MixxxMainWindow::MixxxMainWindow(std::__1::shared_ptr<mixxx::CoreServices>) mixxxmainwindow.cpp:122 (mixxx:arm64+0x100f2fa88) #15 MixxxMainWindow::MixxxMainWindow(std::__1::shared_ptr<mixxx::CoreServices>) mixxxmainwindow.cpp:104 (mixxx:arm64+0x100f30ca8) #16 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:68 (mixxx:arm64+0x100010ed8) #17 main main.cpp:243 (mixxx:arm64+0x10000ff08) Mutex M2 (0x00010a0c64d0) created at: #0 __tsan_mutex_post_lock <null>:230508612 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x4707c) #1 QOrderedMutexLocker::relock() <null>:230508612 (mixxx:arm64+0x100124498) #2 QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, int, int const*, QMetaObject const*) <null>:230508612 (mixxx:arm64+0x100121b0c) #3 QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) <null>:230508612 (mixxx:arm64+0x100121790) #4 QMenuPrivate::syncPlatformMenu() <null>:230508612 (mixxx:arm64+0x10241a93c) #5 QMenu::setPlatformMenu(QPlatformMenu*) <null>:230508612 (mixxx:arm64+0x10241a554) #6 QMenuBarPrivate::getPlatformMenu(QAction const*) <null>:230508612 (mixxx:arm64+0x102436c68) #7 QMenuBar::actionEvent(QActionEvent*) <null>:230508612 (mixxx:arm64+0x102437030) #8 QWidget::event(QEvent*) <null>:230508612 (mixxx:arm64+0x102276240) #9 QMenuBar::event(QEvent*) <null>:230508612 (mixxx:arm64+0x102437910) #10 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:230508612 (mixxx:arm64+0x1021fabdc) #11 QApplication::notify(QObject*, QEvent*) <null>:230508612 (mixxx:arm64+0x1021fd364) #12 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ef48dc) #13 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:230508612 (mixxx:arm64+0x1000b3dec) #14 QCoreApplication::sendEvent(QObject*, QEvent*) <null>:230508612 (mixxx:arm64+0x1000b4ea8) #15 QWidget::insertAction(QAction*, QAction*) <null>:230508612 (mixxx:arm64+0x10226545c) #16 QWidget::addAction(QAction*) <null>:230508612 (mixxx:arm64+0x1022651d0) #17 QMenuBar::addMenu(QMenu*) <null>:230508612 (mixxx:arm64+0x102435300) #18 WMainMenuBar::initialize() wmainmenubar.cpp:490 (mixxx:arm64+0x1014a742c) #19 WMainMenuBar::initialize() wmainmenubar.cpp:86 (mixxx:arm64+0x1014a0ee4) #20 WMainMenuBar::WMainMenuBar(QWidget*, QSharedPointer<ConfigObject<ConfigValue>>, ConfigObject<ConfigValueKbd>*) wmainmenubar.cpp:81 (mixxx:arm64+0x1014abce4) #21 parented_ptr<WMainMenuBar> make_parented<WMainMenuBar, MixxxMainWindow*, QSharedPointer<ConfigObject<ConfigValue>>, ConfigObject<ConfigValueKbd>*>(MixxxMainWindow*&&, QSharedPointer<ConfigObject<ConfigValue>>&&, ConfigObject<ConfigValueKbd>*&&) parented_ptr.h:109 (mixxx:arm64+0x100f3a09c) #22 MixxxMainWindow::createMenuBar() mixxxmainwindow.cpp:782 (mixxx:arm64+0x100f30074) #23 MixxxMainWindow::MixxxMainWindow(std::__1::shared_ptr<mixxx::CoreServices>) mixxxmainwindow.cpp:122 (mixxx:arm64+0x100f2fa88) #24 MixxxMainWindow::MixxxMainWindow(std::__1::shared_ptr<mixxx::CoreServices>) mixxxmainwindow.cpp:104 (mixxx:arm64+0x100f30ca8) #25 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:68 (mixxx:arm64+0x100010ed8) #26 main main.cpp:243 (mixxx:arm64+0x10000ff08) Thread T29 (tid=8890891, running) created by main thread at: #0 pthread_create <null>:230508612 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2ffec) #1 QThread::start(QThread::Priority) <null>:230508612 (mixxx:arm64+0x100249b9c) #2 BrowseThread::BrowseThread(QObject*) browsethread.cpp:36 (mixxx:arm64+0x100b0e9f8) #3 BrowseThread::BrowseThread(QObject*) browsethread.cpp:32 (mixxx:arm64+0x100b0eb14) #4 BrowseThread::getInstanceRef() browsethread.cpp:58 (mixxx:arm64+0x100b0ee1c) #5 BrowseTableModel::BrowseTableModel(QObject*, TrackCollectionManager*, RecordingManager*) browsetablemodel.cpp:162 (mixxx:arm64+0x100b057c0) #6 BrowseFeature::BrowseFeature(Library*, QSharedPointer<ConfigObject<ConfigValue>>, RecordingManager*) browsefeature.cpp:46 (mixxx:arm64+0x100afc79c) #7 BrowseFeature::BrowseFeature(Library*, QSharedPointer<ConfigObject<ConfigValue>>, RecordingManager*) browsefeature.cpp:49 (mixxx:arm64+0x100afdb50) #8 Library::Library(QObject*, QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<mixxx::DbConnectionPool>, TrackCollectionManager*, PlayerManager*, RecordingManager*) library.cpp:121 (mixxx:arm64+0x100cbf15c) #9 Library::Library(QObject*, QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<mixxx::DbConnectionPool>, TrackCollectionManager*, PlayerManager*, RecordingManager*) library.cpp:76 (mixxx:arm64+0x100cc2d9c) #10 Library* std::__1::construct_at[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, Library*>(Library*, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) construct_at.h:38 (mixxx:arm64+0x1006525d8) #11 void std::__1::allocator_traits<std::__1::allocator<Library>>::construct[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void, void>(std::__1::allocator<Library>&, Library*, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) allocator_traits.h:304 (mixxx:arm64+0x10065221c) #12 std::__1::__shared_ptr_emplace<Library, std::__1::allocator<Library>>::__shared_ptr_emplace[abi:v160006]<mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*>(std::__1::allocator<Library>, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:284 (mixxx:arm64+0x100652078) #13 std::__1::__shared_ptr_emplace<Library, std::__1::allocator<Library>>::__shared_ptr_emplace[abi:v160006]<mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*>(std::__1::allocator<Library>, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:276 (mixxx:arm64+0x100651a80) #14 std::__1::shared_ptr<Library> std::__1::allocate_shared[abi:v160006]<Library, std::__1::allocator<Library>, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void>(std::__1::allocator<Library> const&, mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:995 (mixxx:arm64+0x100651854) #15 std::__1::shared_ptr<Library> std::__1::make_shared[abi:v160006]<Library, mixxx::CoreServices*, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*, PlayerManager*, RecordingManager*, void>(mixxx::CoreServices*&&, QSharedPointer<ConfigObject<ConfigValue>>&, std::__1::shared_ptr<mixxx::DbConnectionPool>&, TrackCollectionManager*&&, PlayerManager*&&, RecordingManager*&&) shared_ptr.h:1004 (mixxx:arm64+0x10063a068) #16 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:346 (mixxx:arm64+0x100637a1c) #17 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x100010fcc) #18 main main.cpp:243 (mixxx:arm64+0x10000ff08) SUMMARY: ThreadSanitizer: data race (mixxx:arm64+0x10011f4e8) in void doActivate<false>(QObject*, int, void**)+0xb3c
BrowseTableModel -> BrowseThread access. Fixed.
2.5
No response
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Bug Description
Details
BrowseTableModel -> BrowseThread access. Fixed.
Version
2.5
OS
No response
The text was updated successfully, but these errors were encountered: