Keep certstream server alive, fix CT log URLs, and prevent stack overflow#4
Conversation
Co-authored-by: imfht <[email protected]>
|
@copilot 我不知道为什么会退出,但是确实退出了 |
|
@copilot websocket 连接上去了,但是没有任何数据反馈 |
Co-authored-by: imfht <[email protected]>
已在 c7ba3c0 增加 CT_LOG_LIST_URL 环境变量,可替换 gstatic 的 CT log 列表地址(被墙会导致 watcher 不启动,websocket 只有连接无数据)。现在启动日志会打印实际使用的 URL,设置该变量指向可访问的镜像后即可开始推送数据。 Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot 一直是 Waiting on certificates |
Co-authored-by: imfht <[email protected]>
Co-authored-by: imfht <[email protected]>
Co-authored-by: imfht <[email protected]>
|
@copilot 这个日志是不是看起来很不正常?2026-01-20T01:21:22.825443Z WARN Failed to get initial tree size for https://ct.googleapis.com/logs/argon2022 (attempt 4/5): error decoding response body: expected value at line 1 column 1. Retrying in 30 seconds... |
这条日志不正常,表示 |
|
@copilot curl https://ct.googleapis.com/logs/argon2022/ct/v1/get-sth |
curl 返回的 JSON 说明这个日志本身是正常的;之前的 WARN 多半是旧版本(未修复 URL 拼接)或网络层偶发返回空/HTML(代理/防火墙/临时 5xx)。请用最新代码重新编译运行(commit e989040 之后),如果仍出现同样 WARN,请确认服务器没有 HTTPS_PROXY/透明代理,并用 |
|
@copilot 2026-01-20T02:53:07.223304Z WARN Failed to get initial tree size for https://mammoth2025h2.ct.sectigo.com/ (attempt 2/5): error decoding response body: expected value at line 1 column 1. Retrying in 30 seconds... thread 'tokio-runtime-worker' (338002) has overflowed its stack |
Co-authored-by: imfht <[email protected]>
在 f86264b 里把 fetch_and_broadcast_certs 的递归改成迭代循环,并在收到空响应时停止本批次以避免无限递归/堆栈溢出;这应能解决你看到的 stack overflow 崩溃。 |
CT watcher initialization can exit after transient failures, which currently ends the entire process via
tokio::select!. This explains the observed ~22s shutdown window during CT log list fetch retries.ct_watcher::start_watchersin a restart loop with backoff on exit.CT_LOG_LIST_URLenvironment override and log the resolved CT log list URL.ct/v1/*endpoints so polling does not stall.> [!WARNING]
>
>
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.