docker-library / docker-library/postgres

postgres:17-alpine crashes with SIGSEGV on ARM64 (Apple Silicon) - Alpine 3.23 regression

Open
#1,389 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
2.5k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

Description

postgres:17-alpine (which uses Alpine 3.23) crashes immediately with SIGSEGV (exit code 139) on ARM64 (Apple Silicon Mac). The PostgreSQL binary fails to execute any command, including postgres --version.

Environment

  • Host: macOS (Apple Silicon M-series)
  • Docker: Docker Desktop 29.1.3
  • Architecture: linux/arm64

Reproduction

# This crashes immediately with exit code 139
docker run --rm postgres:17-alpine postgres --version

# This works fine
docker run --rm postgres:17-alpine3.22 postgres --version

Verified Test Matrix

Image Tag Alpine Version PostgreSQL ARM64 Status
postgres:17-alpine3.21 3.21.x 17.7 ✅ Works
postgres:17-alpine3.22 3.22.x 17.7 ✅ Works
postgres:17-alpine 3.23.2 17.7 ❌ Crashes (SIGSEGV)
postgres:17 (Debian) N/A 17.7 ✅ Works

Analysis

The crash was introduced when the 17-alpine tag was updated to use Alpine 3.23 (released December 17, 2025). Both working and broken images use LLVM 19.x, so this is NOT an LLVM issue.

The Alpine container itself runs fine - only the PostgreSQL binary crashes:

# Alpine shell works
docker run --rm postgres:17-alpine cat /etc/alpine-release
# Output: 3.23.2

# PostgreSQL binary crashes
docker run --rm postgres:17-alpine postgres --version
# Exit code: 139 (SIGSEGV)

Suspected Cause

Something changed in Alpine 3.23 that affects PostgreSQL on ARM64. Possible causes:

  • musl libc changes
  • GCC 14 → 15 compiler changes
  • Other toolchain/runtime library changes

Workaround

Use an explicit Alpine 3.22 tag:

# docker-compose.yml
services:
  postgres:
    image: postgres:17-alpine3.22  # Works on ARM64

Or use the Debian-based image:

services:
  postgres:
    image: postgres:17  # Also works

Additional Context

  • This affects Apple Silicon Macs (M1/M2/M3/M4)
  • The postgres:17-alpine image was last pushed December 18, 2025
  • Alpine 3.23 was released December 17, 2025

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with docker run --rm postgres:17-alpine postgres --version on linux/arm64, then compare it with the working Alpine 3.22 and Debian tags. Trace the Alpine 3.23 compatibility regression and verify the fix by rerunning the provided image matrix; done means PostgreSQL runs without SIGSEGV on ARM64.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, postgres
Domain
databases, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.