Ubuntu 22.04 - [system] error while loading config: /usr/lib/knot-resolver/kres_modules/policy.lua:579: [poli] lua-cqueues required to watch and reload RPZ file (workdir '/var/lib/knot-resolver')
After upgrading a box to Ubuntu 22.04 kresd started complaining about cqueues when I try to start it. It errors out with the following message.
[system] error while loading config: /usr/lib/knot-resolver/kres_modules/policy.lua:579: [poli] lua-cqueues required to watch and reload RPZ file (workdir '/var/lib/knot-resolver')
I'm running 5.5.3
❯ kresd -V
Knot Resolver, version 5.5.3
I have the same config running on the same version of kresd on an Ubuntu 20.04 server, so I was expecting a straight upgrade to just work.
knot-resolver and all related packages were purged and reinstalled with apt install knot-resolver
, which resulted in the following packages being installed.
knot-resolver
libdnssec8
libknot12
libluajit-5.1-2
libluajit-5.1-common
lua-basexx
lua-binaryheap
lua-bit32
lua-compat53
lua-cqueues
lua-fifo
lua-http
lua-lpeg
lua-lpeg-patterns
lua-luaossl
lua-psl
The packages are installed from following the instructions on https://www.knot-resolver.cz/download/
Source repo was updated after OS upgrade.
Looking at an strace, it seems to be able to read the cqueues.notify source file strace -e trace=open,openat,close,read,write,connect,accept /usr/sbin/kresd -c /usr/lib/knot-resolver/distro-preconfig.lua -c /etc/knot-resolver/kresd.conf -n
read(19, "-- Add blacklist zone\n\npolicy.ad"..., 8192) = 133
read(19, "", 4096) = 0
close(19) = 0
openat(AT_FDCWD, "/var/lib/knot-resolver/hblock.rpz", O_RDONLY) = 19
close(19) = 0
openat(AT_FDCWD, "/usr/lib/knot-resolver/cqueues/notify.lua", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/knot-resolver/cqueues/notify/init.lua", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "./cqueues/notify.lua", O_RDONLY) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/usr/share/luajit-2.1.0-beta3/cqueues/notify.lua", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/lua/5.1/cqueues/notify.lua", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/share/lua/5.1/cqueues/notify/init.lua", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/lua/5.1/cqueues/notify.lua", O_RDONLY) = 19
close(19) = 0
openat(AT_FDCWD, "/usr/share/lua/5.1/cqueues/notify.lua", O_RDONLY) = 19
read(19, "local loader = function(loader, "..., 8192) = 1364
read(19, "", 4096) = 0
Any suggestions for further debugging?