#3842·nanoclaw

[硬化] upload-trace 仍然通过 Bun 的 spawnSync 运行 curl,这会阻塞轮询循环

作者: glifocat创建于 2026年9月16日更新于 2026年9月16日
  • 受影响的纳克劳版本或实施

`main' at 65b69ba1 (由#3841更改).

主机平台

代理容器(Bun 1.4.0). 主机节点不受影响.

发生了什么事?

#3839追踪了6小时CI被吊到Bun's's's's's's spoundSync' 失去孩子的出场并永远以100%的CPU(oven-sh/bun#34069,转录于Bun 1.4.0上;在squlite,插座和定时器旁边有产卵体积的发生率尺度)来旋转. #3841从"OpenCode"转弯道上移除了"SprawnSync".

跑道上留下了1个呼叫站点: " 集装箱/代理-跑道员/src/upload-traces.ts:38 " 从 " poll-loop.ts " (行~192)内通过 " spawnSync " 运行每个`curl- for " /upload-traces " 。 一个楔子在民意测验环上有一个同步回旋:没有心跳触摸,没有后期消息,计时器不能起火,直到主机的 stale-session switch杀死了容器.

路径被治理而罕见,因此暴露度较低. 这是最后的同步产卵 在跑道上,虽然, 和机制是相同的 一个花费六小时的CI。

你想怎样?

Curl ' 贯穿了有明确期限的 " sprawn " (即现在的opencode-memory.ts ' :runHookCommand ' 中的模式),或通过tick ' ,因此根本不涉及儿童程序。 " 上载追踪 " 变成同步, " poll-loop.ts " 等待它。

我们怎么复制它?

不需(见烤箱-sh/bun#34069:蒸馏还原剂不起火). 核查是结构性的:grep-rn 产卵合成容器/物剂-运行器/src-including=' *.ts' grep-v test.ts' 更改后未返回,而`upload-trace.ts'仍然通过.

内容来源: nanocoai/nanoclaw