Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#3387 closed defect (fixed)

IOFetchTest.TcpSendReceive65535 failure

Reported by: jreed Owned by: tmark
Priority: medium Milestone: Kea0.9
Component: libdns++ Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: Core Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

[ RUN      ] IOFetchTest.TcpSendReceive65535
io_fetch_unittest.cc:439: Failure
Value of: result
  Actual: 1
Expected: expected_
Which is: 0
io_fetch_unittest.cc:454: Failure
Value of: result_buff_->getLength()
  Actual: 63518
Expected: return_data_.size()
Which is: 65535
io_fetch_unittest.cc:462: Failure
Value of: equal(return_data_.begin(), return_data_.end(), start)
  Actual: false
Expected: true
[  FAILED  ] IOFetchTest.TcpSendReceive65535 (4501 ms)

This was seen at
http://git.bind10.isc.org/~tester/builder/BIND10/20140404191615-NetBSD5-i386-GCC/logs/unittests.out

Only seen on NetBSD 5.2 i386 and not any other systems including not on other NetBSD systems.

The problem started at 2014-01-17 02:25:02 but not previous builds.

Subtickets

Change History (5)

comment:1 follow-up: Changed 6 years ago by jreed

This is related to:

[ RUN      ] DNSServerTest/0.TCPNoTimeout
dns_server_unittest.cc:652: Failure
Value of: this->tcp_client_->getReceivedData()
  Actual: ""
Expected: "BIND10 is awesome"
[  FAILED  ] DNSServerTest/0.TCPNoTimeout, where TypeParam = (anonymous namespace)::FdInit<isc::asiodns::UDPServer> (5101 ms)

...

[ RUN      ] DNSServerTest/1.TCPNoTimeout
dns_server_unittest.cc:652: Failure
Value of: this->tcp_client_->getReceivedData()
  Actual: ""
Expected: "BIND10 is awesome"
[  FAILED  ] DNSServerTest/1.TCPNoTimeout, where TypeParam = (anonymous namespace)::FdInit<isc::asiodns::SyncUDPServer> (5100 ms)

Also only seen on same builder and started same time.

comment:2 Changed 6 years ago by tomek

  • Milestone changed from New Tasks to Common Outstanding Tasks

Milestone New Tasks deleted

comment:3 Changed 6 years ago by tmark

  • Owner set to tmark
  • Status changed from new to assigned

comment:4 Changed 6 years ago by tmark

  • Component changed from Unclassified to libdns++
  • Milestone changed from Common Outstanding Tasks to Kea0.9
  • Resolution set to fixed
  • Status changed from assigned to closed

The issue was investigated to ensure this was not a corner case of bumping into an 32-bit OS
issue or a maximum buffer size problem. The culprit is simply the NetBSD VM running so slowly
that the test exceeds the safety-valve timeout.

The following patch extends the timeout:

diff --git a/src/lib/asiodns/tests/io_fetch_unittest.cc b/src/lib/asiodns/tests/io_fetch_unittest.cc
index 7f79a52..54b134b 100644
--- a/src/lib/asiodns/tests/io_fetch_unittest.cc
+++ b/src/lib/asiodns/tests/io_fetch_unittest.cc
@@ -106,7 +106,7 @@ public:
         udp_fetch_(IOFetch::UDP, service_, question_, IOAddress(TEST_HOST),
             TEST_PORT, result_buff_, this, 100),
         tcp_fetch_(IOFetch::TCP, service_, question_, IOAddress(TEST_HOST),
-            TEST_PORT, result_buff_, this, (16 * SEND_INTERVAL)),
+            TEST_PORT, result_buff_, this, (24 * SEND_INTERVAL)),
                                         // Timeout interval chosen to ensure no timeout
         protocol_(IOFetch::TCP),        // for initialization - will be changed
         cumulative_(0),
Flag for copyright

The larger issue is rather than extend timeouts for cases like this, maybe we should be using
them as flags that our test environment is compromised.

This patch was committed directly to master via git 50cd64975e3cba5dc576db5bb85789a37991031c

comment:5 in reply to: ↑ 1 Changed 6 years ago by jreed

Replying to jreed:

This is related to:

I opened #3460 for that.

Note: See TracTickets for help on using tickets.