this means the diagnostics will be clean from spurious data races, which helps us spot real races. But on the other hand, it can have negative performance impacts on the code, for example by increasing memory use as I introduce more flag words.
-
-
Prikaži ovu nit
-
It reminds me a little bit of Warning Cleanup Theatre from the 1990s and 2000s (and probably today), where people insert a bunch of casts into their code and now there are no more warnings, so The Code Must Be Better Now With All These Casts. Except data races are more serious.
Prikaži ovu nit -
So I am doing it, but, it doesn't feel totally good to me. P.S. What is the best practice for getting tsan to shut up if there is an actual data race that you intend to be there and is fine (e.g. a thread polls a location to see if a value shows up there), without
Prikaži ovu nit -
doing something that might cause you to miss a real problem later?
Prikaži ovu nit
Kraj razgovora
Novi razgovor -
-
-
you might actually be doing that atomic flag set wrong, I just tried a test program that atomically sets/clears different bits of a global variable and didn't get any noise from tsan. here's my test code which you can flip between atomic and non-atomic:https://gist.github.com/tbodt/d390c205d29f7d49e89597ec578f276a …
-
Weird. It is just an atomic or, not a whole lot seems like it could happen incorrectly...
- Još 4 druga odgovora
Novi razgovor -
-
-
Afaik you can tell tsan to ignore entire functions/files (https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions …), but can’t distinguish between types of races
Hvala. Twitter će to iskoristiti za poboljšanje vaše vremenske crte. PoništiPoništi
-
Čini se da učitavanje traje već neko vrijeme.
Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.