HAProxy known bugs for maintenance branch 1.8 :  29 

This is maintenance branch 1.8 whose latest version is 1.8.30. 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 1.8 version other than 1.8.30, you're running with known bugs.

Quick links

Versions available in this branch

This branch contains the following releases :

DateVersionComment
2021-04-121.8.30 ⇐ last
2021-03-191.8.29 
2021-01-131.8.28 
2020-11-061.8.27 
2020-08-031.8.26 
2020-04-021.8.25 
2020-02-151.8.24 
2019-11-251.8.23 
2019-10-251.8.22 
2019-08-161.8.21 
2019-04-251.8.20 
2019-02-111.8.19 
2019-02-061.8.18 
2019-01-081.8.17 
2018-12-211.8.16 
2018-12-131.8.15 
2018-09-201.8.14 
2018-07-301.8.13 
2018-06-271.8.12 
2018-06-261.8.11 
2018-06-221.8.10 
2018-05-181.8.9 
2018-04-191.8.8 
2018-04-071.8.7 
2018-04-051.8.6 
2018-03-231.8.5 
2018-02-081.8.4 
2017-12-301.8.3 
2017-12-231.8.2 
2017-12-031.8.1 
2017-11-261.8.0 

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

These fixes have already been queued for the next 1.8 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 2 19 8

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

Merge dateSubject - Severity (minor, medium, major, critical)
2021-07-29BUG/MEDIUM: tcp-check: Do not dereference inexisting connection
2021-07-08BUG/MINOR: peers: fix data_type bit computation more than 32 data_types
2021-07-08BUG/MINOR: cli: fix server name output in "show fd"
2021-07-08BUG/MEDIUM: sock: make sure to never miss early connection failures
2021-07-08BUG/MINOR: server/cli: Fix locking in function processing "set server" command
2021-07-08BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI
2021-07-08BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check
2021-07-08BUG/MEDIUM: spoe: Register pre/post analyzers in start_analyze callback function
2021-07-08BUG/MEDIUM: dns: send messages on closed/reused fd if fd was detected broken
2021-07-08BUG/MINOR: ssl: use atomic ops to update global shctx stats
2021-07-08BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE
2021-07-08BUG/MEDIUM: dns: reset file descriptor if send returns an error
2021-07-08BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future
2021-07-08BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter
2021-07-08BUG/MAJOR: server: prevent deadlock when using 'set maxconn server'
2021-07-08BUG/MEDIUM: ebtree: Invalid read when looking for dup entry
2021-07-08BUG/MEDIUM: peers: reset tables stage flags stages on new conns
2021-07-08BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly
2021-07-08BUG/MEDIUM: peers: reset commitupdate value in new conns
2021-07-08BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected
2021-07-08BUG/MEDIUM: peers: stop considering ack messages teaching a full resync
2021-07-08BUG/MEDIUM: peers: register last acked value as origin receiving a resync req
2021-07-08BUG/MEDIUM: peers: initialize resync timer to get an initial full resync
2021-07-08BUG/MEDIUM: peers: re-work refcnt on table to protect against flush
2021-07-08BUG/MEDIUM: peers: re-work connection to new process during reload.
2021-07-08BUG/MINOR: mworker/init: don't reset nb_oldpids in non-mworker cases
2021-07-08BUG/MINOR: logs: Report the true number of retries if there was no connection
2021-07-08BUG/MEDIUM: sample: Fix adjusting size in field converter
2021-07-08BUG/MINOR: tools: fix parsing "us" unit for timers

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
2021-10-22BUG/MINOR: backend: fix improper insert in avail tree for always reuse
2021-10-22BUG/MEDIUM: lua: fix memory leaks with realloc() on non-glibc systems
2021-10-21BUG/MINOR: mux-h2: do not prevent from sending a final GOAWAY frame
2021-10-21BUG/MINOR: task: do not set TASK_F_USR1 for no reason
2021-10-21BUG/MAJOR: buf: fix varint API post- vs pre- increment
2021-10-20BUG/MEDIUM: checks: fix the starting thread for external checks
2021-10-20BUG/MEDIUM: resolvers: always check a valid item in query_list
2021-10-20BUG/MAJOR: resolvers: add other missing references during resolution removal
2021-10-20DEBUG: dns: add a few more BUG_ON at sensitive places
2021-10-20BUG/MAJOR: dns: attempt to lock globaly for msg waiter list instead of use barrier
2021-10-20BUG/MAJOR: dns: tcp session can remain attached to a list after a free
2021-10-20BUG/MEDIUM: tcpcheck: Properly catch early HTTP parsing errors
2021-10-19BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error
2021-10-16BUG/MINOR: listener: add an error check for unallocatable trash
2021-10-16BUG/MINOR: listener: fix incorrect return on out-of-memory
2021-10-16BUG/MINOR: sample: fix backend direction flags consecutive to last fix
2021-10-15BUG/MEDIUM: cpuset: fix cpuset size for FreeBSD
2021-10-15BUG/MINOR: proxy: Release ACLs and TCP/HTTP rules of default proxies
2021-10-15BUG/MEDIUM: sample: Cumulate frontend and backend sample validity flags
2021-10-15BUG/MINOR: proxy: Use .disabled field as a bitfield as documented
2021-10-15BUG/MINOR: sample: Fix 'fix_tag_value' sample when waiting for more data
2021-10-15BUG/MINOR: http-ana: Don't eval front after-response rules if stopped on back
2021-10-15BUG/MEDIUM: sample/jwt: fix another instance of base64 error detection
2021-10-15BUG/MINOR: jwt: use CRYPTO_memcmp() to compare HMACs
2021-10-15BUG/MEDIUM: jwt: fix base64 decoding error detection
2021-10-15BUG/MEDIUM: resolvers: fix truncated TLD consecutive to the API fix
2021-10-14BUG/MEDIUM: resolvers: use correct storage for the target address
2021-10-14BUG/MINOR: resolvers: do not reject host names of length 255 in SRV records
2021-10-14BUG/MEDIUM: resolver: make sure to always use the correct hostname length
2021-10-12BUG/MINOR: lua: Fix lua error handling in `hlua_config_prepend_path()`
2021-10-08BUG/MINOR: quic: fix includes for compilation
2021-10-08BUG/MEDIUM: mux_h2: Handle others remaining read0 cases on partial frames
2021-10-07BUG/MAJOR: quic: remove qc from receiver cids tree on free
2021-10-07BUG/MAJOR: xprt-quic: do not queue qc timer if not set
2021-10-07BUG/MEDIUM: mux-quic: reinsert all streams in by_id tree
2021-10-07MINOR: quic: BUG_ON() SSL errors.
2021-10-07BUG/MINOR: task: fix missing include with DEBUG_TASK
2021-10-07BUG/MEDIUM: sample: properly verify that variables cast to sample
2021-10-06BUG/MINOR: httpclient/lua: does not process headers when failed
2021-10-06BUG/MEDIUM: httpclient/lua: crash because of b_xfer and get_trash_chunk()
2021-10-04BUG/MEDIUM: http-ana: Clear request analyzers when applying redirect rule
2021-10-04BUG/MEDIUM: filters: Fix a typo when a filter is attached blocking the release
2021-09-30MINOR: tasks: catch TICK_ETERNITY with BUG_ON() in __task_queue()
2021-09-30BUG/MINOR: tcp-rules: Stop content rules eval on read error and end-of-input
2021-09-30BUG/MINOR: tcpcheck: Don't use arg list for default proxies during parsing
2021-09-30BUG/MAJOR: lua: use task_wakeup() to properly run a task once
2021-09-30BUG/MEDIUM: lua: fix wakeup condition from sleep()
2021-09-29MINOR: Makefile: add MEMORY_POOLS to the list of DEBUG_xxx options
2021-09-28BUG/MEDIUM: mux-h1/mux-fcgi: Reject messages with unknown transfer encoding
2021-09-28BUG/MINOR: mux-h1/mux-fcgi: Sanitize TE header to only send "trailers"
2021-09-26BUG/MEDIUM: httpclient: replace ist0 by istptr
2021-09-24BUG/MINOR: httpclient/lua: return an error on argument check
2021-09-23BUG/MINOR: http-ana: increment internal_errors counter on response error
2021-09-23BUG/MEDIUM: stream-int: Defrag HTX message in si_cs_recv() if necessary
2021-09-23BUG/MEDIUM: stream: Stop waiting for more data if SI is blocked on RXBLK_ROOM
2021-09-23BUG/MEDIUM: stream-int: Notify stream that the mux wants more room to xfer data
2021-09-23BUG/MEDIUM: mux-h1: Adjust conditions to ask more space in the channel buffer
2021-09-23BUG/MINOR: h1-htx: Fix a typo when request parser is reset
2021-09-23BUG/MINOR: quic: Too much reduced computed space to build handshake packets
2021-09-23BUG/MINOR: quic: Wrong RX packet reference counter usage
2021-09-23BUG/MINOR: quic: Missing cases treatement when updating ACK ranges
2021-09-23BUG/MINOR: quic: Wrong memory free in quic_update_ack_ranges_list()
2021-09-23BUG/MINOR: quic: Do not check the acception of a new conn from I/O handler.
2021-09-23BUG/MINOR: quic: Wrong ->accept() error handling
2021-09-23BUG/MINOR: quic: Possible NULL pointer dereferencing when dumping streams.
2021-09-22BUG/MEDIUM: leastconn: fix rare possibility of divide by zero
2021-09-21BUG/MINOR: server: alloc dynamic srv ssl ctx if proxy uses ssl chk rule
2021-09-21BUG/MINOR: server: allow 'enable health' only if check configured
2021-09-20BUG/MINOR: flt-trace: fix an infinite loop when random-parsing is set
2021-09-17BUG/MINOR: cli/payload: do not search for args inside payload
2021-09-16BUG/MINOR: connection: prevent null deref on mux cleanup task allocation
2021-09-16BUG/MINOR: tcpcheck: Improve LDAP response parsing to fix LDAP check
2021-09-16BUG/MAJOR: mux-h1: Don't eval input data if an error was reported
2021-09-15BUG/MINOR: compat: make sure __WORDSIZE is always defined
2021-09-12BUG/MEDIUM lua: Add missing call to RESET_SAFE_LJMP in hlua_filter_new()
2021-09-12BUG/MINOR: opentracing: enable the use of http headers without a set value
2021-09-10BUG/MINOR: filters: Set right FLT_END analyser depending on channel
2021-09-10BUG/MEDIUM: http-ana: Reset channels analysers when returning an error
2021-09-10BUG/MEDIUM: stream-int: Don't block SI on a channel policy if EOI is reached
2021-09-10BUG/MEDIUM: mux-h1: Remove "Upgrade:" header for requests with payload
2021-09-07Revert "BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive"
2021-09-03BUG/MAJOR: htx: fix missing header name length check in htx_add_header/trailer
2021-09-03BUG/MINOR: config: reject configs using HTTP with bufsize >= 256 MB
2021-09-03BUG/MINOR: vars: do not talk about global section in CLI errors for set-var
2021-09-03BUG/MINOR: vars: truncate the variable name in error reports about scope.
2021-09-03BUG/MEDIUM: vars: run over the correct list in release_store_rules()
2021-09-02BUG/MINOR: vars: properly set the argument parsing context in the expression
2021-09-02BUG/MINOR: vars: improve accuracy of the rules used to check expression validity
2021-09-02BUG/MINOR: vars: fix set-var/unset-var exclusivity in the keyword parser
2021-08-31BUG/MAJOR: queue: better protect a pendconn being picked from the proxy
2021-08-30BUG/MINOR: tools: Fix loop condition in dump_text()
2021-08-30BUG/MINOR threads: Use get_(local|gm)time instead of (local|gm)time
2021-08-28BUG/MINOR: ebtree: remove dependency on incorrect macro for bits per long
2021-08-27BUG/MINOR: time: fix idle time computation for long sleeps
2021-08-26BUG/MINOR: lua: use strlcpy2() not strncpy() to copy sample keywords
2021-08-26BUG/MINOR: resolvers: mark servers with name-resolution as non purgeable
2021-08-25BUG/MINOR: proxy: don't dump servers of internal proxies
2021-08-25BUG/MINOR: base64: base64urldec() ignores padding in output size check
2021-08-25BUG/MINOR: stats: use refcount to protect dynamic server on dump
2021-08-24BUG/MINOR: httpclient: fix Host header
2021-08-24BUG/MEDIUM: base64: check output boundaries within base64{dec,urldec}
2021-08-24BUG/MINOR: httpclient: remove deinit of the httpclient
2021-08-24BUG/MINOR: stick-table: fix the sc-set-gpt* parser when using expressions
2021-08-20BUG/MINOR: systemd: ExecStartPre must use -Ws
2021-08-20BUG/MINOR: httpclient: check if hdr_num is not 0
2021-08-20BUG/MINOR: httpclient/cli: change the appctx test in the callbacks
2021-08-20BUG/MINOR: httpclient: fix uninitialized sl variable
2021-08-20BUG/MINOR: http_client: make sure to preset the proxy's default settings
2021-08-20BUG/MEDIUM: cfgparse: do not allocate IDs to automatic internal proxies
2021-08-19BUG/MEDIUM: h2: match absolute-path not path-absolute for :path
2021-08-17BUG/MEDIUM: h2: give :authority precedence over Host
2021-08-17BUG/MAJOR: h2: enforce stricter syntax checks on the :method pseudo-header
2021-08-17BUG/MAJOR: h2: verify that :path starts with a '/' before concatenating it
2021-08-17BUG/MAJOR: h2: verify early that non-http/https schemes match the valid syntax
2021-08-13BUG/MINOR: lua/filters: Return right code when txn:done() is called
2021-08-13BUG/MINOR: filters: Always set FLT_END analyser when CF_FLT_ANALYZE flag is set
2021-08-13BUG/MEDIUM: cfgcheck: verify existing log-forward listeners during config check
2021-08-13BUG/MINOR: lua: Properly catch alloc errors when parsing lua filter directives
2021-08-13BUG/MINOR: lua: Properly check negative offset in Channel/HttpMessage functions
2021-08-12BUG/MINOR: lua: Don't yield in channel.append() and channel.set()
2021-08-12BUG/MINOR: lua: Yield in channel functions only if lua context can yield
2021-08-12BUG/MINOR: stream: Don't release a stream if FLT_END is still registered
2021-08-12BUG/MINOR: tcpcheck: Properly detect pending HTTP data in output buffer
2021-08-12BUG/MINOR: buffer: fix buffer_dump() formatting
2021-08-11BUG/MEDIUM: server: support both check/agent-check on a dynamic instance
2021-08-11BUG/MEDIUM: check: fix leak on agent-check purge
2021-08-11BUG/MINOR: check: fix leak on add dynamic server with agent-check error
2021-08-11BUG/MINOR: check: do not reset check flags on purge
2021-08-09BUG/MINOR: server: do not use refcount in free_server in stopping mode
2021-08-09BUG/MINOR: check: test if server is not null in purge
2021-08-05BUG/MEDIUM: spoe: Fix policy to close applets when SPOE connections are queued
2021-08-05BUG/MEDIUM: spoe: Create a SPOE applet if necessary when the last one is released
2021-08-04BUG/MINOR: server: update last_change on maint->ready transitions too
2021-08-04BUG/MINOR: server: remove srv from px list on CLI 'add server' error
2021-08-04BUG/MINOR: server: fix race on error path of 'add server' CLI if track
2021-08-01BUG/MINOR: freq_ctr: use stricter barriers between updates and readings
2021-07-30BUG/MINOR: fd: protect fd state harder against a concurrent takeover
2021-07-30BUG/MINOR: pollers: always program an update for migrated FDs
2021-07-30BUG/MINOR: poll: fix abnormally high skip_fd counter
2021-07-30BUG/MINOR: select: fix excess number of dead/skip reported
2021-07-30BUG/MEDIUM: pollers: clear the sleeping bit after waking up, not before
2021-07-30BUG/MEDIUM: connection: close a rare race between idle conn close and takeover
2021-07-29BUG/MINOR: connection: Add missing error labels to conn_err_code_str

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