Thank you for the detailed response, I confirm that I have not altered the
default global log settings, I just added some directives to defaults:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# See:
https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
ssl-default-bind-ciphers
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl-default-bind-ciphersuites
TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
unique-id-format %[uuid()]
unique-id-header X-Request-ID
log-format "${HAPROXY_HTTP_LOG_FMT} %ID"
I understand from your explanation that this error is not related to
journald but to rsyslog. However, I can't workaround this error without
restarting journald; I have not restarted other services like rsyslog, just
journald. Maybe this one is forcing a restart of rsyslog too?
On Wed, Dec 3, 2025 at 8:20 AM Jonas Jelten <[email protected]>
wrote:
> a default haproxy install on noble is configured with:
> global
> log /dev/log local0
> log /dev/log local1 notice
> [...]
>
> and this is a direct link to systemd-journald's socket.
>
> /dev/log -> /run/systemd/journal/dev-log
>
> which is managed by systemd-journald-dev-log.socket and does socket
> activation to start systemd-journald. so i think this is set up
> correctly (by dependencies & startup order).
>
>
> BUT, haproxy runs chrooted in /var/lib/haproxy with an separate /dev/log
> socket:
>
> rsyslog in /etc/rsyslog.d/49-haproxy.conf sets up a separate
> /var/lib/haproxy/dev/log socket to "Create an additional socket in
> haproxy's chroot in order to allow logging via /dev/log to chroot'ed
> HAProxy processes". rsyslog then filters out haproxy messages from that
> socket and logs them to /var/log/haproxy.log.
>
> so this should thus be independent of systemd-journald, and the error
> you're seeing should only be related to rsyslog.
>
> haproxy.service has after=rsyslog.service, but doesn't "want=" it. so
> rsyslog.service must be "enabled" (since haproxy doesn't start it) for
> the log socket to be available at all.
>
> since your output shows rsyslog.service is enabled, it seems there a race
> condition between rsyslog.service starting up (without being ready) and
> haproxy.service trying to use the socket before that?
> in any case I don't see how systemd-journald interferes here.
>
>
> I'd say the proper solution would be to get rid of rsyslog here, and just
> use journal logging + systemd service security confinements instead of the
> haproxy integrated chroot.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/2133460
>
> Title:
> haproxy for noble may start before systemd-journald
>
> Status in haproxy package in Ubuntu:
> Incomplete
>
> Bug description:
> This applies to the HAProxy 2.8 package installed from the Noble 24.04
> repos:
>
> Distributor ID: Ubuntu
> Description: Ubuntu 24.04.3 LTS
> Release: 24.04
> Codename: noble
>
> HAProxy version 2.8.15-0ubuntu0.24.04.1 2025/10/08 -
> https://haproxy.org/
>
> When rebooting the OS, HAProxy may start before systemd-journald
> because its service configuration does not have a dependency under the
> [Unit] section on journald. This will cause a socket permission error
> when writing the HTTP access log:
>
> haproxy[44612]: [ALERT] (44612) : sendmsg()/writev() failed in logger
> #1: Permission denied (errno=13)
>
> As a workaround, a restart of journald and haproxy will solve the
> problem, but if journald is the default logger service in Ubuntu
> 24.04, I think this could be avoided by adding the proper dependencies
> under the Unit service configuration.
>
> [Unit]
> After=systemd-journald.service
> Requires=systemd-journald.service
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/2133460/+subscriptions
>
>
--
API-Server++ - C++ low-code REST engine
https://github.com/cppservergit/apiserver-odbc
Martín Córdova y Asociados, C.A.
WhatsApp: +58-2686639
www.linkedin.com/in/martincordova
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2133460
Title:
haproxy for noble may start before systemd-journald
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/haproxy/+bug/2133460/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs