Status: Unconfirmed Owner: ---- Labels: OS-Linux Area-Misc Size-Medium Type-Bug
New issue 15473 by timurrrr: Data race in DirectoryWatcherImpl http://code.google.com/p/chromium/issues/detail?id=15473 Chrome Version : SVN r16070-19400 (at least) OS + version : Linux The data race was detected using ThreadSanitizer (see http://code.google.com/p/data-race-test/wiki/ThreadSanitizer ). The race can be proved using RaceChecker class (see http://code.google.com/p/data-race-test/wiki/RaceCheckerClass ) What steps will reproduce the problem? 1. Apply the attached patch (adds RaceChecker class files into base/..., adds dependencies for these files and puts RaceChecker calls into base/directory_watcher_inotify.cc) 2. gclient sync && hammer -C build base_unittests 3. RACECHECKER=1 RACECHECKER_SLEEP_MS=100 ./sconsbuild/Debug/base_unittests --gtest_filter="DirectoryWatcherTest*" What happens instead? Race found between these points === writer: ./sconsbuild/Debug/base_unittests[0x8345248] ./sconsbuild/Debug/base_unittests(_ZN16DirectoryWatcher5WatchERK8FilePathPNS_8DelegateEP11MessageLoopb+0x42)[0x823db6a] ./sconsbuild/Debug/base_unittests[0x823d9b2] ./sconsbuild/Debug/base_unittests(_ZN7testing4Test3RunEv+0x7e)[0x84300ec] ./sconsbuild/Debug/base_unittests(_ZN7testing8internal12TestInfoImpl3RunEv+0xb1)[0x8433d71] ./sconsbuild/Debug/base_unittests(_ZN7testing8internal12TestInfoImpl7RunTestEPNS_8TestInfoE+0x19)[0x843895f] ./sconsbuild/Debug/base_unittests(_ZNK7testing8internal4ListIPNS_8TestInfoEE7ForEachIPFvS3_EEEvT_+0x2b)[0x843467b] ./sconsbuild/Debug/base_unittests(_ZN7testing8TestCase3RunEv+0x9a)[0x8433c5c] ./sconsbuild/Debug/base_unittests(_ZN7testing8TestCase11RunTestCaseEPS0_+0x11)[0x8438943] ./sconsbuild/Debug/base_unittests(_ZNK7testing8internal4ListIPNS_8TestCaseEE7ForEachIPFvS3_EEEvT_+0x2b)[0x84344ef] ./sconsbuild/Debug/base_unittests(_ZN7testing8internal12UnitTestImpl11RunAllTestsEv+0x1f7)[0x8433acd] ./sconsbuild/Debug/base_unittests(_ZN7testing8UnitTest3RunEv+0x14)[0x8433bc0] ./sconsbuild/Debug/base_unittests(_ZN9TestSuite3RunEv+0x138)[0x82b4b34] ./sconsbuild/Debug/base_unittests(main+0x46)[0x82b43ca] === reader: ./sconsbuild/Debug/base_unittests[0x83446fd] ./sconsbuild/Debug/base_unittests[0x8344954] ./sconsbuild/Debug/base_unittests[0x8346102] ./sconsbuild/Debug/base_unittests(_ZN11MessageLoop7RunTaskEP4Task+0xce)[0x836426c] ./sconsbuild/Debug/base_unittests(_ZN11MessageLoop21DeferOrRunPendingTaskERKNS_11PendingTaskE+0x35)[0x8364787] ./sconsbuild/Debug/base_unittests(_ZN11MessageLoop6DoWorkEv+0xfb)[0x8364b33] ./sconsbuild/Debug/base_unittests(_ZN4base18MessagePumpDefault3RunEPNS_11MessagePump8DelegateE+0xc9)[0x836c039] ./sconsbuild/Debug/base_unittests(_ZN11MessageLoop11RunInternalEv+0xc7)[0x83650d5] ./sconsbuild/Debug/base_unittests(_ZN11MessageLoop10RunHandlerEv+0x11)[0x83650ef] ./sconsbuild/Debug/base_unittests(_ZN11MessageLoop3RunEv+0x23)[0x8365153] ./sconsbuild/Debug/base_unittests(_ZN4base6Thread10ThreadMainEv+0xca)[0x839bb3c] ./sconsbuild/Debug/base_unittests[0x8375382] The data race happens on a number of DirectoryWatcherImpl fields of different types, including string (scary). The data race may result in a segfault, for example try RACECHECKER=1. Attachments: DirectoryWatcher_race.patch 11.8 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 -~----------~----~----~----~------~----~------~--~---
