Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
None
-
6.3.0
-
None
-
8
-
Foundation Sprint 61, Foundation Sprint 62
Description
TSAN support was recently added to Qt Core.
Running Qt Creator with Thread Sanitizer reports multiple issues in QtConcurrent, with the following summaries:
SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) /usr/local/Qt-6.4.0/include/QtConcurrent/qtconcurrentmapkernel.h:94 in QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::~MappedReducedKernel() SUMMARY: ThreadSanitizer: data race /usr/local/Qt-6.4.0/include/QtConcurrent/qtconcurrentmapkernel.h:163 in QtConcurrent::MappedReducedKernel<QList<TextEditor::HighlightingResult>, QList<LanguageClient::ExpandedSemanticToken>::const_iterator, std::function<TextEditor::HighlightingResult (LanguageClient::ExpandedSemanticToken const&)>, QtPrivate::PushBackWrapper, QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult> >::shouldThrottleThread() SUMMARY: ThreadSanitizer: data race /usr/local/Qt-6.4.0/include/QtConcurrent/qtconcurrentreducekernel.h:155 in QtConcurrent::ReduceKernel<QtPrivate::PushBackWrapper, QList<TextEditor::HighlightingResult>, TextEditor::HighlightingResult>::runReduce(QtPrivate::PushBackWrapper&, QList<TextEditor::HighlightingResult>&, QtConcurrent::IntermediateResults<TextEditor::HighlightingResult> const&)
More details can be found in tsan_report8.txt.tgz.
Attachments
Issue Links
- split from
-
QTCREATORBUG-28325 Thread Sanitizer reports multiple data races in Qt Core
-
- Closed
-
For Gerrit Dashboard: QTBUG-104787 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
422335,2 | QtConcurrent::ReduceKernel: fix race conditions | dev | qt/qtbase | Status: MERGED | +2 | 0 |
422881,3 | QtConcurrent::ReduceKernel: fix race conditions | 6.4 | qt/qtbase | Status: MERGED | +2 | 0 |
422882,3 | QtConcurrent::ReduceKernel: fix race conditions | 6.3 | qt/qtbase | Status: MERGED | +2 | 0 |
422894,2 | QtConcurrent::ReduceKernel: fix race conditions | tqtc/lts-6.2 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |
422897,3 | QtConcurrent::ReduceKernel: fix race conditions | tqtc/lts-5.15 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |