HAProxy known bugs for version v2.4.20 (maintenance branch 2.4) :  210 

This version (2.4.20) is a release belonging to maintenance branch 2.4 whose latest version is 2.4.26. 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.

Quick links

Other versions in the same branch

This branch contains the following releases :

DateVersionComment
2024-04-052.4.26 ⇐ last
2023-12-142.4.25 
2023-08-192.4.24 
2023-06-092.4.23 
2023-02-142.4.22 
2023-01-272.4.21 
2022-12-092.4.20 ⇐ yours
2022-09-282.4.19 
2022-07-272.4.18 
2022-05-132.4.17 
2022-04-292.4.16 
2022-03-142.4.15 
2022-02-252.4.14 
2022-02-162.4.13 
2022-01-112.4.12 
2022-01-072.4.11 
2021-12-232.4.10 
2021-11-242.4.9 
2021-11-032.4.8 
2021-10-042.4.7 
2021-10-042.4.6 
2021-10-012.4.5 
2021-09-072.4.4 
2021-08-172.4.3 
2021-07-072.4.2 
2021-06-172.4.1 
2021-05-142.4.0 

Known bugs affecting this version, and already fixed in the maintenance branch

These fixes have already been queued for a more recent 2.4 version. Some of them might have already been released in a more recent version than yours, and other ones might still be pending in the maintenance branch for a future release. The list may be empty if you're already on the latest version and no new fix was backported.

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 this version by category :

TotalCRITICALMAJORMEDIUMMINOR
210 1 7 63 139

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

Merge dateSubject - Severity (minor, medium, major, critical)
2024-04-05BUG/MINOR: proxy: fix logformat expression leak in use_backend rules
2024-04-05BUG/MEDIUM: hlua: streams don't support mixing lua-load with lua-load-per-thread (2nd try)
2024-04-05DEBUG: lua: precisely identify if stream is stuck inside lua or not
2024-04-03BUG/MINOR: ist: only store NUL byte on succeeded alloc
2024-04-03BUG/MINOR: backend: properly handle redispatch 0
2024-04-03BUG/MINOR: server: ignore 'enabled' for dynamic servers
2024-04-03BUG/MINOR: server: 'source' interface ignored from 'default-server' directive
2024-04-03BUG/MEDIUM: mux-fcgi: Properly handle EOM flag on end-of-trailers HTX block
2024-04-03BUG/MINOR: session: ensure conn owner is set after insert into session
2024-04-03BUG/MEDIUM: spoe: Return an invalid frame on recv if size is too small
2024-04-03BUG/MINOR: spoe: Be sure to be able to quickly close IDLE applets on soft-stop
2024-04-03BUG/MEDIUM: spoe: Don't rely on stream's expiration to detect processing timeout
2024-04-03BUG/MINOR: listener: Don't schedule frontend without task in listener_release()
2024-04-03BUG/MINOR: listener: Wake proxy's mngmt task up if necessary on session release
2024-04-03BUG/MINOR: ssl: fix possible ctx memory leak in sample_conv_aes_gcm()
2024-04-03BUG/MINOR: cfgparse: report proper location for log-format-sd errors
2024-04-03BUG/MAJOR: hlua: improper lock usage with hlua_ctx_resume()
2024-04-03BUG/MEDIUM: hlua: improper lock usage with SET_SAFE_LJMP()
2024-04-03BUG/MINOR: hlua: don't use lua_tostring() from unprotected contexts
2024-04-03BUG/MINOR: hlua: fix unsafe lua_tostring() usage with empty stack
2024-04-03BUG/MINOR: tools: seed the statistical PRNG slightly better
2024-04-03BUG/MINOR: hlua: Fix log level to the right value when set via TXN:set_loglevel
2024-04-03BUG/MINOR: ssl/cli: duplicate cleaning code in cli_parse_del_crtlist
2024-04-03BUG/MINOR: ist: allocate nul byte on istdup
2024-04-03BUG/MEDIUM: hlua: Don't loop if a lua socket does not consume received data
2024-04-03BUG/MINOR: ssl: Clear the ckch instance when deleting a crt-list line
2024-04-03BUG/MAJOR: ssl_sock: Always clear retry flags in read/write functions
2024-04-03BUG/MEDIUM: h1: always reject the NUL character in header values
2024-04-03BUG/MEDIUM: h1: Don't support LF only to mark the end of a chunk size
2024-04-03BUG/MINOR: h1: Don't support LF only at the end of chunks
2024-04-03BUG/MINOR: h1-htx: properly initialize the err_pos field
2024-04-03BUG/MEDIUM: pool: fix rare risk of deadlock in pool_flush()
2024-04-03BUG/MINOR: vars/cli: fix missing LF after "get var" output
2024-04-03BUG/MEDIUM: cli: some err/warn msg dumps add LR into CSV output on stat's CLI
2024-01-17BUG/MEDIUM: spoe: Never create new spoe applet if there is no server up
2024-01-17BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is forwardable
2024-01-17BUG/MEDIUM: mux-h2: Report too large HEADERS frame only when rxbuf is empty
2024-01-17BUG/MEDIUM: connection: report connection errors even when no mux is installed
2024-01-17BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them
2023-12-14BUG/MINOR: startup: set GTUNE_SOCKET_TRANSFER correctly
2023-12-14BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range()
2023-12-14BUG/MINOR: cache: Remove incomplete entries from the cache when stream is closed
2023-12-14BUG/MINOR: sample: Make the `word` converter compatible with `-m found`
2023-12-14BUG/MINOR: config: Stopped parsing upon unmatched environment variables
2023-12-14BUG/MINOR: server: do not leak default-server in defaults sections
2023-12-14BUG/MINOR: proxy/stktable: missing frees on proxy cleanup
2023-12-14BUG/MINOR: stream/cli: report correct stream age in "show sess"
2023-12-14BUG/MEDIUM: mux-fcgi: fail earlier on malloc in takeover()
2023-12-14BUG/MEDIUM: mux-h1: fail earlier on malloc in takeover()
2023-12-14BUG/MEDIUM: mux-h2: fail earlier on malloc in takeover()
2023-12-14BUG/MINOR: stconn: Use HTX-aware channel's functions to get info on buffer
2023-12-14BUG/MINOR: stconn: Fix streamer detection for HTX streams
2023-12-14BUG/MEDIUM: stream: Don't call mux .ctl() callback if not implemented
2023-12-13BUG/MEDIUM: stream: Properly handle abortonclose when set on backend only
2023-12-13BUG/MINOR: stconn: Handle abortonclose if backend connection was already set up
2023-12-13BUG/MINOR: mux-h1: Properly handle http-request and http-keep-alive timeouts
2023-12-13BUG/MINOR: stick-table/cli: Check for invalid ipv4 key
2023-12-13BUG/MINOR: cfgparse/stktable: fix error message on stktable_init() failure
2023-12-13BUG/MINOR: stktable: missing free in parse_stick_table()
2023-12-13BUG/MINOR: tcpcheck: Report hexstring instead of binary one on check failure
2023-12-13BUG/MEDIUM: ssl: segfault when cipher is NULL
2023-12-13BUG/MINOR: ssl: suboptimal certificate selection with TLSv1.3 and dual ECDSA/RSA
2023-12-13BUG/MINOR: mux-h2: update tracked counters with req cnt/req err
2023-12-13BUG/MINOR: mux-h2: commit the current stream ID even on reject
2023-12-13BUG/MEDIUM: peers: Be sure to always refresh recconnect timer in sync task
2023-12-13BUG/MEDIUM: mux-h2: Don't report an error on shutr if a shutw is pending
2023-12-13BUG/MINOR: mux-h2: make up other blocked streams upon removal from list
2023-12-13BUG/MEDIUM: actions: always apply a longest match on prefix lookup
2023-12-06BUG/MINOR: debug: enter ha_panic() only once
2023-11-24BUG/MEDIUM: listener/proxy: fix listeners notify for proxy resume (2nd try)
2023-10-04BUG/MINOR: server: add missing free for server->rdr_pfx
2023-10-04BUG/MAJOR: mux-h2: Report a protocol error for any DATA frame before headers
2023-10-04BUG/MINOR: freq_ctr: fix possible negative rate with the scaled API
2023-10-04BUG/MINOR: promex: fix backend_agg_check_status
2023-10-04BUG/MEDIUM: mux-fcgi: Don't swap trash and dbuf when handling STDERR records
2023-10-04BUG/MINOR: hlua/init: coroutine may not resume itself
2023-10-04BUG/MEDIUM: hlua: don't pass stale nargs argument to lua_resume()
2023-10-04BUG/MEDIUM: hlua: streams don't support mixing lua-load with lua-load-per-thread
2023-10-04BUG/MINOR: hlua/action: incorrect message on E_YIELD error
2023-10-04BUG/MEDIUM: stconn/stream: Forward shutdown on write timeout
2023-10-04BUG/MEDIUM: stconn: Wake applets on sending path if there is a pending shutdown
2023-10-04BUG/MINOR: ssl_sock: fix possible memory leak on OOM
2023-10-04BUG/MINOR: hlua_fcn: potentially unsafe stktable_data_ptr usage
2023-10-04BUG/MINOR: stktable: allow sc-set-gpt(0) from tcp-request connection
2023-10-04BUG/MINOR: hlua: fix invalid use of lua_pop on error paths
2023-09-04BUG/MEDIUM: dns: Be sure to unlock DSS when existing dns_session_io_handler()
2023-08-14BUG/MINOR: http: skip leading zeroes in content-length values
2023-08-14BUG/MINOR: h2: reject more chars from the :path pseudo header
2023-08-14BUG/MINOR: h1: do not accept '#' as part of the URI component
2023-08-14BUG/MAJOR: http: reject any empty content-length header value
2023-08-14BUG/MAJOR: http-ana: Get a fresh trash buffer for each header value replacement
2023-08-14BUG/MINOR: chunk: fix chunk_appendf() to not write a zero if buffer is full
2023-07-24BUG/MEDIUM: listener: Acquire proxy's lock in relax_listener() if necessary
2023-07-24BUG/MINOR: h1-htx: Return the right reason for 302 FCGI responses
2023-07-24BUG/MINOR: hlua: add check for lua_newstate
2023-07-24BUG/MINOR: http: Return the right reason for 302
2023-07-24BUG/MINOR: sample: Fix wrong overflow detection in add/sub conveters
2023-07-24BUG/MINOR: hlua: hlua_yieldk ctx argument should support pointers
2023-07-24BUG/MINOR: config: Remove final '\n' in error messages
2023-07-24BUG/MINOR: sink/log: properly deinit srv in sink_new_from_logsrv()
2023-07-24BUG/MINOR: sink: fix errors handling in cfg_post_parse_ring()
2023-07-24BUG/MINOR: sink: invalid sft free in sink_deinit()
2023-07-24BUG/MINOR: log: free errmsg on error in cfg_parse_log_forward()
2023-07-24BUG/MINOR: log: fix multiple error paths in cfg_parse_log_forward()
2023-07-24BUG/MINOR: log: fix missing name error message in cfg_parse_log_forward()
2023-07-24BUG/MEDIUM: log: improper use of logsrv->maxlen for buffer targets
2023-07-24BUG/MINOR: log: LF upsets maxlen for UDP targets
2023-07-24BUG/MINOR: ring: maxlen warning reported as alert
2023-07-24BUG/MINOR: ring: size warning incorrectly reported as fatal error
2023-07-24BUG/MINOR: sink: missing sft free in sink_deinit()
2023-07-24BUG/MEDIUM: sink: invalid server list in sink_new_from_logsrv()
2023-07-24BUG/MINOR: cache: A 'max-age=0' cache-control directive can be overriden by a s-maxage
2023-07-24BUG/MINOR: tcp_sample: bc_{dst,src} return IP not INT
2023-07-24BUG/MEDIUM: mworker: increase maxsock with each new worker
2023-07-24BUG/MINOR: namespace: missing free in netns_sig_stop()
2023-07-24BUG/MINOR: server: inherit from netns in srv_settings_cpy()
2023-07-24BUG/MEDIUM: hlua: prevent deadlocks with main lua lock
2023-07-24BUG/MINOR: hlua: fix reference leak in hlua_post_init_state()
2023-07-24BUG/MINOR: hlua: fix reference leak in core.register_task()
2023-07-24BUG/MEDIUM: listener/proxy: fix listeners notify for proxy resume
2023-07-24BUG/MEDIUM: resume from LI_ASSIGNED in default_resume_listener()
2023-07-24BUG/MINOR: listener: fix resume_listener() resume return value handling
2023-07-24BUG/MEDIUM: listener: fix pause_listener() suspend return value handling
2023-07-24BUG/MINOR: listener: null pointer dereference suspected by coverity
2023-06-09BUG/MINOR: proxy: add missing interface bind free in free_proxy
2023-06-09BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line
2023-06-06BUG/MINOR: spoe: Only skip sending new frame after a receive attempt
2023-06-06BUG/MINOR: http_rules: fix errors paths in http_parse_redirect_rule()
2023-05-26BUG/MEDIUM: filters: Don't deinit filters for disabled proxies during startup
2023-05-26BUG/MINOR: server: don't use date when restoring last_change from state file
2023-05-26BUG/MINOR: server: don't miss server stats update on server state transitions
2023-05-26BUG/MINOR: server: don't miss proxy stats update on server state transitions
2023-05-26BUG/MINOR: server: incorrect report for tracking servers leaving drain
2023-05-26BUG/MEDIUM: spoe: Don't start new applet if there are enough idle ones
2023-05-26BUG/MINOR: debug: do not emit empty lines in thread dumps
2023-05-26BUG/MINOR: proxy: missing free in free_proxy for redirect rules
2023-05-26BUG/MINOR: log: fix memory error handling in parse_logsrv()
2023-05-26BUG/MINOR: hlua: unsafe hlua_lua2smp() usage
2023-05-26BUG/MINOR: tcp-rules: Don't shortened the inspect-delay when EOI is set
2023-05-17BUG/MINOR: clock: fix the boot time measurement method for 2.6 and older
2023-05-17BUG/MINOR: checks: postpone the startup of health checks by the boot time
2023-04-24BUG/MINOR: mux-h2: make sure to produce a log on invalid requests
2023-04-24BUG/MEDIUM: Update read expiration date on synchronous send
2023-04-24BUG/MEDIUM: proxy/sktable: prevent watchdog trigger on soft-stop
2023-04-21BUG/MINOR: cfgparse: make sure to include openssl-compat
2023-04-21BUG/MEDIUM: log: Properly handle client aborts in syslog applet
2023-04-21BUG/MINOR: stick_table: alert when type len has incorrect characters
2023-04-21BUG/MEDIUM: resolvers: Force the connect timeout for DNS resolutions
2023-04-21BUG/MINOR: hlua: enforce proper running context for register_x functions
2023-04-21BUG/MINOR: log: free log forward proxies on deinit()
2023-04-21BUG/MINOR: sink: free forward_px on deinit()
2023-04-21BUG/MEDIUM: dns: Properly handle error when a response consumed
2023-04-21BUG/MEDIUM: channel: Improve reports for shut in co_getblk()
2023-04-21BUG/MEDIUM: mux-h1: Wakeup H1C on shutw if there is no I/O subscription
2023-04-21BUG/MEDIUM: mux-h2: erase h2c->wait_event.tasklet on error path
2023-04-21BUG/MEDIUM: connection: Preserve flags when a conn is removed from an idle list
2023-04-21BUG/MEDIUM: connection: Clear flags when a conn is removed from an idle list
2023-04-21BUG/MINOR: sock_unix: match finalname with tempname in sock_unix_addrcmp()
2023-04-21BUG/MINOR: protocol: fix minor memory leak in protocol_bind_all()
2023-04-21BUG/MINOR: proto_ux: report correct error when bind_listener fails
2023-04-21BUG/MEDIUM: spoe: Don't set the default traget for the SPOE agent frontend
2023-04-21BUG/MEDIUM: listener: duplicate inherited FDs if needed
2023-04-21BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it
2023-04-21BUG/MINOR: init: make sure to always limit the total number of threads
2023-04-21BUG/MINOR: init: properly detect NUMA bindings on large systems
2023-04-21BUG/MINOR: ssl: Use 'date' instead of 'now' in ocsp stapling callback
2023-04-21BUG/MINOR: http-ana: Do a L7 retry on read error if there is no response
2023-04-21BUG/MINOR: http-check: Skip C-L header for empty body when it's not mandatory
2023-04-21BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body
2023-04-21BUG/MINOR: ring: do not realign ring contents on resize
2023-04-21BUG/MINOR: cache: Check cache entry is complete in case of Vary
2023-04-21BUG/MINOR: cache: Cache response even if request has "no-cache" directive
2023-04-21BUG/MINOR: mworker: prevent incorrect values in uptime
2023-04-21BUG/MEDIUM: sched: allow a bit more TASK_HEAVY to be processed when needed
2023-04-21BUG/MINOR: sched: properly report long_rq when tasks remain in the queue
2023-04-21BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
2023-04-21BUG/MINOR: mworker: stop doing strtok directly from the env
2023-04-14BUG/MINOR: ssl: ssl-(min|max)-ver parameter not duplicated for bundles in crt-list
2023-02-14BUG/CRITICAL: http: properly reject empty http header field names
2023-02-13BUG/MEDIUM: stconn: Schedule a shutw on shutr if data must be sent first
2023-02-13BUG/MEDIUM: cache: use the correct time reference when comparing dates
2023-02-13BUG/MEDIUM: stick-table: do not leave entries in end of window during purge
2023-02-13BUG/MINOR: ssl/crt-list: warn when a line is malformated
2023-02-13BUG/MEDIUM: ssl: wrong eviction from the session cache tree
2023-02-13BUG/MINOR: fcgi-app: prevent 'use-fcgi-app' in default section
2023-01-27BUG/MINOR: sink: free the forwarding task on exit
2023-01-20BUG/MINOR: mux-h2: add missing traces on failed headers decoding
2023-01-20BUG/MINOR: listener: close tiny race between resume_listener() and stopping
2023-01-20BUG/MINOR: mux-fcgi: Correctly set pathinfo
2023-01-20BUG/MINOR: listeners: fix suspend/resume of inherited FDs
2023-01-20BUG/MINOR: http-ana: make set-status also update txn->status
2023-01-20BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
2023-01-20BUG/MINOR: http-ana: Report SF_FINST_R flag on error waiting the request body
2023-01-20BUG/MINOR: promex: Don't forget to consume the request on error
2023-01-20BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action
2023-01-20BUG/MINOR: h1-htx: Remove flags about protocol upgrade on non-101 responses
2023-01-20BUG/MINOR: http: Memory leak of http redirect rules' format string
2023-01-20BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned
2023-01-20BUG/MINOR: http-fetch: Only fill txn status during prefetch if not already set
2023-01-20BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats
2023-01-20BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set
2023-01-20BUG/MINOR: ssl: Fix memory leak of find_chain in ssl_sock_load_cert_chain
2023-01-20BUG/MEDIUM: resolvers: Use tick_first() to update the resolvers task timeout
2023-01-20BUG/MAJOR: fcgi: Fix uninitialized reserved bytes
2023-01-20BUG/MINOR: promex: create haproxy_backend_agg_server_status
2023-01-20BUG/MEDIUM: mworker: fix segv in early failure of mworker mode with peers
2023-01-20BUG/MINOR: ssl: Fix potential overflow
2023-01-20BUG/MEDIUM: ssl: Verify error codes can exceed 63
2023-01-20BUG/MINOR: resolvers: Don't wait periodic resolution on healthcheck failure
2022-12-09BUG/MEDIIM: stconn: Flush output data before forwarding close to write side
2022-12-09BUG/MINOR: http-htx: Don't consider an URI as normalized after a set-uri action

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