Versions
- Pi-hole Core: v6.4.1
- FTL: v6.6
- Web: v6.5
Platform
- OS: Raspberry Pi OS (Debian Bookworm)
- Platform: Raspberry Pi (native install, not Docker)
Expected behaviour:
FTL should update existing network device records without errors.
Actual behaviour / bug:
FTL logs the following error every minute, cycling through different devices:
ERROR: SQLite3: statement aborts at 23: UNIQUE constraint failed: network.hwaddr;
[INSERT INTO network (hwaddr,interface,firstSeen,lastQuery,numQueries,macVendor)
VALUES (?1,'N/A',?2,?3,?4,?5);] (2067)
ERROR: insert_netDB_device("4c:17:44:f1:dd:5b",<timestamp>, <timestamp>, <count>,
"Amazon Technologies Inc."): Failed to step (error 19): constraint failed
The error cycles through multiple devices (different MAC addresses). It appears
immediately after FTL starts, even on a completely fresh database.
Steps to reproduce the behaviour:
- Run Pi-hole FTL v6.6 with active DHCP clients on the network
- Wait approximately 1-2 minutes after FTL starts
- Observe error in /var/log/pihole/FTL.log repeating every ~60 seconds
Debug Token
Additional context
- The error occurs even after deleting the entire pihole-FTL.db database
- FTL appears to INSERT a new record for a device, then attempt to INSERT again
instead of UPDATE when the device is seen again
- DNS resolution and ad blocking continue to work normally
- The issue did not occur before upgrading to v6.6
- Pi-hole is configured with a single upstream DNS server (local CoreDNS instance)
Versions
Platform
Expected behaviour:
FTL should update existing network device records without errors.
Actual behaviour / bug:
FTL logs the following error every minute, cycling through different devices:
The error cycles through multiple devices (different MAC addresses). It appears
immediately after FTL starts, even on a completely fresh database.
Steps to reproduce the behaviour:
Debug Token
Additional context
instead of UPDATE when the device is seen again