civetweb-master at 100% with unresponsive GUI

Expected Behaviour:

Accessing pihole admin page loads and give control over the pihole instance.

# pihole -v
Core version is v6.1.4 (Latest: v6.1.4)
Web version is v6.2.1 (Latest: v6.2.1)
FTL version is v6.2.3 (Latest: v6.2.3)
# uname -a
Linux pihole 6.12.34+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 GNU/Linux
# cat /etc/debian_version 
12.12

Actual Behaviour:

Got unaccessible web UI. DNS filtering is working fine.

htop shows civetweb-master at 100% with pid 1373

# strace -p 1373 |& head
strace: Process 1373 attached
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999995741})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998167})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998352})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998371})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998278})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998074})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998185})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998315})
ppoll([{fd=35, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37, events=POLLIN}, {fd=38, events=POLLIN}, {fd=34, events=POLLIN}], 5, {tv_sec=2, tv_nsec=0}, NULL, 8) = 2 ([{fd=35, revents=POLLIN}, {fd=36, revents=POLLIN}], left {tv_sec=1, tv_nsec=999998296})


root@pihole:/proc/1373/fd# ls -lah
total 0
dr-x------ 2 pihole pihole 48 Oct  1 00:54 .
dr-xr-xr-x 9 pihole pihole  0 Oct  1 00:54 ..
lrwx------ 1 pihole pihole 64 Oct  1 09:22 0 -> /dev/null
lrwx------ 1 pihole pihole 64 Oct  1 09:22 1 -> /dev/null
lrwx------ 1 pihole pihole 64 Oct  1 09:22 10 -> /dev/shm/FTL-967-queries
lrwx------ 1 pihole pihole 64 Oct  1 09:22 11 -> /dev/shm/FTL-967-overTime
lrwx------ 1 pihole pihole 64 Oct  1 09:22 12 -> /dev/shm/FTL-967-dns-cache
lrwx------ 1 pihole pihole 64 Oct  1 09:22 13 -> /dev/shm/FTL-967-per-client-regex
lrwx------ 1 pihole pihole 64 Oct  1 09:22 14 -> /dev/shm/FTL-967-fifo-log
lrwx------ 1 pihole pihole 64 Oct  1 09:22 15 -> /dev/shm/FTL-967-clients-lookup
lrwx------ 1 pihole pihole 64 Oct  1 09:22 16 -> /dev/shm/FTL-967-domains-lookup
lrwx------ 1 pihole pihole 64 Oct  1 09:22 17 -> /dev/shm/FTL-967-dns-cache-lookup
lrwx------ 1 pihole pihole 64 Oct  1 09:22 18 -> /dev/shm/FTL-967-recycler
lrwx------ 1 pihole pihole 64 Oct  1 09:22 19 -> 'socket:[7496]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 2 -> /dev/null
lrwx------ 1 pihole pihole 64 Oct  1 09:22 20 -> 'socket:[7498]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 21 -> 'socket:[7499]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 22 -> 'socket:[7500]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 23 -> 'socket:[7501]'
lr-x------ 1 pihole pihole 64 Oct  1 09:22 24 -> anon_inode:inotify
lr-x------ 1 pihole pihole 64 Oct  1 09:22 25 -> 'pipe:[7502]'
l-wx------ 1 pihole pihole 64 Oct  1 09:22 26 -> 'pipe:[7502]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 27 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 28 -> /etc/pihole/pihole-FTL.db-wal
lrwx------ 1 pihole pihole 64 Oct  1 09:22 29 -> /etc/pihole/pihole-FTL.db-shm
lrwx------ 1 pihole pihole 64 Oct  1 09:22 3 -> /dev/shm/FTL-967-lock
lrwx------ 1 pihole pihole 64 Oct  1 09:22 30 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 31 -> /etc/pihole/gravity.db
lr-x------ 1 pihole pihole 64 Oct  1 09:22 32 -> anon_inode:inotify
lrwx------ 1 pihole pihole 64 Oct  1 09:22 33 -> 'socket:[10939]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 34 -> 'socket:[10940]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 35 -> 'socket:[10941]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 36 -> 'socket:[10942]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 37 -> 'socket:[10943]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 38 -> 'socket:[10944]'
l-wx------ 1 pihole pihole 64 Oct  1 09:22 39 -> /var/log/pihole/pihole.log
lrwx------ 1 pihole pihole 64 Oct  1 09:22 4 -> /dev/shm/FTL-967-counters
lrwx------ 1 pihole pihole 64 Oct  1 09:22 40 -> 'socket:[11698]'
lrwx------ 1 pihole pihole 64 Oct  1 09:22 41 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 43 -> 'socket:[15071]'
lr-x------ 1 pihole pihole 64 Oct  1 09:22 49 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 5 -> /dev/shm/FTL-967-settings
lrwx------ 1 pihole pihole 64 Oct  1 09:22 50 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 51 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 52 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 55 -> /etc/pihole/pihole-FTL.db
lrwx------ 1 pihole pihole 64 Oct  1 09:22 6 -> /dev/shm/FTL-967-strings
lrwx------ 1 pihole pihole 64 Oct  1 09:22 7 -> /dev/shm/FTL-967-domains
lrwx------ 1 pihole pihole 64 Oct  1 09:22 8 -> /dev/shm/FTL-967-clients
lrwx------ 1 pihole pihole 64 Oct  1 09:22 9 -> /dev/shm/FTL-967-upstreams


# lsof
pihole-FT    967   1373 civetweb-           pihole   35u     IPv4              10941       0t0        TCP *:http (LISTEN)
pihole-FT    967   1373 civetweb-           pihole   36u     IPv4              10942       0t0        TCP *:https (LISTEN)
pihole-FT    967   1373 civetweb-           pihole   37u     IPv6              10943       0t0        TCP *:http (LISTEN)
pihole-FT    967   1373 civetweb-           pihole   38u     IPv6              10944       0t0        TCP *:https (LISTEN)
(gdb) bt
#0  __cp_end () at src/thread/aarch64/syscall_cp.s:30
#1  0x00000000007bbf88 in __syscall_cp_c (nr=73, u=<optimized out>, v=<optimized out>, w=<optimized out>, x=<optimized out>, y=<optimized out>, z=<optimized out>) at src/thread/pthread_cancel.c:33
#2  0x00000000007b3b40 in poll (fds=fds@entry=0x7f88d06f80, n=n@entry=5, timeout=timeout@entry=2000) at src/select/poll.c:16
#3  0x000000000044af24 in poll (__f=0x7f88d06f80, __n=5, __s=2000) at /usr/include/fortify/poll.h:40
#4  mg_poll (pfd=pfd@entry=0x7f88d06f80, n=5, milliseconds=milliseconds@entry=2000, stop_flag=stop_flag@entry=0x7f8162c188) at /app/src/webserver/civetweb/civetweb.c:6137
#5  0x0000000000451d58 in master_thread_run (ctx=ctx@entry=0x7f8162c160) at /app/src/webserver/civetweb/civetweb.c:20718
#6  0x000000000045256c in master_thread (thread_func_param=0x7f8162c160) at /app/src/webserver/civetweb/civetweb.c:20831
#7  0x00000000007bcf14 in start (p=0x7f80988b00) at src/thread/pthread_create.c:207
#8  0x00000000007c6ff0 in __clone () at src/thread/aarch64/clone.s:28
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) inf thr
  Id   Target Id                      Frame
* 1    process 1373 "civetweb-master" __cp_end () at src/thread/aarch64/syscall_cp.s:30

Debug Token:

Debug token provided from running pihole -d

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.