Versions
Core version is v6.4 (Latest: v6.4)
Web version is v6.4.1 (Latest: v6.4.1)
FTL version is v6.5 (Latest: v6.5)
Platform
Raspberry Pi
Expected behavior
FTL should handle concurrent HTTP API requests to the web interface without crashing.
Actual behavior / bug
FTL crashes with a segmentation fault (SIGSEGV) in the civetweb-worker thread when handling multiple concurrent API requests. The null pointer dereference occurs at address 0 (SEGV_MAPERR), suggesting a race condition in the civetweb request handler.
The crash occurs intermittently, typically after 30-60 minutes of operation, when a Prometheus exporter makes ~19 concurrent authenticated GET requests to various /api/ endpoints on each scrape.
09:27:42 INFO: ----------------------------> FTL crashed! <----------------------------
09:27:42 INFO: FTL has been running for 2872 seconds
09:27:42 INFO: FTL version: v6.5
09:27:42 INFO: FTL commit: f888309
09:27:42 INFO: Compiled for linux/arm64/v8 (compiled on CI) using cc (Alpine 15.2.0) 15.2.0
09:27:42 INFO: Received signal: Segmentation fault
09:27:42 INFO: at address: 0
09:27:42 INFO: with code: SEGV_MAPERR (Address not mapped to object)
09:27:42 INFO: Process details: MID: 68, PID: 68, TID: 238, Name: civetweb-worker
After the crash, FTL also logs high system load:
09:24:51 WARNING: Long-term load (15min avg) larger than number of processors: 4.2 > 4
Steps to reproduce
- Run Pi-hole v6 (FTL v6.5) in Docker on a Raspberry Pi (arm64, 2GB RAM)
- Configure a Prometheus exporter or similar tool that makes multiple concurrent authenticated API requests (e.g.
/api/stats/summary, /api/dns/blocking, /api/stats/top_domains, /api/stats/top_clients, /api/stats/upstreams, /api/dhcp/leases, /api/network/devices, /api/info/system, etc.)
- Wait 30-60 minutes — FTL crashes with SIGSEGV in
civetweb-worker
- The container restarts, and the cycle repeats
Reducing the concurrency of API requests (serialising instead of parallel) appears to mitigate the issue. I currently use my own exporter (https://github.com/nbx3/pihole-exporter) - i will add support for reducing the frequency, but this is still an issue
Debug Token
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
- Platform: Raspberry Pi 4 (2GB), arm64, Raspberry Pi OS Bookworm
- Pi-hole: Core v6.4, Web v6.4.1, FTL v6.5 (Docker tag 2026.02.0)
- Docker: 28.4.0, network_mode: host
Compose file:
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
network_mode: "host"
environment:
TZ: 'Europe/London'
FTLCONF_dns_listeningMode: 'ALL'
FTLCONF_webserver_api_password: ${FTL_CONF_WEBSERVER_PASSWORD:-password}
volumes:
- 'etc-pihole:/etc/pihole'
- 'etc-dnsmasq.d:/etc/dnsmasq.d'
- 'var-log:/var/log/pihole'
cap_add:
- NET_ADMIN
- SYS_NICE
- SYS_TIME
restart: unless-stopped
Versions
Core version is v6.4 (Latest: v6.4)
Web version is v6.4.1 (Latest: v6.4.1)
FTL version is v6.5 (Latest: v6.5)
Platform
Raspberry Pi
Expected behavior
FTL should handle concurrent HTTP API requests to the web interface without crashing.
Actual behavior / bug
FTL crashes with a segmentation fault (SIGSEGV) in the
civetweb-workerthread when handling multiple concurrent API requests. The null pointer dereference occurs at address 0 (SEGV_MAPERR), suggesting a race condition in the civetweb request handler.The crash occurs intermittently, typically after 30-60 minutes of operation, when a Prometheus exporter makes ~19 concurrent authenticated GET requests to various
/api/endpoints on each scrape.09:27:42 INFO: ----------------------------> FTL crashed! <----------------------------
09:27:42 INFO: FTL has been running for 2872 seconds
09:27:42 INFO: FTL version: v6.5
09:27:42 INFO: FTL commit: f888309
09:27:42 INFO: Compiled for linux/arm64/v8 (compiled on CI) using cc (Alpine 15.2.0) 15.2.0
09:27:42 INFO: Received signal: Segmentation fault
09:27:42 INFO: at address: 0
09:27:42 INFO: with code: SEGV_MAPERR (Address not mapped to object)
09:27:42 INFO: Process details: MID: 68, PID: 68, TID: 238, Name: civetweb-worker
After the crash, FTL also logs high system load:
09:24:51 WARNING: Long-term load (15min avg) larger than number of processors: 4.2 > 4
Steps to reproduce
/api/stats/summary,/api/dns/blocking,/api/stats/top_domains,/api/stats/top_clients,/api/stats/upstreams,/api/dhcp/leases,/api/network/devices,/api/info/system, etc.)civetweb-workerReducing the concurrency of API requests (serialising instead of parallel) appears to mitigate the issue. I currently use my own exporter (https://github.com/nbx3/pihole-exporter) - i will add support for reducing the frequency, but this is still an issue
Debug Token
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Compose file: