https://bugs.kde.org/show_bug.cgi?id=453055
Bug ID: 453055
Summary: shared_timed_mutex drd test fails with "Lock shared
failed" message
Product: valgrind
Version: 3.19.0
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: drd
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 148388
--> https://bugs.kde.org/attachment.cgi?id=148388&action=edit
Proposed fix for drd/tests/shared_timed_mutex
SUMMARY
drd/tests/shared_timed_mutex test fails in 3.19.0 during `make regtest`. This
is also reproducible in 3.20.0.GIT:
=================================================
drd/tests/shared_timed_mutex.stderr.diff
=================================================
--- shared_timed_mutex.stderr.exp 2022-04-11 10:27:12.000000000 -0400
+++ shared_timed_mutex.stderr.out 2022-04-26 03:53:54.116981437 -0400
@@ -1,3 +1,4 @@
+Lock shared failed
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Running the test without valgrind seems to fail always as well. The problem
seems to come from this code from the test itself:
```
for (i = 0; i < 3 && std::chrono::steady_clock::now() < then; ++i)
{
if (test_mutex.try_lock_shared_until(then))
{
test_mutex.unlock_shared();
}
}
if (i == 3)
{
std::cerr << "Lock shared failed\n";
}
```
IIUIC, variable `i` will always be 3 in this code, hence the test will always
print "Lock shared failed" and will mismatch the expected output. Adding a
break as in the proposed patch fixes the issue. Tested in rhel-8 in x86_64,
aarch64 and s390x.
STEPS TO REPRODUCE
1. git clone git://sourceware.org/git/valgrind.git
2. cd valgrind && ./autogen.sh && ./configure
3. make -j$(nproc) regtest
--
You are receiving this mail because:
You are watching all bug changes.