For AI agents: the complete documentation index is available at /tc39-atlas/llms.txt, the full documentation bundle is available at /tc39-atlas/llms-full.txt, and this page is available as Markdown at /tc39-atlas/proposals/year/pending/proposal-oom-fails-fast.md.
  • 简体中文
  • OOM Fails Fast S1

    中文标题:OOM 快速失败

    提案概览
    提案速览

    该提案引入了一个宿主钩子和一个内置方法来处理致命故障。HostFaultHandler 钩子允许宿主对内部故障条件做出反应,可能会终止当前的计算单元。Reflect.panic 方法让 JavaScript 代码显式触发此钩子。

    Note

    以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。

    不要记得恐慌

    一个 TC39 提案,旨在提供:

    • 一个 HostFaultHandler 钩子,用于可选地立即终止计算的外围单元。
    • 一个内置的 panic 方法,用于显式调用 HostFaultHandler

    状态

    TC39 流程

    已作为 OOM 必须快速失败 达到第 1 阶段

    共同提案人

    • Mark S. Miller, Agoric (@erights)
    • Peter Hoddie, Moddable (@phoddie)
    • Zbyszek Tenerowicz (@naugtur)
    • Christopher Hiller (@boneskull)

    演讲

    内容

    • 一个新的宿主钩子
    HostFaultHandler(faultType, arg = undefined)

    用于在各种内部故障条件下被调用,以便宿主可以根据其策略做出反应。包括突然终止“最小可中止计算单元”,例如代理集群。

    • 一个新的内置函数
    Reflect.panic(arg = undefined)

    这样 JavaScript 代码可以直接触发故障到 HostFaultHandler

    参见 @endo/panic 获取该提案中 panic 函数的一个不完美的 polyfill。

    动机

    参见 OOM 必须快速失败 了解原始动机和理由,其中大部分仍然有趣且有效。

    参见 "不要记得恐慌" 第 1 阶段更新 (keynote 幻灯片, pdf 幻灯片) 了解扩展的动机和理由

    致谢

    感谢 Felipe Natal 让我们注意到一个问题,这个问题

    • 重新激发了我们对这个旧 "OOM 必须快速失败" 提案的兴趣。
    • 需要添加用户 panic 操作来解决。