[GH-ISSUE #2526] Test client_tests::test_timeout_query_tcp fails with some internet connections #1011

Closed
opened 2026-03-16 01:16:29 +03:00 by kerem · 0 comments
Owner

Originally created by @divergentdave on GitHub (Oct 23, 2024).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2526

Describe the bug
This test is almost always failing on my USI fiber connection, but passes when using a T-Mobile 4G connection via tethering. The test makes a TCP connection to 203.0.113.0, and expects to get a timeout error, but gets "No route to host (os error 113)" instead. This IP address is in TEST-NET-3 from RFC 5737. This regressed in commit f6b7c4be77.

To Reproduce
Steps to reproduce the behavior:

Run cargo test --all-features -p hickory-integration --test integration -- client_tests::test_timeout_query_tcp.

Expected behavior
This test should pass reliably.

System:

  • OS: Ubuntu
  • Architecture: x86_64
  • Version: 24.04
  • rustc version: 1.82

Version:
Crate: client
Version: Tip of main

Additional context
There is a very similar test in client_future_tests, but that test only checks that connecting fails, and doesn't check which type of error it gets.

Edit: FWIW, the difference between networks is that, on USI, I get an ICMP "Time-to-live exceeded" message after about 1.5 seconds. On T-Mobile, there are no messages sent back, and my computer just keeps sending TCP retransmissions. Seeing a "Time-to-live exceeded" error is unfortunate, as it sounds like there may be a routing loop, but such is life. Note that the TCP connection may also fail quickly when trying to run tests while offline.

Originally created by @divergentdave on GitHub (Oct 23, 2024). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2526 **Describe the bug** This test is almost always failing on my USI fiber connection, but passes when using a T-Mobile 4G connection via tethering. The test makes a TCP connection to 203.0.113.0, and expects to get a timeout error, but gets "No route to host (os error 113)" instead. This IP address is in `TEST-NET-3` from RFC 5737. This regressed in commit f6b7c4be7787327b52744f6c7a11da0386990d3f. **To Reproduce** Steps to reproduce the behavior: Run `cargo test --all-features -p hickory-integration --test integration -- client_tests::test_timeout_query_tcp`. **Expected behavior** This test should pass reliably. **System:** - OS: Ubuntu - Architecture: x86_64 - Version: 24.04 - rustc version: 1.82 **Version:** Crate: client Version: Tip of main **Additional context** There is a very similar test in `client_future_tests`, but that test only checks that connecting fails, and doesn't check which type of error it gets. Edit: FWIW, the difference between networks is that, on USI, I get an ICMP "Time-to-live exceeded" message after about 1.5 seconds. On T-Mobile, there are no messages sent back, and my computer just keeps sending TCP retransmissions. Seeing a "Time-to-live exceeded" error is unfortunate, as it sounds like there may be a routing loop, but such is life. Note that the TCP connection may also fail quickly when trying to run tests while offline.
kerem closed this issue 2026-03-16 01:16:34 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#1011
No description provided.