Thursday, November 15, 2007

helgrind is back!

Today i was having a hard time debugging some code of mine that used threads and i thought of helgrind, as of valgrind 3.2.3 trying to use it gives you

Helgrind is currently not working, because:
(a) it is not yet ready to handle the Vex IR and the use with 64-bit
platforms introduced in Valgrind 3.0.0
(b) we need to get thread operation tracking working again after
the changes added in Valgrind 2.4.0
If you want to use Helgrind, you'll have to use Valgrind 2.2.0, which is
the most recent Valgrind release that contains a working Helgrind.

Sorry for the inconvenience. Let us know if this is a problem for you.

So i downloaded valgrind 2.2.0, but it complained about me having a too new glibc, so i downloaded valgrind from svn and YES! it's there :-) It made me realize i needed to add QDeepCopy to some QStrings and it is working now :-) Yet again valgrind to the rescue!

3 comments:

  1. I didn't even know helgrind exists! I've been thinking lately, how cool it would be to have such a tool :)

    Btw.: I've just ran it on our software and it complains about write race by atomic_inc(atomic_t*) and atomic_dec_and_test(atomic_t*) (these are from linux headers). Is this expected?

    ReplyDelete
  2. actually i'm not a helgrind expert, you should better mail the valgrind developers about it

    ReplyDelete
  3. I wonder about how much they improved over previous lockset algorithms...

    ReplyDelete