|
From: Julian S. <js...@ac...> - 2002-10-07 17:53:47
|
On Monday 07 October 2002 1:14 am, Jeremy Fitzhardinge wrote: > Can go into a few more details about what's wrong with helgrind? Does > it get the Eraser algorithm wrong, or does it just need some more > refinement? > > I read the Eraser paper and the extension suggested in "Visual Threads", > and it all looks pretty straightforward. Once I get some profiling > machinery going, I'm definitely interested in working on helgrind. It generates bazillions of errors. We don't know why. The only _known_ cause for tyhis is that glibc has a counter for the number of relocations done by the dynamic linker, and this is incremented without locking. That's allegedly harmless because it's only for stats purposes, but it's still something that needs to be suippressed or worked around. Problem with suppression is that there is no fixed call stack at the error point; it happens at the first use of every dynamic symbol (or something) so the normal stack-based-identification of the suppression mechanism won't work. We haven't thought of a way round this yet. If you want to investigate that would be great. Having a usable race detector would be really excellent. J |