BIND 10 #2670: "A deadlock might be detected" failure on NetBSD

BIND 10 Development do-not-reply at isc.org
Wed Jan 30 09:40:32 UTC 2013


#2670: "A deadlock might be detected" failure on NetBSD
-------------------------------------+-------------------------------------
            Reporter:  naokikambe    |                        Owner:
                Type:  defect        |  jinmei
            Priority:  medium        |                       Status:
           Component:  statistics    |  reviewing
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-20130205
         Sub-Project:  DNS           |                   Resolution:
Estimated Difficulty:  0             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Changes (by naokikambe):

 * owner:   => jinmei
 * status:  new => reviewing


Comment:

 Replying this comments on the list,
 https://lists.isc.org/pipermail/bind10-dev/2013-January/004319.html

 > - I don't understand how the "deadlock" happened and how this lock
 >   solves that.  Please make more detailed explanations and/or
 >   comments.

 As I mentioned in the above description, as long as I see the stack
 traces, the unittest seemed to be hanging between setting up msgq and
 starting msgq. So I suspected that one thread was setting up msgq and
 another thread was starting msqg just before the failure occurred. So I
 think that another thread should wait while one thread is setting up msgq.
 That's why I changed the code to lock between setting up msgq and starting
 msgq.

 > - Same comments are repeated.  I think these should be unified:
 > +        # This locking is for dead-lock failures which often occurred
 > +        # while creating or deleting a socket file in msgq.py. See
 > +        #
 http://git.bind10.isc.org/~tester/builder//BIND10/20130129033301-NetBSD4-i386-GCC/logs/unittests.out.

 From the above stack traces, the dead lock didn't seem to occur actually
 when shutting down msgq. We may not need the latter lock. Nevertheless
 I've revised the two comments.

 > - I don't understand why we need to call
 >   isc.log.resetUnitTestRootLogger() from multiple places.  Isn't it
 >   enough to call it from the test main?  If not, please explain.
 Sorry, I cannot explain well why the messages are reduced if it's inserted
 there. I actually examined that in runtime. After creating a object of
 each mock module, if `resetUnitTestRootLogger()` is done, then the
 messages seem to be reduced.
 Anyway this change isn't directly related to this dead-lock failure. This
 issue should be handled on the other ticket.

 So I've pushed 'trac2670' as a new branch instead of the temporary branch
 'fix_stats_tests'. I'll delete the old one. Please review the new one.

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


More information about the bind10-tickets mailing list