Skip to content

Job Failure Reference

This page catalogs known job failure scenarios observed across the runner pod lifecycle, with verified GitHub Actions run examples for each case. Use it for troubleshooting or to understand expected behavior.

Expected pod state transitions for a successful run: Pending → Running → Succeeded (terminal — pod is then removed)

Phase Category Error
Normal Flow
Pending Image InvalidImageName
Pending Image ErrImagePull
Pending Container Creation CreateContainerConfigError
Pending Scheduling FailedScheduling (nodeSelector)
Pending Scheduling FailedScheduling (resource limit)
Pending Scheduling FailedBinding
Running Container Runtime Container crash
Running Container Runtime OOMKilled
Running Workflow UserScriptError

Normal Flow

Manually trigger the correct workflow with a valid, pullable image. Pod transitions: Pending → Running → Succeeded.

Successful run showing pod transitions from Pending to Running to Succeeded

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@22e524c


Pending Phase

Image Errors

InvalidImageName

Invalid image name format.

Pod stuck in Pending with InvalidImageName reason in GitHub Actions log

Ref: linux-aarch64-test-hook_invalid-image-name · ascend-gha-runners/add-node-check@22e524c

ErrImagePull

Image does not exist.

Pod stuck in Pending with ErrImagePull and ImagePullBackOff in GitHub Actions log

Ref: linux-aarch64-test-hook_err-image-pull · ascend-gha-runners/add-node-check@22e524c

Container Creation Errors

CreateContainerConfigError

Referencing a non-existent Secret.

Pod stuck in Pending with CreateContainerConfigError due to missing Secret

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@22e524c

Scheduling Errors

FailedScheduling (nodeSelector)

nodeSelector mismatch — no node satisfies the label constraints.

Pod stuck in Pending with FailedScheduling due to nodeSelector mismatch

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@b4b3d9d

FailedScheduling (resource limit)

Resource request exceeds node limit (422 scenario).

Pod stuck in Pending with FailedScheduling due to resource request exceeding node limit

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@b4b3d9d

FailedBinding

PVC does not exist.

Pod stuck in Pending with FailedBinding due to missing PVC

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@b4b3d9d


Running Phase

Container Runtime Errors

Container crash

Exit non-zero — container exits immediately after start.

GitHub Actions log showing container exiting with non-zero exit code immediately after start

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@b4b3d9d

OOMKilled

Out of memory — container killed by the kernel OOM killer.

GitHub Actions log showing container terminated with OOMKilled status

Ref: linux-aarch64-test-hook · ascend-gha-runners/add-node-check@b4b3d9d

Workflow Errors

UserScriptError

User script step exited with non-zero code. K8s pod reason: Error. Unlike container crash, the runner container started successfully and workflow steps executed — the failure is in the script logic itself.

GitHub Actions log showing user script failure with non-zero exit code

Ref: linux-aarch64-test-hook_user-script-error · ascend-gha-runners/add-node-check@3cd45c8


Support

If you encounter an issue not listed on this page, please create a discussion or contact the infrastructure team.


Document version: v2.0 Last updated: 2026-07-14