BIND 10 #2669: Valgrind issues

BIND 10 Development do-not-reply at isc.org
Mon Feb 18 19:51:29 UTC 2013


#2669: Valgrind issues
-------------------------------------+-------------------------------------
            Reporter:  jreed         |                        Owner:
                Type:  task          |  jinmei
            Priority:  medium        |                       Status:
           Component:  Unclassified  |  reviewing
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130219
         Sub-Project:  Core          |                   Resolution:
Estimated Difficulty:  5             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Changes (by jelte):

 * owner:  jelte => jinmei


Comment:

 Replying to [comment:7 jinmei]:
 >
 > This seems to me to be another reason why it's a bad idea to try to
 > invent such low level wheel ourselves:-)  That aside, in this
 > particular case, can't we delay defining of `sync` and `locker` after
 > fork and have the child wait on the pipe until the parent acquires the
 > lock?  But, even if it works, other cases would have to be handled
 > case-by-case basis, so it may not help much.
 >

 I had looked into that but the problem is more fundamental than that; we'd
 need to get rid of exit(), and even that may only solve a few issues
 (valgrind can't seem to handle threads either, I just found out on my
 centos instance)

 > Since I don't know how many other cases we have and how difficult they
 > are to work around, it's hard to say whether the global suppression is
 > a reasonable choice.  If the cases are not so many (and assuming the
 > fork generally happens in unit tests), another possibility is to skip
 > these test cases via gtest filter when running valgrind on buildbots.
 > That way, we can possibly remove the exceptions one-by-one.
 >

 Actually, this reminded me of a similar issue in death tests (Also for
 similar reasons), and for now I have the approach from there; check if
 valgrind is running and if so skip automatically.

 Since this also skips on systems where it might work (or appear to work,
 as i suspect that technically valgrind is correct) it may not be the very
 best solution, but at least we don't have to muck around with filters and
 name conventions (and should we decide to want to go that way, it should
 be relatively easy to grep for calls to runningOnValgrind() now).

 So latest push has more runningOnValgrind() checks (and a few include
 order fixes), and if we don't like that the alternative I can see is to
 rename those tests to something like <test_name>_SKIP_FOR_VALGRIND, and
 set that up as a buildbot filter.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2669#comment:9>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list