HAProxy known bugs for maintenance branch 2.2 :  29 

This is maintenance branch 2.2 whose latest version is 2.2.33. If your version is not the last one in the maintenance branch, you are missing fixes for known bugs, and by not updating you are needlessly taking the responsibility for the risk of unexpected service outages and exposing your web site to possible security issues.

The HAProxy development team takes a great care of maintaining stable versions so that all users can apply bug fixes without having to take the risk of upgrading to a new branch. In turn users are expected to apply the fixes when the development team estimates that they were worth being backported to stable branches. In short, if you are running any 2.2 version other than 2.2.33, you're running with known bugs.

Quick links

Versions available in this branch

This branch contains the following releases :

DateVersionComment
2024-04-052.2.33 ⇐ last
2023-12-192.2.32 
2023-08-192.2.31 
2023-06-122.2.30 
2023-02-142.2.29 
2023-01-312.2.28 
2023-01-272.2.27 
2022-12-092.2.26 
2022-07-282.2.25 
2022-05-132.2.24 
2022-05-062.2.23 
2022-03-142.2.22 
2022-03-022.2.21 
2022-01-122.2.20 
2021-11-292.2.19 
2021-11-052.2.18 
2021-09-072.2.17 
2021-08-172.2.16 
2021-07-162.2.15 
2021-04-292.2.14 
2021-04-022.2.13 
2021-03-312.2.12 
2021-03-182.2.11 
2021-03-032.2.10 
2021-02-062.2.9 
2021-01-132.2.8 
2021-01-082.2.7 
2020-11-302.2.6 
2020-11-052.2.5 
2020-09-302.2.4 
2020-09-082.2.3 
2020-07-312.2.2 
2020-07-232.2.1 
2020-07-072.2.0 

Fixes for known bugs pending in this branch since the last release (2.2.33)

These fixes have already been queued for the next 2.2 release but no version was released with them yet. Note that fixes are backported several at a time from the development branch to maintenance branches, and the absence of a fix here doesn't mean none will be issued soon.

Bugs are almost always tagged with a severity (some people forget the severity tag when the bug is minor). The following severities are used :

Total known bugs in the latest version of this branch by category :

TotalCRITICALMAJORMEDIUMMINOR
29 0 0 11 18

Click on the subjects below to get the full description of the bug :

Merge dateSubject - Severity (minor, medium, major, critical)
2024-09-17BUG/MINOR: server: Don't warn fallback IP is used during init-addr resolution
2024-09-17BUG/MINOR: polling: fix time reporting when using busy polling
2024-09-17BUG/MINOR: trace: automatically start in waiting mode with "start "
2024-09-17BUG/MINOR: fcgi-app: handle a possible strdup() failure
2024-09-17BUG/MEDIUM: cli: Always release back endpoint between two commands on the mcli
2024-09-17BUG/MEDIUM: stream: Prevent mux upgrades if client connection is no longer ready
2024-09-17BUG/MINOR: cli: Atomically inc the global request counter between CLI commands
2024-09-17BUG/MEDIUM: spoe: Be sure to create a SPOE applet if none on the current thread
2024-07-03BUG/MINOR: hlua: report proper context upon error in hlua_cli_io_handler_fct()
2024-07-03BUG/MINOR: cfgparse: remove the correct option on httpcheck send-state warning
2024-07-03BUG/MINOR: haproxy: only tid 0 must not sleep if got signal
2024-07-03BUG/MEDIUM: http_ana: ignore NTLM for reuse aggressive/always and no H1
2024-07-03BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA configuration
2024-07-03BUG/MINOR: tools: fix possible null-deref in env_expand() on out-of-memory
2024-07-03BUG/MINOR: tcpcheck: report correct error in tcp-check rule parser
2024-07-03BUG/MINOR: ssl/ocsp: init callback func ptr as NULL
2024-07-03BUG/MINOR: stats: Don't state the 303 redirect response is chunked
2024-07-03BUG/MINOR: htpp-ana/stats: Specify that HTX redirect messages have a C-L header
2024-07-03BUG/MEDIUM: fd: prevent memory waste in fdtab array
2024-07-03BUG/MEDIUM: htx: mark htx_sl as packed since it may be realigned
2024-07-03BUG/MINOR: h1: fix detection of upper bytes in the URI
2024-07-03BUG/MINOR: fd: my_closefrom() on Linux could skip contiguous series of sockets
2024-07-03BUG/MEDIUM: evports: do not clear returned events list on signal
2024-07-03BUG/MEDIUM: stconn: Don't forward channel data if input data must be filtered
2024-07-03BUG/MEDIUM: http-ana: Deliver 502 on keep-alive for fressh server connection
2024-07-03BUG/MINOR: log: invalid snprintf() usage in sess_build_logline()
2024-07-03BUG/MINOR: tools/log: invalid encode_{chunk,string} usage
2024-07-03BUG/MINOR: log: fix lf_text_len() truncate inconsistency
2024-04-08BUG/MEDIUM: connection: report connection errors even when no mux is installed

Known bugs fixed in the development branch after the last commit in this branch

It is important to understand that not all of these commits are necessarily relevant to this version, but clicking on them will show the bug description. All fixes are made first in the development branch and then backported to the maintenance branches. This ensures no fix is lost when upgrading. If a fix was marked for backporting to this branch and is not there yet, it's likely that it is still missing. Do not hesitate to ask on the haproxy mailing list if you feel like a fix has been skipped.

DateSubject
2024-12-19BUG/MINOR: h2/rhttp: fix HTTP2 conn counters on reverse
2024-12-19BUG/MEDIUM: mux-quic: prevent BUG_ON() by refreshing frms on MAX_DATA
2024-12-18BUG/MEDIUM: mux-quic: do not mix qcc_io_send() return codes with pacing
2024-12-17MINOR: bug: make BUG_ON() fall back to ASSUME
2024-12-17BUG/MEDIUM: queues: Do not use pendconn_grab_from_px().
2024-12-17BUG/MEDIUM: queues: Make sure we call process_srv_queue() when leaving
2024-12-16BUG/MEDIUM: stconn: Only consider I/O timers to update stream's expiration date
2024-12-16BUG/MINOR: ssl/cli: 'show ssl ca-file' escape the first '*' of a filename
2024-12-16BUG/MINOR: ssl/cli: 'show ssl crl-file' escape the first '*' of a filename
2024-12-16BUG/MINOR: ssl/cli: 'show ssl cert' escape the first '*' of a filename
2024-12-13BUG/MINOR: quic: missing Startup accelerating probing bw states
2024-12-13BUG/MINOR: cli: cli_snd_buf: preserve \r\n for payload lines
2024-12-13BUG/MINOR: quic: too permissive exit condition for high loss detection in Startup (BBR)
2024-12-13BUG/MINOR: quic: fix the wrong tracked recovery start time value
2024-12-13BUG/MINOR: quic: reduce packet losses at least during ProbeBW_CRUISE (BBR)
2024-12-13BUG/MINOR: quic: underflow issue for bbr_inflight_hi_from_lost_packet()
2024-12-13BUG/MINOR: quic: remove max_bw filter from delivery rate sampling
2024-12-13BUG/MINOR: quic: wrong bbr_target_inflight() implementation
2024-12-13BUG/MINOR: quic: fix BBB max bandwidth oscillation issue.
2024-12-13BUG/MINOR: quic: wrong logical statement in in_recovery_period() (BBR)
2024-12-12MINOR: build: define DEBUG_STRESS
2024-12-11BUG/MINOR: hlua_fcn: restore server pairs iterator pointer consistency
2024-12-11BUG/MINOR: server-state: Fix expiration date of srvrq_check tasks
2024-12-11BUG/MINOR: http-fetch: Ignore empty argument string for query()
2024-12-10BUG/MEDIUM: stats/server: use watcher to track server during stats dump
2024-12-10BUG/MINOR: stats: decrement srv refcount on stats-file release
2024-12-10BUG/MINOR: resolvers: handle a possible strdup() failure
2024-12-10BUG/MINOR: ssl_crtlist: handle a possible strdup() failure
2024-12-10BUG/MINOR: namespace: handle a possible strdup() failure
2024-12-09BUG/MINOR: mworker: detach from tty when received READY from worker
2024-12-09BUG/MEDIUM: mworker: report status, if daemonized master fails
2024-12-09BUG/MEDIUM: startup: report status if daemonized process fails
2024-12-09BUG/MEDIUM: startup: don't daemonize if started with -c
2024-12-06BUG/MINOR: mux-h2: fix expression when detecting excess of CONTINUATION frames
2024-12-06BUG/MINOR: debug: COUNT_IF() should return true/false
2024-12-06BUG/MINOR: startup: fix error path for master, if can't open pidfile
2024-12-06BUG/MINOR: mworker: fix -D -W -sf/-st modes
2024-12-06BUG/MINOR: mworker: don't save program PIDs in oldpids
2024-12-05BUG/MINOR: config: Fix parsing of accept-invalid-http-{request,response}
2024-12-05BUG/MEDIUM: mux-h2: make sure not to touch dummy streams when sending WU
2024-12-05BUG/MINOR: quic: remove startup alert if GSO unsupported
2024-12-05BUG/MINOR: quic: remove startup alert if conn socket-owner unsupported
2024-12-05BUG/MEDIUM: mux-quic: remove pacing status when everything is sent
2024-12-04BUG/MINOR: init: do not call fork_poller() for non-forked processes
2024-12-04BUG/MEDIUM: init: make sure only daemonized processes change their session
2024-12-04BUG/MINOR: quic: fix bbr_inflight() calls with wrong gain value
2024-12-02BUG/MINOR: startup: fix pidfile creation
2024-12-02BUG/MINOR: startup: close pidfd and free global.pidfile in handle_pidfile()
2024-12-02BUG/MINOR: signal: register default handler for SIGINT in signal_init()
2024-12-02BUG/MINOR: listener: fix potential null pointer dereference in listener_release()
2024-11-29BUG/MINOR: h1-htx: Use default reason if not set when formatting the response
2024-11-29BUG/MEDIUM: http-ana: Reset request flag about data sent to perform a L7 retry
2024-11-29BUG/MEDIUM: quic: prevent stream freeze on pacing
2024-11-29BUG/MEDIUM: event_hdl: fix uninitialized value in async mode when no data is provided
2024-11-29BUG/MINOR: hlua_fcn: fix Patref:set() force parameter
2024-11-28BUG/MINOR: improve BBR throughput on very fast links
2024-11-28BUG/MINOR: log: fix lf_text() behavior with empty string
2024-11-27BUG/MEDIUM: sock: Remove FD_POLL_HUP during connect() if FD_POLL_ERR is not set
2024-11-26BUG/MEDIUM: quic: prevent EMSGSIZE with GSO for larger bufsize
2024-11-25BUG/MEDIUM: http-ana: Don't release too early the L7 buffer
2024-11-25BUG/MAJOR: quic: fix wrong packet building due to already acked frames
2024-11-25BUG/MEDIUM: quic: fix sending performance due to qc_prep_pkts() return
2024-11-25BUG/MINOR: mux-quic: fix show quic report of QCS prepared bytes
2024-11-22BUG/MINOR: quic: Avoid BUG_ON() on ->on_pkt_lost() BBR callback call
2024-11-22BUG/MAJOR: mux-h1: Properly handle wrapping on obuf when dumping the first-line
2024-11-21BUG/MEDIUM: pools/memprofile: always clean stale pool info on pool_destroy()
2024-11-21BUG/MINOR: activity/memprofile: reinitialize the free calls on DSO summary
2024-11-21BUG/MEDIUM: wdt: fix the stuck detection for warnings
2024-11-21BUG/MEDIUM: debug: don't set the STUCK flag from debug_handler()
2024-11-21BUG/MINOR: startup: init_early: remove obsolete comment
2024-11-21BUG/MINOR: config: allow to check HAPROXY_LOCALPEER in config
2024-11-21BUG/MINOR: startup: fix UAF when set the default for log_tag
2024-11-21BUG/MINOR: quic: Missing application limitations tracking for BBR
2024-11-21BUG/MINOR: cfgparse-quic: fix warning for cc-aglo with 0 burst
2024-11-21BUG/MINOR: cfgparse-quic: fix bbr initialization
2024-11-20BUG/MEDIUM: h3: Increase max number of headers when sending headers
2024-11-20BUG/MEDIUM: h3: Properly limit the number of headers received
2024-11-20BUG/MEDIUM: mux-h2: Check the number of headers in HEADERS frame after decoding
2024-11-20BUG/MEDIUM: mux-h2: Increase max number of headers when encoding HEADERS frames
2024-11-20BUG/MINOR: cfgparse-quic: fix renaming of max-window-size
2024-11-20BUG/MINOR: http-ana: Adjust the server status before the L7 retries
2024-11-19BUG/MINOR: http_ana: Report -1 for %Tr for invalid response only
2024-11-19BUG/MINOR: mworker-prog: don't warn about deprecated section with expose-deprecated-directives
2024-11-15MINOR: chunk: add a BUG_ON upon the next init_trash_buffer()
2024-11-15BUG/MEDIUM: clock: make sure now_ms cannot be TICK_ETERNITY
2024-11-15BUG/MINOR: peers: make sure to always apply offsets to now_ms in expiration
2024-11-15BUG/MINOR: mux_quic: make sure to always apply offsets to now_ms in expiration
2024-11-15BUG/MEDIUM: mailers: make sure to always apply offsets to now_ms in expiration
2024-11-15BUG/MINOR: debug: do not set task expiration to TICK_ETERNITY
2024-11-15BUG/MEDIUM: checks: make sure to always apply offsets to now_ms in expiration
2024-11-15BUG/MINOR: Don't report early srv aborts on request forwarding in DONE state
2024-11-15BUG/MEDIUM: mux-h2: Don't send RST_STREAM frame for streams with no ID
2024-11-14BUG/MINOR: deinit: release uri_auth admin rules
2024-11-13BUG/MEDIUM: resolvers: Insert a non-executed resulution in front of the wait list
2024-11-13BUG/MEDIUM: stconn: Don't forward shut for SC in connecting state
2024-11-13BUG/MINOR: cli: don't show sockpairs in HAPROXY_CLI and HAPROXY_MASTER_CLI
2024-11-13BUG/MINOR: startup: set HAPROXY_CFGFILES in read_cfg
2024-11-08BUG/MEDIUM: quic: prevent crash due to CRYPTO parsing error
2024-11-08BUG/MEDIUM: mux-h2: try to wait for the peer to read the GOAWAY
2024-11-07BUG/MINOR: guid/server: ensure thread-safety on GUID insert/delete
2024-11-06DEBUG: wdt: set the default blocked task delay to 100 ms
2024-11-06DEBUG: wdt: add a stats counter "BlockedTrafficWarnings" in show info
2024-11-06DEBUG: wdt: make the blocked traffic warning delay configurable
2024-11-06DEBUG: cli: make it possible for "debug dev loop" to trigger warnings
2024-11-06DEBUG: wdt: better detect apparently locked up threads and warn about them
2024-11-06BUG/MEDIUM: quic: do not consider ACK on released stream as error
2024-11-06BUG/MINOR: mworker: do 'program' postparser checks in read_cfg_in_discovery_mode
2024-11-06BUG/MINOR: quic: repeat packet parsing to deal with fragmented CRYPTO
2024-11-05BUG/MINOR: quic: fix malformed probing packet building
2024-11-05DEBUG: cli: support closing "hard" using close() in addition to fd_delete()
2024-11-05BUG/MEDIUM: promex: Fix dump of extra counters
2024-10-31BUG/MINOR: http-ana: Report internal error if an action yields on a final eval
2024-10-31BUG/MEDIUM: mux-h1: Fix how timeouts are applied on H1 connections
2024-10-31DEBUG: mux-h1: Add H1C expiration dates in trace messages
2024-10-30BUG/MINOR: startup: don't dump polling info for master in verbose mode
2024-10-30BUG/MINOR: startup: dump keywords only in worker if started with -W -dKAll
2024-10-30BUG/MINOR: startup: dump libs only in worker if started with -W -dL
2024-10-30BUG/MINOR: startup: don't fork worker if started with -c -W
2024-10-29BUG/MINOR: errors: print_message: don't allocate startup logs ring
2024-10-29BUG/MINOR: errors: startup_logs_free: set global startup_logs ptr to NULL
2024-10-29BUG/MINOR: mworker: mworker_reexec: unset MODE_STARTING before free startup logs ring
2024-10-29BUG/MINOR: ssl/cli: 'set ssl cert' does not check the transaction name correctly
2024-10-29BUG/MINOR: trace: stop rewriting argv with -dt
2024-10-26BUG/MINOR: mworker/cli: fix mworker_cli_global_proxy_new_listener
2024-10-26BUG/MEIDUM: mworker: fix fd leak from master to worker
2024-10-24BUG/MINOR: stconn: Don't disable 0-copy FF if EOS was reported on consumer side
2024-10-24BUG/MINOR: http-ana: Fix wrong client abort reports during responses forwarding
2024-10-24BUG/MEDIUM: stconn: Report blocked send if sends are blocked by an error
2024-10-24BUG/MEDIUM: server: fix race on servers_list during server deletion
2024-10-24BUG/MINOR: server: fix dynamic server leak with check on failed init
2024-10-24BUG/MINOR: mworker: show worker warnings in startup logs
2024-10-24BUG/MINOR: mworker/cli: show master startup logs in recovery mode
2024-10-24BUG/MINOR: mux-h1: Fix conditions on pipe in some COUNT_IF()
2024-10-24DEBUG: mux-h1: Add debug counters to track errors with in/out pending data
2024-10-23BUG/MEDIUM: connection/http-reuse: fix address collision on unhandled address families
2024-10-22DEBUG: mux-h1: Add debug counters to track some errors
2024-10-22DEBUG: stream: Add debug counters to track some client/server aborts
2024-10-22BUG/MINOR: stconn: Pretend the SE have more data to deliver on abortonclose
2024-10-22BUG/MEDIUM: mux-h2: Remove H2S from send list if data are sent via 0-copy FF
2024-10-22BUG/MEDIUM: stats-html: Never dump more data than expected during 0-copy FF
2024-10-21MEDIUM: debug: add match counters for BUG_ON/WARN_ON/CHECK_IF
2024-10-21CLEANUP: debug: make the BUG_ON() macros check the condition in the outer one
2024-10-21BUG/MINOR: mux-quic: do not close STREAM with empty FIN if no data sent
2024-10-21BUG/MINOR: mworker: fix mworker-max-reloads parser
2024-10-18BUG/MINOR: sample: free err2 in smp_resolve_args for type ARGT_REG
2024-10-17CLEANUP: http_ext: remove useless BUG_ON() in http_handle_xot_header()
2024-10-17BUG/MEDIUM: quic: avoid freezing 0RTT connections
2024-10-17BUG/MINOR: quic: avoid leaking post handshake frames
2024-10-17BUG/MAJOR: filters/htx: Add a flag to state the payload is altered by a filter
2024-10-17BUG/MEDIUM: stconn: Check FF data of SC to perform a shutdown in sc_notify()
2024-10-17BUG/MINOR: http-ana: Don't report a server abort if response payload is invalid
2024-10-17BUG/MEDIUM: stconn: Wait iobuf is empty to shut SE down during a check send
2024-10-17BUG/MINOR: resolvers/mworker: missing default resolvers in mworker mode
2024-10-17BUG/MEDIUM: mworker/httpclient: initialization skipped by accident in mworker mode
2024-10-17BUG/MINOR: httpclient: return NULL when no proxy available during httpclient_new()
2024-10-16BUG/MINOR: mworker: fix memory leak due to master-worker fork
2024-10-16DEBUG: mux-h2/flags: add H2_CF_DEM_RXBUF & H2_SF_EXPECT_RXDATA for the decoder
2024-10-16BUG/MEDIUM: queue: make sure never to queue when there's no more served conns
2024-10-16BUG/MEDIUM: server: server stuck in maintenance after FQDN change
2024-10-16BUG/MEDIUM: quic: support wait-for-handshake
2024-10-16BUG/MINOR: stream: unblock stream on wait-for-handshake completion
2024-10-12BUG/MINOR: mux-h2/traces: present the correct buffer for trailers errors traces
2024-10-10BUG/MEDIUM: mux-quic: ensure timeout server is active for short requests
2024-10-09BUG/MEDIUM: quic: properly decount out-of-order ACK on stream release
2024-10-09BUG/MINOR: quic: fix discarding of already stored out-of-order ACK
2024-10-08BUG/MEDIUM: hlua: properly handle sample func errors in hlua_run_sample_{fetch,conv}()
2024-10-08BUG/MEDIUM: hlua: make hlua_ctx_renew() safe
2024-10-04BUG/MINOR: stats: Fix the name for the total number of streams created
2024-10-04BUG/MAJOR: mux-quic: do not crash on empty STREAM frame emission
2024-10-02BUG/MINOR: quic: fix trace on releasing STREAM frame after ack
2024-10-02BUG/MINOR: mux-quic: fix crash on qcc_init() early return
2024-10-02BUG/MINOR: http-ana: Disable fast-fwd for unfinished req waiting for upgrade
2024-10-02BUG/MINOR: mux-h1: Fix condition to set EOI on SE during zero-copy forwarding
2024-10-01BUG/MEDIUM: queue: always dequeue the backend when redistributing the last server
2024-10-01BUG/MINOR: cfgparse-global: fix allowed args number for setenv
2024-09-30BUG/MINOR: mcli: Pretend the mux have more data to deliver between two commands
2024-09-27BUG/MINOR: queue: make sure that maintenance redispatches server queue
2024-09-27BUG/MINOR: server: make sure the HMAINT state is part of MAINT
2024-09-27BUG/MEDIUM: stream: make stream_shutdown() async-safe
2024-09-27Revert "BUG/MINOR: server: shut down streams under thread isolation"
2024-09-25BUG/MEDIUM: cli: Deadlock when setting frontend maxconn
2024-09-24BUG/MEDIUM: cli: Be sure to catch immediate client abort
2024-09-21BUG/MINOR: proxy: also make the cli and resolvers use the global name
2024-09-21BUG/MINOR: server: shut down streams under thread isolation
2024-09-20BUG/MINOR: cfgparse: detect another uncaught case of duplicate defaults
2024-09-18BUG/MINOR: mux-quic: report glitches to session
2024-09-17BUG/MINOR: cfgparse: detect incorrect overlap of same backend names
2024-09-17BUG/MINOR: cfgparse-listen: fix option httpslog override warning message
2024-09-17BUG/MINOR: fix missing "'option httpslog' overrides previous 'option tcplog clf'..." detection
2024-09-17BUG/MINOR: fix missing "log-format overrides previous 'option tcplog clf'..." detection

Back to the list of branches and versions
Back to the HAProxy page