mongo 8.0.5+ crash-loops with SIGSEGV (exit 139) on arm64 / Raspberry Pi 5; 8.0.4 is fine

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Minor - P4
    • None
    • Affects Version/s: 8.0.5, 8.0.6, 8.0.7, 8.0.8, 8.0.9, 8.1.0, 8.0.10, 8.1.1, 8.1.2, 8.0.11, 8.1.3, 8.0.12, 8.0.13, 8.2.1, 8.0.14, 8.2.0, 8.0.15, 8.2.2, 8.0.16, 8.2.3, 8.0.17, 8.2.4, 8.0.18, 8.2.5, 8.0.19, 8.0.20, 8.3.1, 8.2.6, 8.2.7, 8.0.21, 8.2.8, 8.0.22, 8.3.0, 8.2.9, 8.3.2, 8.0.23, 8.3.3, 8.2.10, 8.0.24, 8.3.4, 8.2.11, 8.0.25, 8.0.26, 8.3.6, 8.2.13
    • Component/s: None
    • None
    • ALL
    • Hide

      docker run --rm mongo:8.0.5     # SIGSEGV (exit 139), crash-loops roughly every ~30s
      docker run --rm mongo:8.0.4     # runs fine

      Show
      docker run --rm mongo:8.0.5     # SIGSEGV (exit 139), crash-loops roughly every ~30s docker run --rm mongo:8.0.4     # runs fine
    • None
    • None
    • None
    • None
    • None
    • None
    • None

        1. Summary

      On arm64 (Raspberry Pi 5, Cortex-A76 / ARMv8.2-A), `mongod` from the official image starts, runs for a short time, then dies with *SIGSEGV* (`docker events` shows `die exitCode=139`) and loops forever under a restart policy. No graceful shutdown and no fatal log line is emitted; the next start just reports "Detected unclean shutdown."

      Bisecting the published tags gives a clean boundary: *`8.0.4` is the last good release; `8.0.5` is the first that crash-loops*, and every release after it (8.0.6 → 8.0.26, all 8.2.x, all 8.3.x, `latest`) is affected.

        1. Reproduction

      ```bash
      docker run --rm mongo:8.0.5     # SIGSEGV (exit 139), crash-loops roughly every ~30s
      docker run --rm mongo:8.0.4     # runs fine
      ```

      No app, config, replica set, or volumes required — a bare `docker run` reproduces it. To watch the crash:

      ```bash
      docker events --filter image=mongo:8.0.5 --filter event=die \
        --format '.Time exit=.Actor.Attributes.exitCode'
      ```

        1. Bisect (one standalone container per version)
      Version Result
      8.0.0 - 8.0.4 OK
      *8.0.5* *first bad — SIGSEGV 139*
      8.0.6, 8.0.13, 8.0.26 crash-loop
      8.2.1, 8.2.9 crash-loop (139)
      8.3.4 crash-loop

      There is no published 8.0.2 or 8.0.7, so `8.0.4 → 8.0.5` is the exact consecutive boundary in the official images.

        1. Environment
      • Image: official `library/mongo`, tags `8.0.5`+ (build: `allocator: tcmalloc-google`, `distmod: ubuntu2404`, `distarch: aarch64`)
      • Host: Raspberry Pi 5, Cortex-A76 (ARMv8.2-A), Ubuntu kernel `7.0.0-1010-raspi`, page size 4096
      • Docker 29.5.1
        1. Details
      • Exit is *139 = SIGSEGV*; no backtrace and no shutdown sequence is logged before death.
      • `GLIBC_TUNABLES=glibc.pthread.rseq=0` (from #723) is present in the container env and does not prevent it.
      • Not OOM (`State.OOMKilled=false`, `memory.events: oom_kill 0`). Not the older Pi 4 "Illegal instruction"/SIGILL case (#510, #508, #485) — this CPU is ARMv8.2-A and the signal is SIGSEGV, and 8.0.4 on the same host is stable.

            Assignee:
            Unassigned
            Reporter:
            Anthony House (EXT)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: