# Nag-crash ang Google Cloud sa isang blangkong field. Tatlong oras.

Published: 2026-09-19

Isang policy row na may ilang blangkong field ang tumama sa isang null pointer, at sabay-sabay na nag-crash ang Google Cloud sa bawat rehiyon — pagkatapos ay bumagsak din ang Cloudflare. Hunyo 12, 2025, 17:49 UTC: Binabasa ng Service Control, ang binary na nag-aapruba sa bawat kahilingan ng Google Cloud API, ang pagbabago ng quota-policy na may "hindi sinasadyang blangkong field", tumatama sa isang code path na inilabas dalawang linggo na ang nakakaraan na walang null check at walang feature flag, at napupunta sa isang crash loop sa bawat rehiyon — ang row ay na-replicate nang globally sa loob ng ilang segundo. Nagbabalik ang mga panlabas na API ng 503 sa loob ng tatlong oras; tumatagal ang us-central1 ng 2 h 40 min dahil ang mga nagre-restart na gawain ay sabay-sabay na umaatake sa parehong Spanner table na walang randomized backoff. Tatlong minuto matapos ang outage ng Google, ang Workers KV ng Cloudflare — na ang pinagmulan ng katotohanan ay nasa "isang third-party cloud provider" — ay nawawalan ng 90% ng mga kahilingan, at bumagsak kasama nito ang Access, WARP, Workers AI, Pages, Stream at Turnstile sa loob ng 2 h 28 min. Ang status page ng Google ay nagpo-post ng una nitong update ng isang oras na huli, dahil tumatakbo ito sa Google Cloud.

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

## Ang sakop ng video na ito

- Isang blangkong field, isang null pointer, bawat rehiyon
- Timeline: Mayo 29 → 17:45 → crash loop → pulang pindutan → 17:52 Cloudflare
- us-central1: ang herd effect
- Mekanismo: check sa request path, global replication, isang vendor
- git blame — ang hati

## Mga Kabanata

- 0:00 Isang blangkong field, isang null pointer, bawat rehiyon
- 0:32 Timeline: Mayo 29 → 17:45 → crash loop → pulang pindutan → 17:52 Cloudflare
- 1:32 us-central1: ang herd effect
- 1:43 Mekanismo: check sa request path, global replication, isang vendor
- 2:00 git blame — ang hati
- 2:20 Radius ng pagkalat
- 2:33 Hatol + ang linya ng Lunes

## Isinaling transcript

Isinalin mula sa orihinal na salaysay sa English. Ang available na audio at mga caption ay kinokontrol ng YouTube.

### Isang blangkong field, isang null pointer, bawat rehiyon

0:00 Isang policy row na may blangkong field ang tumama sa isang null pointer, at nag-crash ang Google Cloud sa bawat rehiyon nang sabay-sabay — at bumagsak din ang Cloudflare, pagkatapos ay tinawag ang Google na "isang third-party provider". Hunyo 12, 2025, 17:49 UTC. Ulat ng Google: Service Control, ang binary na nag-aapruba sa bawat kahilingan ng API, sa isang crash loop sa loob ng tatlong oras. Ang sa Cloudflare, sa parehong gabi: Workers KV, siyamnapung porsyento ang bumagsak, dalawang oras dalawampu't-walo.

0:23 Paano ito nangyari, bakit naging global ang isang blangkong field sa loob ng ilang segundo, at sino ang may kasalanan. Ito ang The Daily Diff, postmortem. Mayo 29. Nakakuha ang Service Control ng bagong quota check, inilabas kada rehiyon na mayroong

### Timeline: Mayo 29 → 17:45 → crash loop → pulang pindutan → 17:52 Cloudflare

0:35 pulang pindutan — ngunit hindi kailanman tumatakbo ang bagong code path sa panahon ng rollout; walang nagti-trigger nito pa. Walang null check. Walang feature flag. 17:45. Isang pagbabago ng policy na may blangkong field ang dumating sa Spanner table. Global ang quota, kaya ang row ay na-replicate sa lahat ng lugar sa loob ng ilang segundo. Binabasa ito ng bawat Service Control binary, tumatama sa null pointer, nag-crash, nagre-restart, binabasa itong muli. Bawat tawag sa API: 503.

0:55 Mabilis ang Google: triage sa loob ng dalawang minuto, root cause sa loob ng sampu. Ang pulang pindutan ay nakalabas sa loob ng apatnapu, at ang maliliit na rehiyon ang unang nakakabawi. Ang status page ay nagpo-post ng una nitong update pagkalipas ng isang oras, dahil tumatakbo ito sa Google Cloud. 17:52. Nakita ng WARP team ng Cloudflare na nabigo ang mga bagong device na magrehistro. Ang Workers KV, ang storage na kalahati ng ginagamit ng Cloudflare para sa config at identity, nakatira sa isang third-party cloud. Nabigo ang Access sa bawat pag-login — sa disenyo, nabigo itong isara.

1:20 Nabigo ang Workers AI sa bawat inference. 19:11, Gergely Orosz: dalawang independiyenteng cloud ang bumagsak nang sabay-sabay, hindi pa nakikita dati. 19:32, Sinabi ng suporta ng Google sa isang user na walang kilalang abala — subukang i-clear ang iyong cookies. Nakabawi ang lahat ng iba pang lugar sa 19:48.

### us-central1: ang herd effect

1:34 Hindi ang us-central1: ang mga nagre-restart na gawain ay sabay-sabay na umaatake sa parehong Spanner table, walang randomized backoff, kaya manu-manong kinokontrol ito ng Google. Dalawang oras at apatnapu. Isa: ang policy check ay nasa loob ng request path; kapag namatay ang check,

### Mekanismo: check sa request path, global replication, isang vendor

1:46 namamatay ang API. Dalawa: ang quota data ay nagiging global na walang staging; ang isang masamang row ay isang global row. Tatlo: Alam ng Cloudflare. Ang Workers KV ay nasa gitna ng paglipat sa sarili nitong R2, bumaba sa isang provider — ang tinatawag itong gap sa coverage ng postmortem.

### git blame — ang hati

2:00 git blame. Google, limampu't-limang porsyento: walang null check, walang feature flag, walang backoff — sinasabi ng kanilang ulat na nahuli sana ito ng isang flag sa staging. Global replication, dalawampu: isang row, bawat rehiyon, segundo. Cloudflare, dalawampu: kalahati ng isang product line sa store ng isang vendor, at isang postmortem na hindi kailanman sinasabi ang Google. Ang status page, lima, para sa pamumuhay sa kung ano ang inire-report nito. Radius ng pagkalat: pitumpung produkto ng Google Cloud, sampung Workspace app,

### Radius ng pagkalat

2:23 bawat rehiyon. Tatlong oras. Sa Cloudflare: Access, WARP, Workers AI, Pages, Stream — dalawa at kalahati. Hacker News, isang libo't apat na raang puntos; nangungunang komento: berde ang status page.

### Hatol + ang linya ng Lunes

2:33 Hatol, postmortem: SHIP IT. Parehong postmortem ang dumating sa loob ng tatlumpung oras, parehong sinisisi ang kanilang sarili, at ang mga fix ng Google ay konkreto: fail open, flags off by default, exponential backoff. Ang linya ng Lunes: bagong code sa likod ng isang flag na naka-off, at isang null check kung saan pumapasok ang data. Ipadala sa akin ang insidente na hindi mo pa rin pinapayagang pag-usapan, sa mga komento, o sa the daily diff dot dev. At iyan ang diff para sa ngayon.

2:53 Ako si Niko mula sa Axrisi. Merge responsibly.

## Mga Pinagmulan

- [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
