canonical / canonical/microceph

Segmentation fault during `ceph-osd --mkfs` with encryption enabled on ARM64 (MicroCeph 19.2.1)

Open
#640 10 comments 1 reaction 0 assignees View on GitHub
question
Dominant language
Go
Stars
396
Forks
74
Avg merge
2d 20h
Merged PRs (30d)
7

Description

### Summary

On ARM64 hardware (Raspberry Pi 5) running Debian 12 and MicroCeph 19.2.1, adding an **encrypted** OSD fails with a segmentation fault.
Unencrypted OSD creation works fine.

---

### Environment

| Component | Details |
|------------|----------|
| Hardware | Raspberry Pi 5 (BCM2712 / Cortex‑A76 / 8 GB RAM) |
| OS | Debian 12 (Bookworm), Kernel 6.12.47+rpt‑rpi‑2712 |
| Architecture | ARM64 (aarch64) |
| MicroCeph | 19.2.1+snap0b6e577483 (squid/edge channel, snap 1599) |
| Ceph Version | Squid 19.2.1 |
| Snapd | 2.71 |
| Storage | NVMe SSD [...], partition `/dev/nvme0n1p3` |

---

### Steps to Reproduce

1. Initialize MicroCeph and join cluster.
2. Verify `dm-crypt` plug is connected.
3. Run:

```
sudo microceph disk add /dev/nvme0n1p3 --wipe --encrypt
```

4. Observe daemon error.

---

### Actual Behavior

`ceph-osd --mkfs` crashes with a segfault:

```
Error: failed to bootstrap OSD: Failed to run: ceph-osd --mkfs --no-mon-config -i 1: signal: segmentation fault
```

No core dump is created even with `ulimit -c unlimited`.

---

### Expected Behavior

The OSD should initialize successfully using encryption.

---

### Additional Logs

```
Oct 20 16:48:51 [server] microceph.daemon: level=ERROR msg="failed to bootstrap OSD 1: failed to bootstrap OSD: Failed to run: ceph-osd --mkfs --no-mon-config -i 1: signal: segmentation fault"
```

No relevant kernel messages appear in `dmesg`.

---

### Troubleshooting Performed

- Verified `dm-crypt` kernel module loaded
- Connected snap plug and restarted `microceph.daemon`
- Tested on multiple Raspberry Pi 5 nodes
- No RAM issues (8 GB available)
- Unencrypted OSD creation works normally

---

### Hypotheses

- ARM64‑specific issue in Ceph encryption path
- Snap confinement mis‑mapping crypto syscalls
- BlueStore/BlueFS encryption crash regression
- Kernel 6.12 ARM64 crypto driver edge case

---

### Request

Can maintainers or community members confirm if encrypted OSD creation is currently supported/tested on ARM64?
Is there any workaround or recommended debug build to help analyze the segfault?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.