Comment #5 on issue 361 by [email protected]: ThreadSanitizer reports
dubious practices in V8
http://code.google.com/p/v8/issues/detail?id=361
Looks like a real race too:
WARNING: Possible data race during write of size 4 at 0xFE802FBC: {{{
T0 (locks held: {L2}):
#0 RegExpStringModificationTest::LongRunningRegExp() test/cctest/test-
api.cc:7475
#1 RegExpStringModificationTest::RunTest() test/cctest/test-api.cc:7417
#2 TestRegExpStringModification() test/cctest/test-api.cc:7509
#3 CcTest::Run() test/cctest/cctest.h:57
#4 main test/cctest/cctest.cc:96
Concurrent read(s) happened at (OR AFTER) these points:
T1 (locks held: {}):
#0 RegExpStringModificationTest::MorphString()
test/cctest/test-api.cc:7445
#1 RegExpStringModificationTest::MorphThread::Run()
test/cctest/test-api.cc:7437
#2 v8::internal::ThreadEntry(void*) src/platform-linux.cc:429
#3 ThreadSanitizerStartThread ts_valgrind_intercepts.c:504
Location 0xFE802FBC is 4160 bytes inside T0's stack
[0xFE003FFC,0xFE803FFC]
Locks involved in this report (reporting last lock sites): {L2}
L2
#0 pthread_mutex_lock ts_valgrind_intercepts.c:751
#1 v8::internal::LinuxMutex::Lock() src/platform-linux.cc:495
#2 v8::internal::ThreadManager::Lock() src/v8threads.cc:181
#3 v8::Unlocker::~Unlocker() src/v8threads.cc:109
#4 v8::internal::RuntimePreempt() src/execution.cc:602
#5 v8::internal::Execution::HandleStackGuardInterrupt()
src/execution.cc:668
One thread is doing: morphs_during_regexp_ += morphs_after - morphs_before
Another thread is doing: while (morphs_during_regexp_ <
kRequiredModifications
--
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
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---