On Wed Aug 12, 2026 at 04:43:00PM +0000, Lloyd wrote:
> OpenBSD 7.9 GENERIC amd64
> 
> I have a nightly cron job to reload relayd to catch new certificates, etc.
> 
> I see two problems. First, whatever happened here:
> 
> Aug 11 04:24:06 webster relayd[75356]: parent_sig_handler: reload requested 
> with SIGHUP
> Aug 11 04:24:06 webster relayd[10168]: fatal in pfe: pfe_dispatch_relay: 
> invalid relay id
> Aug 11 04:24:06 webster relayd[52686]: hce exiting, pid 52686
> Aug 11 04:24:06 webster relayd[75356]: lost child: pid 10168 exited abnormally
> Aug 11 04:24:06 webster relayd[56946]: ca exiting, pid 56946
> Aug 11 04:24:06 webster relayd[55168]: ca exiting, pid 55168
> Aug 11 04:24:06 webster relayd[48063]: ca exiting, pid 48063
> Aug 11 04:24:06 webster relayd[68175]: relay exiting, pid 68175
> Aug 11 04:24:06 webster relayd[8750]: relay exiting, pid 8750
> Aug 11 04:24:06 webster relayd[50458]: relay exiting, pid 50458
> Aug 11 04:24:06 webster relayd[75356]: parent terminating, pid 75356
> 
> Second, this returned relayd(ok) to cron via rcctl, so I was unaware the 
> daemon
> quit because on the surface it had reported success.
> 
> This had been running successfully for weeks on end.
> 
> This is the first time this has happened and it subsequently restarted 
> normally.
> 
> Regards
> Lloyd
> 

Yet another reload race issue.

Thanks for the report. The problem is caused by a faulty IMSG in the
IMSG dispatcher that terminates with fatalx(). This happens when
processes send IMGS during a reload. That would be okay if we didn't
have races.

A quick fix would be to replace the fatalx with log_debug after a
careful audit, and then, in a second step, fundamentally redesign the
reload concept.

I'll take care of the first one for the release.

Rafael

Reply via email to