# Google Cloud 因空白字段而崩溃。历时三小时。

Published: 2026-09-19

一个包含几个空白字段的策略行触发了一个空指针，导致 Google Cloud 所有区域同时崩溃，随后 Cloudflare 也随之瘫痪。2025 年 6 月 12 日，世界标准时间 17:49：Service Control（批准每个 Google Cloud API 请求的二进制文件）读取了一个配额策略变更，其中包含“意外的空白字段”，触发了两周前发布的代码路径（没有空检查和功能标志），并进入了所有区域的崩溃循环——该行在几秒钟内全局复制。外部 API 在三小时内返回 503；us-central1 耗时 2 小时 40 分钟，因为重启任务同时涌入同一个 Spanner 表，没有随机退避。在 Google 宕机三分钟后，Cloudflare 的 Workers KV（其真相来源位于“第三方云提供商”上）损失了 90% 的请求，Access、WARP、Workers AI、Pages、Stream 和 Turnstile 也随之宕机 2 小时 28 分钟。Google 的状态页面延迟一小时发布了首次更新，因为它运行在 Google Cloud 上。

Canonical: https://thedailydiff.dev/zh-CN/video/2026-09-19-google-cloud-null-pointer/

## 本视频涵盖的内容

- 空白字段、空指针、所有区域
- 时间线：5 月 29 日 → 17:45 → 崩溃循环 → 红按钮 → 17:52 Cloudflare
- us-central1：羊群效应
- 机制：请求路径中的检查、全局复制、一个供应商
- git blame — 拆分

## 章节

- 0:00 空白字段、空指针、所有区域
- 0:32 时间线：5 月 29 日 → 17:45 → 崩溃循环 → 红按钮 → 17:52 Cloudflare
- 1:32 us-central1：羊群效应
- 1:43 机制：请求路径中的检查、全局复制、一个供应商
- 2:00 git blame — 拆分
- 2:20 影响范围
- 2:33 裁决 + 星期一热线

## 翻译的文字记录

译自英文原版旁白。可用音频和字幕由 YouTube 控制。

### 空白字段、空指针、所有区域

0:00 包含空白字段的策略行触发空指针，Google Cloud 崩溃于 所有区域同时 — 且 Cloudflare 随之瘫痪， 然后称 Google 为“第三方提供商”。 2025 年 6 月 12 日，世界标准时间 17:49。 Google 的报告：Service Control，批准每个 API 请求的二进制文件， 陷入崩溃循环，持续三小时。 Cloudflare 的报告，同一晚上：Workers KV，百分之九十的请求失败， 两小时二十八分钟。

0:23 事件经过，为何一个空白字段在几秒钟内扩散全球， 以及谁应承担责任。 这是 The Daily Diff，事后分析。 5 月 29 日。Service Control 获得新的配额检查，按区域发布，带有

### 时间线：5 月 29 日 → 17:45 → 崩溃循环 → 红按钮 → 17:52 Cloudflare

0:35 红色按钮 — 但新的代码路径在发布期间从未运行；没有任何东西触发 它。没有空检查。 没有功能标志。 17:45。带有空白字段的策略变更进入 Spanner 表。 配额是全局的，所以该行在几秒钟内复制到所有地方。 每个 Service Control 二进制文件读取它，遇到空指针， 崩溃，重启，再次读取。 每个 API 调用：503。

0:55 Google 速度很快：两分钟内分类，十分钟内找到根本原因。 红色按钮在四十分钟内关闭，小区域首先恢复。 状态页面在一小时后发布首次更新， 因为它运行在 Google Cloud 上。 17:52。Cloudflare 的 WARP 团队发现新设备无法注册。 Workers KV，Cloudflare 用于配置和身份验证的一半存储， 位于第三方云上。 Access 每次登录都失败 — 根据设计，它失败即关闭。

1:20 Workers AI 每次推理都失败。 19:11，Gergely Orosz：两个独立的云同时宕机， 前所未见。 19:32，Google 支持告诉用户没有已知中断 — 尝试清除 你的 Cookie。其他所有地方都在 19:48 之前恢复。

### us-central1：羊群效应

1:34 us-central1 没有：重启任务涌入同一个 Spanner 表， 没有随机退避，所以 Google 手动节流它们。 两小时四十分钟。 一：策略检查位于请求路径内；当检查失败时，

### 机制：请求路径中的检查、全局复制、一个供应商

1:46 API 失败。 二：配额数据全局复制，没有暂存；一个坏行就是全局行。 三：Cloudflare 知道。 Workers KV 正在迁移到自己的 R2，只有一个提供商 — 事后分析称之为覆盖范围的空白。

### git blame — 拆分

2:00 git blame。Google，百分之五十五：没有空检查，没有功能标志， 没有退避 — 他们的报告称，如果有一个标志，本可以在暂存阶段发现问题。 全局复制，百分之二十：一行，所有区域， 秒。Cloudflare，百分之二十：一半产品线依赖一个供应商的存储， 以及一份从未提及 Google 的事后分析报告。 状态页面，百分之五，因为它运行在它所报告的服务上。 影响范围：七十个 Google Cloud 产品，十个 Workspace 应用程序，

### 影响范围

2:23 所有区域。三小时。 在 Cloudflare：Access、WARP、Workers AI、Pages、Stream — 两小时半。 Hacker News，一千四百赞；热门评论：状态页面是绿色的。

### 裁决 + 星期一热线

2:33 裁决，事后分析：SHIP IT。 两份事后分析报告在三十小时内发布，都归咎于自身， Google 的修复措施是具体的：开放式失败，标志默认关闭， 指数退避。星期一热线：新代码在默认关闭的标志后面发布， 并在数据进入时进行空检查。 把你仍然不被允许谈论的事件发送给我， 在评论中，或者发送到 the daily diff dot dev。 这就是今天的 The Daily Diff。

2:53 我是 Axrisi 的 Niko。 负责任地合并。

## 来源

- [Google Cloud Service Health, Incident Report (Jun 13, 2025) + Mini Incident Report (Jun 12)](https://status.cloud.google.com/incidents/ow5i3PPK96RduMcb1SsW) — status.cloud.google.com
- [Cloudflare, "Cloudflare service outage June 12, 2025" (Jun 12, 2025, 22:00 UTC)](https://blog.cloudflare.com/cloudflare-service-outage-june-12-2025/) — blog.cloudflare.com
- [Cloudflare Status, "Broad Cloudflare service outages" (18:19–21:31 UTC)](https://www.cloudflarestatus.com/incidents/25r9t0vz99rp) — www.cloudflarestatus.com
- [Gergely Orosz, 19:11 UTC, "Their infra is fully independent AFAIK"](https://x.com/GergelyOrosz/status/1933240698716729511) — x.com
- [@Google support, 19:32 UTC, "there aren't any known service disruptions"](https://x.com/Google/status/1933246051512644069) — x.com
- [Thomas Kurian (Google Cloud CEO), Jun 13 01:35 UTC](https://x.com/ThomasOrTK/status/1933337436970709493) — x.com
- [Hacker News, "GCP Outage" (1,468 points)](https://news.ycombinator.com/item?id=44260810) — news.ycombinator.com
- [Hacker News, "Cloudflare was down" (341 points)](https://news.ycombinator.com/item?id=44261064) — news.ycombinator.com
- [Hacker News, "Google Cloud Incident Report – 2025-06-13" (209 points)](https://news.ycombinator.com/item?id=44274563) — news.ycombinator.com
