AskaEth
92b0f89492
fix(trace): URLCause 用层数上限终止,去掉不可比较的 error 比较
手写终止条件只认「长度 1 的自引用」,于是:
- 两节点环(a.Err=b / b.Err=a)⇒ 死循环,打挂当前请求的 goroutine;
- uerr.Err == err 在两侧动态类型相同且不可比较时 ⇒ panic
(comparing uncomparable type),同样打挂当前请求。
改为唯一终止条件 maxURLCauseDepth=8:超限返回只含 Op 的替身,不返回当前层
(当前层是 *url.Error,Error() 里就是整条地址,不能为防死循环把地址漏回去)。
正常单层/双层路径逐字不变。用例:两节点环 1s 内返回、不可比较类型不 panic、
自引用仍退化成替身、超限路径无 URL 片段、上限内(8 层)仍剥到内层原因。
2026-10-26 19:01:15 +08:00
..
2026-10-26 13:17:42 +08:00
2026-10-26 18:45:38 +08:00
2026-10-26 18:45:38 +08:00
2026-10-04 12:31:20 +08:00
2026-10-03 19:21:10 +08:00
2026-10-04 12:31:20 +08:00
2026-10-04 10:37:22 +08:00
2026-10-04 11:26:35 +08:00
2026-10-26 13:17:42 +08:00
2026-10-04 12:31:20 +08:00
2026-09-07 19:10:57 +08:00
2026-10-06 14:12:25 +08:00
2026-10-26 13:17:42 +08:00
2026-10-26 13:17:42 +08:00
2026-10-26 13:58:02 +08:00
2026-10-26 13:20:45 +08:00
2026-09-07 19:10:57 +08:00
2026-10-26 13:17:42 +08:00
2026-09-06 05:06:41 +08:00
2026-10-26 13:31:11 +08:00
2026-10-26 19:01:15 +08:00
2026-10-26 19:01:15 +08:00
2026-10-26 13:17:42 +08:00
2026-10-26 13:31:11 +08:00