Open Bug 706143 Opened 10 years ago Updated 9 years ago

Investigate Helgrind to test for "thread safety" of gfx code

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

People

(Reporter: BenWa, Unassigned)

References

Details

https://developer.mozilla.org/en/Debugging_Mozilla_with_Helgrind

Not sure if it's possible since it's not stressed tested on MacOS and likely doesn't work for fennec. We may have to wait on the Linux port.

We shouldn't center our testing strategy around this until we can prove that it works.
Julian/Nick,

Is Helgrind suitable for full-time use on OS X yet? If not, what work needs to be done?
There's not going to be any shared (Gecko) state between the compositor and gecko threads.  Not sure what the goal is here.
I'm not concerned about the communication between the two threads. I'm worried about gfx/ to have static states like caches. We're going to look at this stuff manually but it would be nice to audit with some tools as well if it's not prohibitively difficult to run.
To be clear this doesn't strictly block OMTC.
Gotcha.  Good idea.  I was a bit confused by the bug title.
Summary: Investigate Helgrind to test off-main-thread compositing → Investigate Helgrind to test for "thread safety" of gfx code
First I've seen of this discussion, else I would have commented earlier.

I've been a couple rounds with Firefox on Helgrind:
http://blog.mozilla.com/jseward/2011/01/11/finding-data-races-in-the-js-engine/
https://blog.mozilla.com/jseward/2011/03/24/a-thread-checking-toolkit-for-firefox/

It's doable but not as easy as running Memcheck.  Am happy to help
out if you like -- I'd be interested to.  One thing that'd help a lot
is to have some kind of test workload that isn't too compute intensive,
since Helgrind slows stuff down a lot.  Is it for example possible to
run the tests in a chromeless browser?
We definitely want this done, but I'm not entirely convinced it needs to block Fennec beta.
If someone can specify some kind of getting-started workload,
I'll give it a try on Monday.
No longer blocks: omtc
Blocks: omtc
We talked on IRC and think we should run this on x86_64-linux.

Julian says that we will need to apply the patch in bug 551155 first.
Ping me when you want to move along with this.  Getting sane results out
of the Firefox-on-Helgrind scenario takes some interpretation of Helgrind's
output.
You need to log in before you can comment on or make changes to this bug.