Updates:
Status: Started
Comment #20 on issue 22272 by [email protected]: Data race on reference
counter from LoadLog
http://code.google.com/p/chromium/issues/detail?id=22272
Hm, looks like the data race is still present, at least in tests from
net/base/host_resolver_impl_unittest.cc
The ThreadSanitizer report is VERY flaky and appears only with
--ignore-in-dtor=no
flag.
I've been able to PROVE the presence of the data race using RaceChecker
class.
See http://code.google.com/p/data-race-test/wiki/RaceCheckerClass
The patch adding RaceChecker calls to LoadLog::Release() is attached
(please note
you'll need to re-gyp and re-build your chromium after patching)
I was not able to catch the race with RaceChecker class straightaway but the
slowdown under ThreadSanitizer helped me trigger this flakiness:
(Please note that the Mutex used in the RaceChecker class hides the
ThreadSanitizer
reports in the default TSAN mode!)
while [ 1 ]; \
do RACECHECKER=2 RACECHECKER_SLEEP_MS=1000 ./tools/valgrind/chrome_tests.sh
\
--tool tsan -t net \
--gtest_filter="HostResolverImplTest.AsynchronousLookup" \
--tool_flags="--ignore-in-dtor=no" || break; \
done
...
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from HostResolverImplTest
[ RUN ] HostResolverImplTest.AsynchronousLookup
RACECHECKER: write at 0x42d9804
RACECHECKER: write at 0x42d9804
Race found between these points
=== writer:
sconsbuild/Debug/net_unittests[0x8891e7]
...
sconsbuild/Debug/net_unittests[0x5c3045]
/lib/libc.so.6(__libc_start_main+0xf4)[0x8aa31c4]
sconsbuild/Debug/net_unittests[0x554a39]
=== writer:
sconsbuild/Debug/net_unittests[0x8891e7]
...
sconsbuild/Debug/net_unittests[0x8842b0]
/lib/libpthread.so.0[0x7e9a3f7]
/lib/libc.so.6(clone+0x6d)[0x8b5cb4d]
...
Also, I see reports on LoadLog::Release() in unit_tests but haven't proven
them
with RaceChecker yet.
Attachments:
LoadLog_racechecker.patch 12.0 KB
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---