Created attachment 171445 [details] Diff to fix traceroute6 If traceroute6 is run and one of the hops is not responding, receipt of an IPv6 ICMP echo reply will cause traceroute6 to re-execute the wait on the current probe. If echo replies are coming in at a rate faster than the timeout, traceroute6 will essentially wait forever on the non responding hop. This can be easily reproduced using ping6 and traceroute6 simultaneously in the presence of non responsive hops. A diff which corrects the problem is attached.
This patch confirmed to fix the problem. We imported it into pfsense. https://redmine.pfsense.org/issues/3069
I can confirm this patch fixes the issue on FreeBSD 11.0-RELEASE-p3 as well.
A commit references this bug: Author: hrs Date: Sat Nov 5 18:00:36 UTC 2016 New revision: 308347 URL: https://svnweb.freebsd.org/changeset/base/308347 Log: Fix an infinite loop at an non-responding hop when other echo replies are kept arriving in the waittime time window. Submitted by: Denny Page PR: 210286 MFC after: 3 days Changes: head/usr.sbin/traceroute6/traceroute6.c
Sorry for the delay. Your patch has been committed into CURRENT and will be merged into the STABLE branches. Thank you for your report.
A commit references this bug: Author: hrs Date: Wed Nov 16 03:51:05 UTC 2016 New revision: 308714 URL: https://svnweb.freebsd.org/changeset/base/308714 Log: MFC r308347: Fix an infinite loop at an non-responding hop when other echo replies are kept arriving in the waittime time window. Submitted by: Denny Page PR: 210286 Changes: _U stable/11/ stable/11/usr.sbin/traceroute6/traceroute6.c
A commit references this bug: Author: hrs Date: Wed Nov 16 03:51:15 UTC 2016 New revision: 308715 URL: https://svnweb.freebsd.org/changeset/base/308715 Log: MFC r308347: Fix an infinite loop at an non-responding hop when other echo replies are kept arriving in the waittime time window. Submitted by: Denny Page PR: 210286 Changes: _U stable/10/ stable/10/usr.sbin/traceroute6/traceroute6.c