Lines Matching refs:race
27 // This file is part of ThreadSanitizer, a dynamic data race detector.
32 // http://code.google.com/p/data-race-test
2493 // http://code.google.com/p/data-race-test/wiki/ThreadSanitizerAlgorithm#State_machine
3855 case DATA_RACE: return "Race";
3908 // If there is a race report (in hybrid mode) we try to guess a lock
3923 // For this code a hybrid detector may report a false race.
5406 // -------- Expected Race ---------------------- {{{1
5432 " ThreadSanitizer:Race \n"
5438 " Benign race in GCD when using workqueue threads. \n"
5439 " ThreadSanitizer:Race \n"
5446 " Benign race in NSOQSchedule when using workqueue threads. \n"
5447 " ThreadSanitizer:Race \n"
5459 " ThreadSanitizer:Race \n"
5492 " ThreadSanitizer:Race \n"
5501 " ThreadSanitizer:Race \n"
5568 Printf("Checking expected race for %lx; exp_race=%p\n",
5579 Report("WARNING: this race is only expected in NaCl %strusted mode\n",
5598 // we already reported a race here.
5682 " See http://code.google.com/p/data-race-test/wiki/"
5701 snprintf(buf, 100, "Race verifier data: %p", (void*)pc);
5714 void PrintRaceReport(ThreadSanitizerDataRaceReport *race) {
5717 AnnounceThreadsInSegmentSet(race->new_sval.rd_ssid());
5718 AnnounceThreadsInSegmentSet(race->new_sval.wr_ssid());
5720 bool is_w = race->last_access_is_w;
5721 TID tid = race->last_access_tid;
5723 SID sid = race->last_access_sid;
5724 LSID lsid = race->last_acces_lsid[is_w];
5729 Report("<b id=race%d>Race report #%d; </b>"
5730 "<a href=\"#race%d\">Next;</a> "
5731 "<a href=\"#race%d\">Prev;</a>\n",
5738 Report("%sWARNING: %s data race during %s of size %d at %p: {{{%s\n",
5740 race->is_expected ? "Expected" : "Possible",
5742 race->last_access_size,
5743 race->racey_addr,
5746 LockSet::AddLocksToSet(race->last_acces_lsid[false], &all_locks);
5747 LockSet::AddLocksToSet(race->last_acces_lsid[true], &all_locks);
5750 TwoLockSetsToString(race->last_acces_lsid[false],
5751 race->last_acces_lsid[true]).c_str());
5754 CHECK(race->stack_trace);
5755 Report("%s", race->stack_trace->ToString().c_str());
5764 Report(" old state: %s\n", race->old_sval.ToString().c_str());
5765 Report(" new state: %s\n", race->new_sval.ToString().c_str());
5769 PrintConcurrentSegmentSet(race->new_sval.wr_ssid(),
5773 PrintConcurrentSegmentSet(race->new_sval.rd_ssid(),
5783 if (race->racey_addr_was_published) {
5786 if (race->racey_addr_description.size() > 0) {
5787 Report("%s", race->racey_addr_description.c_str());
5789 if (race->is_expected) {
5791 G_expected_races_map->GetInfo(race->racey_addr);
5812 string raceInfoString = RaceInfoString(race->stack_trace->Get(0),
5890 ThreadSanitizerDataRaceReport *race =
5892 PrintRaceReport(race);
5939 Report("ThreadSanitizer summary: reported %d warning(s) (%d race(s))\n",
6202 ExpectedRace race = it->second;
6204 Printf("Checking if expected race fired: %p\n", race.ptr);
6206 if (race.count == 0 &&
6207 !(g_race_verifier_active && !race.is_verifiable) &&
6208 (G_flags->nacl_untrusted == race.is_nacl_untrusted)) {
6210 Printf("Missing an expected race on %p: %s (annotated at %s)\n",
6212 race.description,
6213 PcToRtnNameAndFilePos(race.pc).c_str());
6225 Report("WARNING: %d expected race(s) NOT detected!\n", total_missing);
6443 Printf("WARNING: expected race not found.\n");
6752 // describes a race.
6797 // Return true if the new state is race.
6856 // Tuple segment sets and check for race.
7022 // Check for race.
8017 G_flags->tsan_url = "http://code.google.com/p/data-race-test";
8068 Printf("INFO: ThreadSanitizer running in Race Verifier mode.\n");
8110 // http://code.google.com/p/data-race-test/issues/detail?id=53
8150 // http://code.google.com/p/data-race-test/issues/detail?id=40
8196 // http://code.google.com/p/data-race-test/issues/detail?id=53
8201 // http://code.google.com/p/data-race-test/issues/detail?id=55
8360 ANNOTATE_BENIGN_RACE(&g_so_far_only_one_thread, "real benign race");