Coverity Scan: False positive "Thread deadlock (ORDER_REVERSAL)" involving std::recursive_mutex?

Stephan Bergmann sbergman at redhat.com
Tue Sep 22 14:53:39 UTC 2020


The Coverity Scan warning 1466970 for LibreOffice, 
<https://scan5.coverity.com/reports.htm#v21426/p10276/fileInstanceId=178116214&defectInstanceId=49695105&mergedDefectId=1466970>, 
looks like a false positive to me.  As I commented in the triage history:

> This looks like a false warning, where Coverity Scan would not properly understand std::recursive_mutex locked via a mix of std::scoped_lock and std::unique_lock:  All four places 1 (updatecheck.cxx:756) and 7.1 (updatecheck.cxx:1404) vs. A1 (updatecheck.cxx:1270) and A2.1 (updatecheck.cxx:1553) lock the same std::recursive_mutex UpdateCheck::m_aMutex instance. so I fail to see how there would be different lock orders at play here.

Can you clarify whether there is a general issue in Coverity Scan with 
"std::recursive_mutex locked via a mix of std::scoped_lock and 
std::unique_lock"?



More information about the LibreOffice mailing list