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=32552) Write of size 8 at 0x0002b0796fc0 by thread T30: #0 void qt_ptr_swap<QtSharedPointer::ExternalRefCountData>(QtSharedPointer::ExternalRefCountData*&, QtSharedPointer::ExternalRefCountData*&) qswap.h:46 (mixxx:arm64+0x1003b4838) #1 QSharedPointer<Waveform const>::internalSwap(QSharedPointer<Waveform const>&) qsharedpointer_impl.h:479 (mixxx:arm64+0x1003b57cc) #2 QSharedPointer<Waveform const>::swap(QSharedPointer<Waveform const>&) qsharedpointer_impl.h:349 (mixxx:arm64+0x1003b5690) #3 QSharedPointer<Waveform const>::operator=(QSharedPointer<Waveform const> const&) qsharedpointer_impl.h:301 (mixxx:arm64+0x1012bb3a8) #4 Track::setWaveform(QSharedPointer<Waveform const>) track.cpp:926 (mixxx:arm64+0x1012bb324) #5 AnalyzerWaveform::shouldAnalyze(std::__1::shared_ptr<Track>) const analyzerwaveform.cpp:142 (mixxx:arm64+0x1003aeb10) #6 AnalyzerWaveform::initialize(AnalyzerTrack const&, mixxx::audio::SampleRate, long) analyzerwaveform.cpp:48 (mixxx:arm64+0x1003ae324) #7 AnalyzerWithState::initialize(AnalyzerTrack const&, mixxx::audio::SampleRate, long) analyzer.h:73 (mixxx:arm64+0x10039d060) #8 AnalyzerThread::doRun() analyzerthread.cpp:144 (mixxx:arm64+0x10039b4a8) #9 WorkerThread::run() workerthread.cpp:72 (mixxx:arm64+0x10135962c) #10 QThreadPrivate::start(void*) <null>:196429892 (mixxx:arm64+0x100221e94) Previous read of size 8 at 0x0002b0796fc0 by main thread (mutexes: write M0): #0 QSharedPointer<Waveform const>::QSharedPointer(QSharedPointer<Waveform const> const&) qsharedpointer_impl.h:296 (mixxx:arm64+0x1003b4ca8) #1 QSharedPointer<Waveform const>::QSharedPointer(QSharedPointer<Waveform const> const&) qsharedpointer_impl.h:297 (mixxx:arm64+0x1003af194) #2 allshader::WaveformRendererRGB::paintGL() <null>:196429892 (mixxx:arm64+0x10159a17c) #3 non-virtual thunk to allshader::WaveformRendererRGB::paintGL() <null>:196429892 (mixxx:arm64+0x10159b06c) #4 allshader::WaveformWidget::paintGL() waveformwidget.cpp:43 (mixxx:arm64+0x1015ae768) #5 allshader::WaveformWidget::render() waveformwidget.cpp:27 (mixxx:arm64+0x1015ae54c) #6 non-virtual thunk to allshader::WaveformWidget::render() waveformwidget.cpp (mixxx:arm64+0x1015ae5c8) #7 WaveformWidgetFactory::renderSelf() waveformwidgetfactory.cpp:798 (mixxx:arm64+0x1013cf58c) #8 WaveformWidgetFactory::swapAndRender() waveformwidgetfactory.cpp:885 (mixxx:arm64+0x1013c6bec) #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (WaveformWidgetFactory::*)()>::call(void (WaveformWidgetFactory::*)(), WaveformWidgetFactory*, void**) qobjectdefs_impl.h:137 (mixxx:arm64+0x100f2dae0) #10 void QtPrivate::FunctionPointer<void (WaveformWidgetFactory::*)()>::call<QtPrivate::List<>, void>(void (WaveformWidgetFactory::*)(), WaveformWidgetFactory*, void**) qobjectdefs_impl.h:174 (mixxx:arm64+0x100f2d9ac) #11 QtPrivate::QSlotObject<void (WaveformWidgetFactory::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) qobjectdefs_impl.h:432 (mixxx:arm64+0x100f2d810) #12 QMetaCallEvent::placeMetaCall(QObject*) <null>:196429892 (mixxx:arm64+0x1000f1ee4) #13 QObject::event(QEvent*) <null>:196429892 (mixxx:arm64+0x1000f5000) #14 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ed03c) #15 QApplication::notify(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ee5e4) #16 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ed9828) #17 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000932ac) #18 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) <null>:196429892 (mixxx:arm64+0x100094f8c) #19 QCoreApplication::sendPostedEvents(QObject*, int) <null>:196429892 (mixxx:arm64+0x10009402c) #20 QCocoaEventDispatcherPrivate::processPostedEvents() <null>:196429892 (mixxx:arm64+0x102df4820) #21 QCoreApplication::exec() <null>:196429892 (mixxx:arm64+0x100093f5c) #22 QGuiApplication::exec() <null>:196429892 (mixxx:arm64+0x102923200) #23 QApplication::exec() <null>:196429892 (mixxx:arm64+0x1023ee318) #24 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:108 (mixxx:arm64+0x10000d754) #25 main main.cpp:243 (mixxx:arm64+0x10000c5f0) Location is heap block of size 1008 at 0x0002b0796c00 allocated by main thread: #0 operator new(unsigned long) <null>:196429892 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x83de0) #1 GlobalTrackCache::resolve(GlobalTrackCacheResolver*, mixxx::FileAccess, TrackId) globaltrackcache.cpp:636 (mixxx:arm64+0x101215548) #2 GlobalTrackCacheResolver::GlobalTrackCacheResolver(mixxx::FileAccess, TrackId) globaltrackcache.cpp:193 (mixxx:arm64+0x101215d94) #3 GlobalTrackCacheResolver::GlobalTrackCacheResolver(mixxx::FileAccess, TrackId) globaltrackcache.cpp:191 (mixxx:arm64+0x101215e84) #4 TrackDAO::getTrackById(TrackId) const trackdao.cpp:1423 (mixxx:arm64+0x100bc077c) #5 TrackCollection::getTrackById(TrackId) const trackcollection.cpp:555 (mixxx:arm64+0x100df1c74) #6 TrackCollectionManager::getTrackById(TrackId) const trackcollectionmanager.cpp:573 (mixxx:arm64+0x100e09f30) #7 BaseSqlTableModel::getTrack(QModelIndex const&) const basesqltablemodel.cpp:780 (mixxx:arm64+0x100a84e08) #8 non-virtual thunk to BaseSqlTableModel::getTrack(QModelIndex const&) const basesqltablemodel.cpp (mixxx:arm64+0x100a84e80) #9 WTrackTableView::slotMouseDoubleClicked(QModelIndex const&) wtracktableview.cpp:402 (mixxx:arm64+0x101535fb4) #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QModelIndex const&>, void, void (WTrackTableView::*)(QModelIndex const&)>::call(void (WTrackTableView::*)(QModelIndex const&), WTrackTableView*, void**) qobjectdefs_impl.h:137 (mixxx:arm64+0x101542c44) #11 void QtPrivate::FunctionPointer<void (WTrackTableView::*)(QModelIndex const&)>::call<QtPrivate::List<QModelIndex const&>, void>(void (WTrackTableView::*)(QModelIndex const&), WTrackTableView*, void**) qobjectdefs_impl.h:174 (mixxx:arm64+0x101542af0) #12 QtPrivate::QSlotObject<void (WTrackTableView::*)(QModelIndex const&), QtPrivate::List<QModelIndex const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) qobjectdefs_impl.h:432 (mixxx:arm64+0x101542954) #13 void doActivate<false>(QObject*, int, void**) <null>:196429892 (mixxx:arm64+0x1000fd96c) #14 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) <null>:196429892 (mixxx:arm64+0x1000fc5ec) #15 QAbstractItemView::mouseDoubleClickEvent(QMouseEvent*) <null>:196429892 (mixxx:arm64+0x102734c18) #16 QWidget::event(QEvent*) <null>:196429892 (mixxx:arm64+0x102467dec) #17 QFrame::event(QEvent*) <null>:196429892 (mixxx:arm64+0x102511588) #18 QAbstractScrollArea::viewportEvent(QEvent*) <null>:196429892 (mixxx:arm64+0x10250d1d0) #19 QAbstractItemView::viewportEvent(QEvent*) <null>:196429892 (mixxx:arm64+0x102732958) #20 QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x10250e5c8) #21 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x100093830) #22 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ed014) #23 QApplication::notify(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023f0460) #24 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ed9828) #25 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000932ac) #26 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000942ec) #27 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) <null>:196429892 (mixxx:arm64+0x1023ed8f0) #28 QWidgetWindow::handleMouseEvent(QMouseEvent*) <null>:196429892 (mixxx:arm64+0x102485544) #29 QWidgetWindow::event(QEvent*) <null>:196429892 (mixxx:arm64+0x102483e3c) #30 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ed03c) #31 QApplication::notify(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ee5e4) #32 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ed9828) #33 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000932ac) #34 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000942ec) #35 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) <null>:196429892 (mixxx:arm64+0x1029251f4) #36 QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) <null>:196429892 (mixxx:arm64+0x102923fa4) #37 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) <null>:196429892 (mixxx:arm64+0x102984958) #38 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) <null>:196429892 (mixxx:arm64+0x102df5324) #39 QCoreApplication::exec() <null>:196429892 (mixxx:arm64+0x100093f5c) #40 QGuiApplication::exec() <null>:196429892 (mixxx:arm64+0x102923200) #41 QApplication::exec() <null>:196429892 (mixxx:arm64+0x1023ee318) #42 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:108 (mixxx:arm64+0x10000d754) #43 main main.cpp:243 (mixxx:arm64+0x10000c5f0) Mutex M0 (0x000111a0e668) created at: #0 pthread_mutex_init <null>:196429892 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x30e30) #1 <null> <null>:196429892 (CoreAudio:arm64e+0x7041c) #2 AudioUnitManager::AudioUnitManager(AVAudioUnitComponent*, AudioUnitInstantiationType) audiounitmanager.mm:22 (mixxx:arm64+0x1015c8e28) #3 AudioUnitManager::AudioUnitManager(AVAudioUnitComponent*, AudioUnitInstantiationType) audiounitmanager.mm:11 (mixxx:arm64+0x1015c92f8) #4 AudioUnitManifest::AudioUnitManifest(QString const&, AVAudioUnitComponent*) audiounitmanifest.mm:23 (mixxx:arm64+0x1015d0228) #5 AudioUnitManifest::AudioUnitManifest(QString const&, AVAudioUnitComponent*) audiounitmanifest.mm:12 (mixxx:arm64+0x1015d0af0) #6 AudioUnitBackend::loadAudioUnits() audiounitbackend.mm:102 (mixxx:arm64+0x1015bed08) #7 AudioUnitBackend::AudioUnitBackend() audiounitbackend.mm:22 (mixxx:arm64+0x1015be7cc) #8 AudioUnitBackend::AudioUnitBackend() audiounitbackend.mm:21 (mixxx:arm64+0x1015be684) #9 createAudioUnitBackend() audiounitbackend.mm:111 (mixxx:arm64+0x1015be5dc) #10 EffectsBackendManager::EffectsBackendManager() effectsbackendmanager.cpp:22 (mixxx:arm64+0x1007ac2cc) #11 EffectsBackendManager::EffectsBackendManager() effectsbackendmanager.cpp:15 (mixxx:arm64+0x1007ac9f8) #12 EffectsManager::EffectsManager(QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<ChannelHandleFactory>) effectsmanager.cpp:34 (mixxx:arm64+0x100807cfc) #13 EffectsManager::EffectsManager(QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<ChannelHandleFactory>) effectsmanager.cpp:31 (mixxx:arm64+0x1008091d8) #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+0x100625a30) #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+0x100625710) #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+0x1006255ac) #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+0x100624ff4) #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+0x100624e08) #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+0x100618770) #20 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:262 (mixxx:arm64+0x100616bac) #21 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x10000d5f4) #22 main main.cpp:243 (mixxx:arm64+0x10000c5f0) Thread T30 (tid=16333924, running) created by main thread at: #0 pthread_create <null>:196429892 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2ffec) #1 QThread::start(QThread::Priority) <null>:196429892 (mixxx:arm64+0x100222ad0) #2 TrackAnalysisScheduler::TrackAnalysisScheduler(std::__1::unique_ptr<TrackAnalysisSchedulerEnvironment const, std::__1::default_delete<TrackAnalysisSchedulerEnvironment const>>, int, std::__1::shared_ptr<mixxx::DbConnectionPool> const&, QSharedPointer<ConfigObject<ConfigValue>> const&, AnalyzerModeFlags) trackanalysisscheduler.cpp:89 (mixxx:arm64+0x1003cf0d0) #3 TrackAnalysisScheduler::TrackAnalysisScheduler(std::__1::unique_ptr<TrackAnalysisSchedulerEnvironment const, std::__1::default_delete<TrackAnalysisSchedulerEnvironment const>>, int, std::__1::shared_ptr<mixxx::DbConnectionPool> const&, QSharedPointer<ConfigObject<ConfigValue>> const&, AnalyzerModeFlags) trackanalysisscheduler.cpp:60 (mixxx:arm64+0x1003cea78) #4 TrackAnalysisScheduler::createInstance(std::__1::unique_ptr<TrackAnalysisSchedulerEnvironment const, std::__1::default_delete<TrackAnalysisSchedulerEnvironment const>>, int, std::__1::shared_ptr<mixxx::DbConnectionPool> const&, QSharedPointer<ConfigObject<ConfigValue>> const&, AnalyzerModeFlags) trackanalysisscheduler.cpp:40 (mixxx:arm64+0x1003ce8e4) #5 Library::createTrackAnalysisScheduler(int, AnalyzerModeFlags) const library.cpp:287 (mixxx:arm64+0x100ca847c) #6 PlayerManager::bindToLibrary(Library*) playermanager.cpp:185 (mixxx:arm64+0x100eb303c) #7 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:358 (mixxx:arm64+0x100617330) #8 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x10000d5f4) #9 main main.cpp:243 (mixxx:arm64+0x10000c5f0) SUMMARY: ThreadSanitizer: data race qswap.h:46 in void qt_ptr_swap<QtSharedPointer::ExternalRefCountData>(QtSharedPointer::ExternalRefCountData*&, QtSharedPointer::ExternalRefCountData*&) ================== ================== WARNING: ThreadSanitizer: data race (pid=32552) Write of size 8 at 0x0002b0796fb8 by thread T30: #0 void qt_ptr_swap<Waveform const>(Waveform const*&, Waveform const*&) qswap.h:46 (mixxx:arm64+0x1003b5858) #1 QSharedPointer<Waveform const>::internalSwap(QSharedPointer<Waveform const>&) qsharedpointer_impl.h:480 (mixxx:arm64+0x1003b57d8) #2 QSharedPointer<Waveform const>::swap(QSharedPointer<Waveform const>&) qsharedpointer_impl.h:349 (mixxx:arm64+0x1003b5690) #3 QSharedPointer<Waveform const>::operator=(QSharedPointer<Waveform const> const&) qsharedpointer_impl.h:301 (mixxx:arm64+0x1012bb3a8) #4 Track::setWaveform(QSharedPointer<Waveform const>) track.cpp:926 (mixxx:arm64+0x1012bb324) #5 AnalyzerWaveform::shouldAnalyze(std::__1::shared_ptr<Track>) const analyzerwaveform.cpp:142 (mixxx:arm64+0x1003aeb10) #6 AnalyzerWaveform::initialize(AnalyzerTrack const&, mixxx::audio::SampleRate, long) analyzerwaveform.cpp:48 (mixxx:arm64+0x1003ae324) #7 AnalyzerWithState::initialize(AnalyzerTrack const&, mixxx::audio::SampleRate, long) analyzer.h:73 (mixxx:arm64+0x10039d060) #8 AnalyzerThread::doRun() analyzerthread.cpp:144 (mixxx:arm64+0x10039b4a8) #9 WorkerThread::run() workerthread.cpp:72 (mixxx:arm64+0x10135962c) #10 QThreadPrivate::start(void*) <null>:196429892 (mixxx:arm64+0x100221e94) Previous read of size 8 at 0x0002b0796fb8 by main thread (mutexes: write M0): #0 QSharedPointer<Waveform const>::QSharedPointer(QSharedPointer<Waveform const> const&) qsharedpointer_impl.h:296 (mixxx:arm64+0x1003b4c70) #1 QSharedPointer<Waveform const>::QSharedPointer(QSharedPointer<Waveform const> const&) qsharedpointer_impl.h:297 (mixxx:arm64+0x1003af194) #2 allshader::WaveformRendererRGB::paintGL() <null>:196429892 (mixxx:arm64+0x10159a17c) #3 non-virtual thunk to allshader::WaveformRendererRGB::paintGL() <null>:196429892 (mixxx:arm64+0x10159b06c) #4 allshader::WaveformWidget::paintGL() waveformwidget.cpp:43 (mixxx:arm64+0x1015ae768) #5 allshader::WaveformWidget::render() waveformwidget.cpp:27 (mixxx:arm64+0x1015ae54c) #6 non-virtual thunk to allshader::WaveformWidget::render() waveformwidget.cpp (mixxx:arm64+0x1015ae5c8) #7 WaveformWidgetFactory::renderSelf() waveformwidgetfactory.cpp:798 (mixxx:arm64+0x1013cf58c) #8 WaveformWidgetFactory::swapAndRender() waveformwidgetfactory.cpp:885 (mixxx:arm64+0x1013c6bec) #9 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (WaveformWidgetFactory::*)()>::call(void (WaveformWidgetFactory::*)(), WaveformWidgetFactory*, void**) qobjectdefs_impl.h:137 (mixxx:arm64+0x100f2dae0) #10 void QtPrivate::FunctionPointer<void (WaveformWidgetFactory::*)()>::call<QtPrivate::List<>, void>(void (WaveformWidgetFactory::*)(), WaveformWidgetFactory*, void**) qobjectdefs_impl.h:174 (mixxx:arm64+0x100f2d9ac) #11 QtPrivate::QSlotObject<void (WaveformWidgetFactory::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) qobjectdefs_impl.h:432 (mixxx:arm64+0x100f2d810) #12 QMetaCallEvent::placeMetaCall(QObject*) <null>:196429892 (mixxx:arm64+0x1000f1ee4) #13 QObject::event(QEvent*) <null>:196429892 (mixxx:arm64+0x1000f5000) #14 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ed03c) #15 QApplication::notify(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ee5e4) #16 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ed9828) #17 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000932ac) #18 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) <null>:196429892 (mixxx:arm64+0x100094f8c) #19 QCoreApplication::sendPostedEvents(QObject*, int) <null>:196429892 (mixxx:arm64+0x10009402c) #20 QCocoaEventDispatcherPrivate::processPostedEvents() <null>:196429892 (mixxx:arm64+0x102df4820) #21 QCoreApplication::exec() <null>:196429892 (mixxx:arm64+0x100093f5c) #22 QGuiApplication::exec() <null>:196429892 (mixxx:arm64+0x102923200) #23 QApplication::exec() <null>:196429892 (mixxx:arm64+0x1023ee318) #24 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:108 (mixxx:arm64+0x10000d754) #25 main main.cpp:243 (mixxx:arm64+0x10000c5f0) Location is heap block of size 1008 at 0x0002b0796c00 allocated by main thread: #0 operator new(unsigned long) <null>:196429892 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x83de0) #1 GlobalTrackCache::resolve(GlobalTrackCacheResolver*, mixxx::FileAccess, TrackId) globaltrackcache.cpp:636 (mixxx:arm64+0x101215548) #2 GlobalTrackCacheResolver::GlobalTrackCacheResolver(mixxx::FileAccess, TrackId) globaltrackcache.cpp:193 (mixxx:arm64+0x101215d94) #3 GlobalTrackCacheResolver::GlobalTrackCacheResolver(mixxx::FileAccess, TrackId) globaltrackcache.cpp:191 (mixxx:arm64+0x101215e84) #4 TrackDAO::getTrackById(TrackId) const trackdao.cpp:1423 (mixxx:arm64+0x100bc077c) #5 TrackCollection::getTrackById(TrackId) const trackcollection.cpp:555 (mixxx:arm64+0x100df1c74) #6 TrackCollectionManager::getTrackById(TrackId) const trackcollectionmanager.cpp:573 (mixxx:arm64+0x100e09f30) #7 BaseSqlTableModel::getTrack(QModelIndex const&) const basesqltablemodel.cpp:780 (mixxx:arm64+0x100a84e08) #8 non-virtual thunk to BaseSqlTableModel::getTrack(QModelIndex const&) const basesqltablemodel.cpp (mixxx:arm64+0x100a84e80) #9 WTrackTableView::slotMouseDoubleClicked(QModelIndex const&) wtracktableview.cpp:402 (mixxx:arm64+0x101535fb4) #10 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QModelIndex const&>, void, void (WTrackTableView::*)(QModelIndex const&)>::call(void (WTrackTableView::*)(QModelIndex const&), WTrackTableView*, void**) qobjectdefs_impl.h:137 (mixxx:arm64+0x101542c44) #11 void QtPrivate::FunctionPointer<void (WTrackTableView::*)(QModelIndex const&)>::call<QtPrivate::List<QModelIndex const&>, void>(void (WTrackTableView::*)(QModelIndex const&), WTrackTableView*, void**) qobjectdefs_impl.h:174 (mixxx:arm64+0x101542af0) #12 QtPrivate::QSlotObject<void (WTrackTableView::*)(QModelIndex const&), QtPrivate::List<QModelIndex const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) qobjectdefs_impl.h:432 (mixxx:arm64+0x101542954) #13 void doActivate<false>(QObject*, int, void**) <null>:196429892 (mixxx:arm64+0x1000fd96c) #14 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) <null>:196429892 (mixxx:arm64+0x1000fc5ec) #15 QAbstractItemView::mouseDoubleClickEvent(QMouseEvent*) <null>:196429892 (mixxx:arm64+0x102734c18) #16 QWidget::event(QEvent*) <null>:196429892 (mixxx:arm64+0x102467dec) #17 QFrame::event(QEvent*) <null>:196429892 (mixxx:arm64+0x102511588) #18 QAbstractScrollArea::viewportEvent(QEvent*) <null>:196429892 (mixxx:arm64+0x10250d1d0) #19 QAbstractItemView::viewportEvent(QEvent*) <null>:196429892 (mixxx:arm64+0x102732958) #20 QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x10250e5c8) #21 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x100093830) #22 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ed014) #23 QApplication::notify(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023f0460) #24 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ed9828) #25 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000932ac) #26 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000942ec) #27 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) <null>:196429892 (mixxx:arm64+0x1023ed8f0) #28 QWidgetWindow::handleMouseEvent(QMouseEvent*) <null>:196429892 (mixxx:arm64+0x102485544) #29 QWidgetWindow::event(QEvent*) <null>:196429892 (mixxx:arm64+0x102483e3c) #30 QApplicationPrivate::notify_helper(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ed03c) #31 QApplication::notify(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1023ee5e4) #32 MixxxApplication::notify(QObject*, QEvent*) mixxxapplication.cpp:200 (mixxx:arm64+0x100ed9828) #33 QCoreApplication::notifyInternal2(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000932ac) #34 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) <null>:196429892 (mixxx:arm64+0x1000942ec) #35 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) <null>:196429892 (mixxx:arm64+0x1029251f4) #36 QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) <null>:196429892 (mixxx:arm64+0x102923fa4) #37 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) <null>:196429892 (mixxx:arm64+0x102984958) #38 QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) <null>:196429892 (mixxx:arm64+0x102df5324) #39 QCoreApplication::exec() <null>:196429892 (mixxx:arm64+0x100093f5c) #40 QGuiApplication::exec() <null>:196429892 (mixxx:arm64+0x102923200) #41 QApplication::exec() <null>:196429892 (mixxx:arm64+0x1023ee318) #42 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:108 (mixxx:arm64+0x10000d754) #43 main main.cpp:243 (mixxx:arm64+0x10000c5f0) Mutex M0 (0x000111a0e668) created at: #0 pthread_mutex_init <null>:196429892 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x30e30) #1 <null> <null>:196429892 (CoreAudio:arm64e+0x7041c) #2 AudioUnitManager::AudioUnitManager(AVAudioUnitComponent*, AudioUnitInstantiationType) audiounitmanager.mm:22 (mixxx:arm64+0x1015c8e28) #3 AudioUnitManager::AudioUnitManager(AVAudioUnitComponent*, AudioUnitInstantiationType) audiounitmanager.mm:11 (mixxx:arm64+0x1015c92f8) #4 AudioUnitManifest::AudioUnitManifest(QString const&, AVAudioUnitComponent*) audiounitmanifest.mm:23 (mixxx:arm64+0x1015d0228) #5 AudioUnitManifest::AudioUnitManifest(QString const&, AVAudioUnitComponent*) audiounitmanifest.mm:12 (mixxx:arm64+0x1015d0af0) #6 AudioUnitBackend::loadAudioUnits() audiounitbackend.mm:102 (mixxx:arm64+0x1015bed08) #7 AudioUnitBackend::AudioUnitBackend() audiounitbackend.mm:22 (mixxx:arm64+0x1015be7cc) #8 AudioUnitBackend::AudioUnitBackend() audiounitbackend.mm:21 (mixxx:arm64+0x1015be684) #9 createAudioUnitBackend() audiounitbackend.mm:111 (mixxx:arm64+0x1015be5dc) #10 EffectsBackendManager::EffectsBackendManager() effectsbackendmanager.cpp:22 (mixxx:arm64+0x1007ac2cc) #11 EffectsBackendManager::EffectsBackendManager() effectsbackendmanager.cpp:15 (mixxx:arm64+0x1007ac9f8) #12 EffectsManager::EffectsManager(QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<ChannelHandleFactory>) effectsmanager.cpp:34 (mixxx:arm64+0x100807cfc) #13 EffectsManager::EffectsManager(QSharedPointer<ConfigObject<ConfigValue>>, std::__1::shared_ptr<ChannelHandleFactory>) effectsmanager.cpp:31 (mixxx:arm64+0x1008091d8) #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+0x100625a30) #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+0x100625710) #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+0x1006255ac) #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+0x100624ff4) #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+0x100624e08) #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+0x100618770) #20 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:262 (mixxx:arm64+0x100616bac) #21 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x10000d5f4) #22 main main.cpp:243 (mixxx:arm64+0x10000c5f0) Thread T30 (tid=16333924, running) created by main thread at: #0 pthread_create <null>:196429892 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2ffec) #1 QThread::start(QThread::Priority) <null>:196429892 (mixxx:arm64+0x100222ad0) #2 TrackAnalysisScheduler::TrackAnalysisScheduler(std::__1::unique_ptr<TrackAnalysisSchedulerEnvironment const, std::__1::default_delete<TrackAnalysisSchedulerEnvironment const>>, int, std::__1::shared_ptr<mixxx::DbConnectionPool> const&, QSharedPointer<ConfigObject<ConfigValue>> const&, AnalyzerModeFlags) trackanalysisscheduler.cpp:89 (mixxx:arm64+0x1003cf0d0) #3 TrackAnalysisScheduler::TrackAnalysisScheduler(std::__1::unique_ptr<TrackAnalysisSchedulerEnvironment const, std::__1::default_delete<TrackAnalysisSchedulerEnvironment const>>, int, std::__1::shared_ptr<mixxx::DbConnectionPool> const&, QSharedPointer<ConfigObject<ConfigValue>> const&, AnalyzerModeFlags) trackanalysisscheduler.cpp:60 (mixxx:arm64+0x1003cea78) #4 TrackAnalysisScheduler::createInstance(std::__1::unique_ptr<TrackAnalysisSchedulerEnvironment const, std::__1::default_delete<TrackAnalysisSchedulerEnvironment const>>, int, std::__1::shared_ptr<mixxx::DbConnectionPool> const&, QSharedPointer<ConfigObject<ConfigValue>> const&, AnalyzerModeFlags) trackanalysisscheduler.cpp:40 (mixxx:arm64+0x1003ce8e4) #5 Library::createTrackAnalysisScheduler(int, AnalyzerModeFlags) const library.cpp:287 (mixxx:arm64+0x100ca847c) #6 PlayerManager::bindToLibrary(Library*) playermanager.cpp:185 (mixxx:arm64+0x100eb303c) #7 mixxx::CoreServices::initialize(QApplication*) coreservices.cpp:358 (mixxx:arm64+0x100617330) #8 (anonymous namespace)::runMixxx(MixxxApplication*, CmdlineArgs const&) main.cpp:87 (mixxx:arm64+0x10000d5f4) #9 main main.cpp:243 (mixxx:arm64+0x10000c5f0) SUMMARY: ThreadSanitizer: data race qswap.h:46 in void qt_ptr_swap<Waveform const>(Waveform const*&, Waveform const*&) ==================
No response
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Bug Description
Details
Version
No response
OS
No response
The text was updated successfully, but these errors were encountered: