gke-ai-troubleshooting-tpu-vbar-oom

Diagnoses vbar_control_agent OOM crashes and TPU device failures on GKE TPU v6e nodes.

19.1k|1.5k|Updated Mar 31, 2026
One-click install
npx skills add https://github.com/google/skills --skill gke-ai-troubleshooting-tpu-vbar-oom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gke-ai-troubleshooting-tpu-vbar-oom
Source: https://github.com/google/skills/tree/main/skills/cloud/gke-ai-troubleshooting-tpu-vbar-oom
Command: npx skills add https://github.com/google/skills --skill gke-ai-troubleshooting-tpu-vbar-oom

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

TPU v6e nodes on GKE can suffer vbar_control_agent segfaults, memory cgroup OOM kills, and TPU device initialization failures caused by race conditions during device resets or high-frequency metrics polling. This Skill provides a systematic diagnostic and resolution workflow to identify the root cause from Cloud Logging and cluster state.

Core Features & Use Cases

  • Serial Console OOM Detection: Query serial console logs for memory cgroup OOM kills of vbar_control_agent using prebuilt Cloud Logging filter templates.
  • Metrics Corruption Analysis: Detect tpu-device-plugin checksum mismatch errors indicating vBAR memory corruption.
  • Custom Metrics Conflict Detection: Identify custom TPU metrics collectors (e.g., libtpu.sdk.tpumonitoring) that trigger the race condition, then recommend mitigations.
  • Use Case: A training job on a TPU v6e cluster fails after a node reboot. Use this Skill to compute the incident time window, query serial console and container logs, confirm the vbar_control_agent crash, and advise disabling the custom metrics collector until the GKE resiliency fix ships.

Quick Start

Diagnose why my TPU v6e node in cluster tpu-cluster-prod crashed around 2026-04-14T20:00:00Z by checking for vbar_control_agent OOMs and tpu-device-plugin errors.

Frequently Asked Questions about gke-ai-troubleshooting-tpu-vbar-oom

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I troubleshoot vbar_control_agent OOM errors on GKE TPU nodes?

Query serial console logs for "Memory cgroup out of memory: Killed process" entries referencing vbar_control_agent within a 30-minute window around the incident. Stack traces pointing to VBARControlHelper::MetricsReadFromVBAR strongly indicate the race condition.

How to detect tpu-device-plugin metrics checksum corruption in Cloud Logging?

Filter k8s_container logs for the tpu-device-plugin container with severity ERROR and the message "checksum didn't match with the metrics data. Corrupt data found". This indicates vBAR memory corruption during metrics fetches.

What causes vbar_control_agent crashes on TPU v6e nodes?

Crashes are caused by a race condition when custom metrics collectors using libtpu.sdk.tpumonitoring poll GetHostMetrics at high frequency while a TPU device reset occurs. Reads from unbound vBARs corrupt memory and trigger OOMs or segfaults.

Does this troubleshooting apply to non-TPU container OOM issues?

No. This workflow is specific to TPU v6e node failures involving vbar_control_agent and tpu-device-plugin. It should not be used for general container OOM troubleshooting or standard GKE node lifecycle operations.

How do I fix vbar_control_agent OOM crashes on GKE?

Temporarily disable any custom TPU metrics collection agents to stop reads from vBAR during device resets. A permanent resiliency fix will arrive in a future GKE version, so upgrade the cluster when it becomes available.