Hi,
On Wed, Jun 17, 2026 at 02:06:49AM -0500, MailList Catch wrote:
> Hi,
>
> I have issue with config check command:
>
> # podman run --rm --name haproxy_cfg_test --user root -v
> /etc/haproxy:/etc/haproxy:ro docker.io/library/haproxy:3.4.0-alpine haproxy
> -c -V -dD -dW -f /etc/haproxy/haproxy.cfg_backup
> [NOTICE] (1) : haproxy version is 3.4.0-64a335366
> [DIAG] (1) : Created 8 threads split into 8 groups
> [ALERT] (1) : Some warnings were found and 'zero-warning' is set.
> Aborting.
>
> End exit code = 1
>
> Minimal config:
>
> defaults
> mode http
> timeout client 30m
> timeout connect 4s
> timeout server 30m
> timeout check 5s
>
> frontend stats
> bind 127.9.0.1:9101
> stats enable
> stats uri /
>
>
> On version 3.2.19 everything is ok:
>
> # podman run --rm --name haproxy_cfg_test --user root -v
> /etc/haproxy:/etc/haproxy:ro docker.io/library/haproxy:3.2.19-alpine
> haproxy -c -V -dD -dW -f /etc/haproxy/haproxy.cfg_backup
> Configuration file is valid
>
> Exit code = 0
>
> I can't understand where is problem with config check?
The issue is related to the combination of -dD with -dW. -dD detects
diag-level warnings, which are not necessarily issues but just possibly
suspicious config elements that are worth analyzing (for example you
could have two servers with the same addr+port which might be caused
by a copy-paste error or be intentional). You shouldn't use -dD in your
regular config checks, they're only meant to be used for debugging.
The issue above started to trigger by default in 3.3, or in 3.2 when
specifying a cpu-policy because it uses ha_diag_warning() to report
the number of threads that were created. I addressed this last week
with these two commits that were marked for backporting to 3.2 so that
cpu-policy no longer uses ha_diag_warning() but a new ha_diag_notice():
7d63efa5f ("MINOR: errors: add ha_diag_notice() to report diag-level
notifications")
960fa1c92 ("BUG/MINOR: cpu-topo: use ha_diag_notice() to report thread
creations")
Willy