On Wed, 7 Oct 2026 at 14:29, Willy Tarreau <[email protected]> wrote:
> However I'm noticing that in 3.5-dev1 we committed this:
>
> 960fa1c921 ("BUG/MINOR: cpu-topo: use ha_diag_notice() to report thread
> creations")
>
> and it states:
>
> Using ha_diag_warning() to report the number of threads created resulted
> in warnings being counted and possibly an error being fired when combined
> with -dW (...)
>
> Which is exactly what you're documenting. I didn't realize by then that it
> was due to a behavior change but it seems that it already got accepted as
> a matter of fact anyway.
Ah, I didn't know that.
Indeed the function was introduced in the prior commit 7d63efa5f5 which states:
Right now the only way to report info that is only displayed in diag
mode with -dD is to use ha_diag_warning(). The problem is that this
then counted as a warning and may result in errors when combined
with -dW, as happens for the CPU topology info:
> [...]
> > Trying to address both use-cases with the same exact feature/flag may
> > not be possible, although I thought the latter use-case could be
> > achieved with the combination of zero-warning and diag mode.
>
> Given that, as you reported, it's already used (and incorrectly) to
> report warnings and preventing the system from starting for the last
> 5 versions, I think at the very least we need to integrate your patch
> which documents the current behavior. However I'd also like to mention
> there that new diags *are* going to be backported from time to time,
> and that they are just a debugging aid and that this is absolutely not
> supposed to be used as a validity check since pretty valid configs
> will trigger it. I just want to limit the situations where people use
> that as an extra config check that it is not. However if they just want
> to compare reports over time as a preventive way to avoid mistakes,
> that might work if they only use that to trigger a message that the
> admin will check later.
So right now we use both ha_diag_warning() - reacting to zero-warning
- and ha_diag_notice() ignoring zero-warning.
So I guess the documentation will have to reflect that the behaviour
is not all diagnostic messages behave the same, unless we decide to
chance the code.
Something like:
-dD : enable diagnostic mode. This mode will output extra warnings about
suspicious configuration statements. Some outputs will prevent startup
in "zero-warning" mode.
Lukas