On 10/04/2026 22.25, Frederik Himpe wrote:
I found out it happens when the file system
/run/knot-resolver is full.
OK, we could try improving diagnostics for such common situations.
It seems like /run/knotresolver/ruledb/data.mdb
becomes very large. I
have about 60 MB of RPZ files, of which the largest one is this:
https://github.com/hagezi/dns-blocklists/blob/main/rpz/tif.txt
Yet, 256 MB of tmpfs is not enough for /run/knot-resolver and then it
will end up in a loop.
When loading that RPZ afresh, it takes 85 MiB. (du -hs
/run/knotresolver/ruledb/data.mdb)
That's if you delete that file before loading. But for smooth reload we
use transactions, and as we don't know what's changed in a file and
other settings, we load everything anew. Compounded with non-ideal
management of free space in LMDB, I see about 3x this initial size used
when using a system continuously. E.g. a quick experiment, reloading
with just this RPZ a few times, the du-size converges to 254 MiB.
I certainly do plan to look into making this more RAM-efficient at some
point in future. Not that contrary to resolver before 6.0, this space is
shared by all workers, not multiplied by their number.
--Vladimir