Skip to main content

resolve_memory_exhaustion

Function resolve_memory_exhaustion 

Source
pub fn resolve_memory_exhaustion(
    exit_code: Option<i32>,
    log_tail: Option<&str>,
    oom_killed: Option<bool>,
    oom_kills: Option<u64>,
) -> Option<MemoryExhaustion>
Expand description

Decide whether an execution died of memory exhaustion, and say why.

Only abnormal exits are explained: a command that merely printed a fatal marker (an rg dump, a quoted incident log) and then succeeded is not a memory failure. An observation, never a verdict (issue #151).

The container-wide OOM signals (State.OOMKilled, the cgroup oom_kill counter) only count when the exit fits an OOM kill of the command itself: a child OOM-killed under a command that later exits 1 is not the reason the command ended (issue #180).