Weird Error on Boot (Doesn't seem to go away on restart)

Every time I restart my node, it prints the following message. I don’t have a webhook2 in my configuration, but I remember using that once.

Aug 07 11:49:37 Ubuntu-2204-jammy-amd64-base kumod[1956636]: stack traceback:
Aug 07 11:49:37 Ubuntu-2204-jammy-amd64-base kumod[1956636]:         [string "/opt/kumomta/etc/policy/init.lua"]:114: in function <[string "/opt/kumomta/etc/policy/init.lua"]:111>. Ignoring message until kumod is restarted.
Aug 07 11:49:37 Ubuntu-2204-jammy-amd64-base kumod[1956636]: 2025-08-07T11:49:37.049377Z ERROR  spoolin-0 kumod::spool: failed to resolve queue webhook2.log_hook: runtime error: [string "/opt/kumomta/etc/policy/init.lua"]:114: attempt to concatenate a nil value (local 'zoneId')
Aug 07 11:49:37 Ubuntu-2204-jammy-amd64-base kumod[1956636]: stack traceback:
Aug 07 11:49:37 Ubuntu-2204-jammy-amd64-base kumod[1956636]:         [string "/opt/kumomta/etc/policy/init.lua"]:114: in function <[string "/opt/kumomta/etc/policy/init.lua"]:111>. Ignoring message until kumod is restarted.

Weird Error on Boot

Weird Error on Boot (Doesn’t seem to go away on restart)

What’s on line 114 in init.lua?

        egress_pool = "pool-" .. zoneId,

I can confirm that zoneId works though. Because if it didn’t, my emails wouldn’t be going through right now.

failed to resolve queue webhook2.log_hook

Why is that a queue? How do I drop this queue all together?

the error message suggests that zoneId is nil in that particular case. How is it assigned/derived? If you can fix that assignment, then I suspect that the message will then immediate age out and expire. Most likely this message is something that landed in your spool in some earlier (broken) version of your policy logic and has lingered since then.

eg: when it entered the spool, you didn’t set the meta item (tenant, campaign?) which you use to assign zoneId in your policy today

Is there any way I could drop this message from the queue using kcli?

Have you tried to bounce it? You should be able to get an id from the journal. Bounce it by domain

you can’t operate on the message until it can be successfully loaded up, which should be possible by fixing up your policy logic to handle zoneId being nil