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