[Bro-Dev] #846: Tests Failures

Bro Tracker bro at tracker.bro-ids.org
Tue Jul 10 09:45:31 PDT 2012


#846: Tests Failures
----------------------+------------------------
  Reporter:  robin    |      Owner:
      Type:  Problem  |     Status:  new
  Priority:  High     |  Milestone:  Bro2.1
 Component:  Bro      |    Version:  git/master
Resolution:           |   Keywords:
----------------------+------------------------

Comment (by jsiwek):

 > {{{
 > istate.bro-ipv6-socket … failed [Fails if IPv6 connectivity not
 available (fw in this case); can we test for that somehow? Otherwise, fine
 to leave as it is for now.)
 > istate.broccoli-ipv6-socket … failed [Same]
 > }}}

 Yeah, I don't think that's a big deal, either.  They could probably extend
 their `@TEST-REQUIRES` to check if netcat is available and can do a
 connection over `::1`, but maybe it's actually more informative for the
 test to fail than to just skip.

 > {{{
 > core.dns-init [Adam; when using dnscrypt from OpenDNS]
 > }}}

 The segfault is at least fixed by the commit in comment:3, but the test
 may still fail in this case, at least with the current OS X DNSCrypt
 client, because the local proxy is giving DNS responses with extra data at
 the end which causes a call to `ns_initparse()` in `nb_dns.c` to return -1
 and set `errno` to `EMSGSIZE`, giving us warnings like:

 {{{
 NB-DNS error in DNS_Mgr::WaitForReplies (ns_initparse(): Message too long)
 }}}

 I thought about trying to handle this special case by also checking for
 whether `ns_initparse()` was able to parse at least one answer section
 before failing and then just go forward with that, but it didn't seem like
 a great idea (I'm not sure it's "right" to trust things in the returned
 `ns_msg` buffer when there's an error, I couldn't find examples in the
 wild of any code bases doing that).

 But in the latest https://github.com/opendns/dnscrypt-proxy, the proxy is
 at least not returning these DNS responses with extra data at the end, so
 it works fine with Bro.

 > {{{
 > core.disable-mobile-ipv6 ... failed
 > }}}
 > I've never seen that one fail before?

 Is that persistent or transient for you?  I think it probably is due to
 the same issue causing the following group of failures:

 > {{{
 > core.checksums … failed [Gilbert, Matthias; non-determinisitc]
 > scripts.base.protocols.smtp.basic [Matthias; with clang]
 > scripts.base.frameworks.logging.rotate-custom [Matthias; with clang]
 > }}}

 I don't think Clang is a culprit in any of these, I was able to get an
 occasional failure using GCC on OS X.  For any given test, it seemed like
 I could run it hundreds of times serially without getting a failure, but
 when increasing the load on the system (e.g. running more tests in
 parallel), the chances of getting a failure also increased.  And the
 failures all looked like they were due to not writing out a log file, so
 my hunch is it's a general issue with the new threaded logging and not
 anything particular to these specific tests.  Any idea what to start
 looking at?

-- 
Ticket URL: <http://tracker.bro-ids.org/bro/ticket/846#comment:4>
Bro Tracker <http://tracker.bro-ids.org/bro>
Bro Issue Tracker



More information about the bro-dev mailing list