Reference#
Coverage, buckets, object key format, configuration variables, and API endpoints for the SKAO core dump service.
Where core dumps are collected#
The collector runs as a DaemonSet in the core-dump-handler namespace of the clusters below. Datacentres that are absent from this table produce no core dumps.
Datacentre |
Bucket |
Pod label required |
Browse at |
|---|---|---|---|
stfc-techops (production) |
|
|
|
low-aa (production) |
|
|
|
low-itf (production) |
|
|
|
mid-itf (production) |
|
|
Storage and retention#
Property |
Value |
|---|---|
Provider |
AWS S3, region |
Retention |
5 days — a lifecycle rule expires every object in every bucket |
Versioned objects |
Non-current versions under the |
Access from the cluster |
One IAM user per bucket, |
Access for developers |
Through the Core Dumps Browser only — the bucket credentials stay server-side |
Buckets, IAM users, policies, and access keys are provisioned by the s3-core-dumps Terraform stack in ska-ser-infra-machinery.
Warning
Nothing recovers a dump after 5 days. Download anything you still need to investigate.
Object key format#
SKAO overrides the chart’s default filename template so that the object key itself carries the searchable metadata. The Core Dumps Browser parses the key to populate its columns and filters.
ns-{namespace}-hn-{hostname}-en-{exe_name}-ts-{timestamp}-uuid-{uuid}.zip
Field |
Browser column |
Meaning |
|---|---|---|
|
Namespace |
Kubernetes namespace of the crashed pod |
|
Hostname |
Name of the crashed pod, not the node |
|
Executable |
Name of the crashed executable, for example |
|
Datetime |
Unix seconds at crash time |
|
UUID |
Identifier the composer generates per dump |
Zip contents#
Every file inside the zip shares the key’s base name, with the suffixes below.
Suffix |
Contents |
|---|---|
|
The core dump — full process memory image |
|
|
|
Image ID, |
|
Pod labels, annotations, namespace, UID, and sandbox state from CRI |
|
Container list with IDs, image refs, and state at crash time |
|
Full container runtime description |
|
Tail of the container log, up to |
In dump-info.json, the path field encodes the executable path with ! in place of / — !usr!local!bin!python3.12 means /usr/local/bin/python3.12.
Signals that produce a core dump#
Signal |
Number |
Pod exit code |
Typical cause |
|---|---|---|---|
|
11 |
139 |
Invalid memory access |
|
6 |
134 |
|
|
7 |
135 |
Misaligned or unmapped memory access |
|
8 |
136 |
Arithmetic fault such as integer division by zero |
|
4 |
132 |
Illegal instruction |
OOMKilled pods, ordinary non-zero exits, and pods stopped with SIGTERM produce no core dump.
External documentation#
analyse.sh — SKAO script that unpacks a dump and produces backtraces
core-dump-handler on GitHub — upstream chart and agent
pystack — Python traceback recovery from core files
core(5) — kernel core dump behaviour and
core_pattern