HAProxy known bugs for maintenance branch 1.6 :  38 

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

Quick links

Versions available in this branch

This branch contains the following releases :

2019-10-251.6.15 ⇐ last

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

These fixes have already been queued for the next 1.6 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 :

38 0 4 15 19

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

Merge dateSubject - Severity (minor, medium, major, critical)
2020-09-11BUG/MEDIUM: pattern: Renew the pattern expression revision when it is pruned
2020-09-11BUG/MINOR: lua: Check argument type to convert it to IP mask in arg validation
2020-09-11BUG/MINOR: lua: Check argument type to convert it to IPv4/IPv6 arg validation
2020-09-11BUG/MEDIUM: map/lua: Return an error if a map is loaded during runtime
2020-09-11BUG/MINOR: tcp-rules: Set the inspect-delay when a tcp-response action yields
2020-09-11BUG/MEDIUM: channel: Be aware of SHUTW_NOW flag when output data are peeked
2020-09-11BUG/MINOR: http_act: don't check capture id in backend (2)
2020-09-11BUG/MEDIUM: pattern: Add a trailing \0 to match strings only if possible
2020-09-11BUG/MEDIUM: fetch: Fix hdr_ip misparsing IPv4 addresses due to missing NUL
2020-09-11BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks
2020-09-11BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action
2020-09-11BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock
2020-09-11BUG/MEDIUM: shctx: really check the lock's value while waiting
2020-09-11BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam
2020-09-11BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream
2020-09-11BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream
2020-09-11BUG/MINOR: rules: Increment be_counters if backend is assigned for a silent-drop
2020-09-11BUG/MAJOR: proxy_protocol: Properly validate TLV lengths
2020-09-11BUG/MAJOR: list: fix invalid element address calculation
2020-09-11BUG/MINOR: sample: fix the json converter's endian-sensitivity
2020-09-11BUG/MEDIUM: ebtree: don't set attribute packed without unaligned access support
2020-09-11BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat
2020-02-11BUG/MINOR: dns: allow 63 char in hostname
2020-02-11BUG/MINOR: unix: better catch situations where the unix socket path length is close to the limit
2020-02-04BUG/MINOR: http_act: don't check capture id in backend
2020-02-04BUG/MINOR: stick-table: Use MAX_SESS_STKCTR as the max track ID during parsing
2020-02-04BUG/MINOR: http-rules: Remove buggy deinit functions for HTTP rules
2020-02-04BUG/MINOR: dns: Make dns_query_id_seed unsigned
2020-02-04BUG/MINOR: pattern: handle errors from fgets when trying to load patterns
2020-02-04BUG/MINOR: stream: don't mistake match rules for store-request rules
2020-02-04BUG/MAJOR: hashes: fix the signedness of the hash inputs
2020-02-04BUG/MINOR: sample: fix the closing bracket and LF in the debug converter
2019-12-11BUG/MEDIUM: proto_udp/threads: recv() and send() must not be exclusive.
2019-12-11BUG/MAJOR: dns: add minimalist error processing on the Rx path
2019-12-11BUG/MINOR: listener: also clear the error flag on a paused listener
2019-12-11BUG/MINOR: ssl: fix crt-list neg filter for openssl < 1.1.1
2019-12-11BUG/MEDIUM: stream: Be sure to release allocated captures for TCP streams
2019-12-11BUG/MINOR: config: Update cookie domain warn to RFC6265

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.

2021-01-26BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name
2021-01-26BUG/MEDIUM: filters/htx: Fix data forwarding when payload length is unknown
2021-01-26MINOR: abort() on my_unreachable() when DEBUG_USE_ABORT is set.
2021-01-25BUG/MINOR: stats: Init the metric variable when frontend stats are filled
2021-01-22BUG/MINOR: stats: Continue to fill frontend stats on unimplemented metric
2021-01-22BUG/MEDIUM: mux-h2: fix read0 handling on partial frames
2021-01-22BUG/MINOR: stream: Don't update counters when TCP to H2 upgrades are performed
2021-01-21BUG/MEDIUM: mux-h2: Xfer rxbuf to the upper layer when creating a front stream
2021-01-21BUG/MEDIUM: tcpcheck: Don't destroy connection in the wake callback context
2021-01-21BUG/MINOR: mworker: define _GNU_SOURCE for strsignal()
2021-01-20BUG/MINOR: mux_h2: missing space between "st" and ".flg" in the "show fd" helper
2021-01-19BUG/MINOR: peers: Wrong "new_conn" value for "show peers" CLI command.
2021-01-17BUG/MINOR: peers: Possible appctx pointer dereference.
2021-01-15BUG/MEDIUM: stats: add missing INF_BUILD_INFO definition
2021-01-15BUG/MINOR: dns: SRV records ignores duplicated AR records (v2)
2021-01-15BUG/MINOR: threads: Fixes the number of possible cpus report for Mac.
2021-01-13BUG/MINOR: init: Use a dynamic buffer to set HAPROXY_CFGFILES env variable
2021-01-13BUG/MINOR: init: enforce strict-limits when using master-worker
2021-01-12BUG/MINOR: check: Don't perform any check on servers defined in a frontend
2021-01-12BUG/MINOR: sample: Memory leak of sample_expr structure in case of error
2021-01-12Revert "BUG/MINOR: dns: SRV records ignores duplicated AR records"
2021-01-11BUG/MINOR: reg-tests: fix service dependency script
2021-01-11BUG/MINOR: sample: check alloc_trash_chunk return value in concat()
2021-01-10BUG/MINOR: server: Memory leak of proxy.used_server_addr during deinit
2021-01-08BUG/MINOR: sample: fix concat() converter's corruption with non-string variables
2021-01-08BUG/MINOR: hlua: Fix memory leak in hlua_alloc
2021-01-06BUG/MINOR: srv: do not cleanup idle conns if pool max is null
2021-01-06BUG/MINOR: srv: do not init address if backend is disabled
2021-01-06BUG/MINOR: quic: NULL pointer dereferences when building post handshake frames.
2021-01-06BUG/MINOR: stats: Make stat_l variable used to dump a stat line thread local
2021-01-06BUG/MEDIUM: server: srv_set_addr_desc() crashes when a server has no address
2021-01-05BUG/MINOR: tcpcheck: Report a L7OK if the last evaluated rule is a send rule
2021-01-05BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for `use_backend` fails
2021-01-04BUG/MINOR: quic: Wrong STREAM frames parsing.
2021-01-04BUG/MINOR: quic: Possible CRYPTO frame building errors.
2021-01-03BUG/MINOR: lua: Fix memory leak error cases in hlua_config_prepend_path
2021-01-03BUG/MINOR: sink: Return an allocation failure in __sink_new if strdup() fails
2020-12-31BUG/MEDIUM: cache: Fix hash collision in `accept-encoding` handling for `Vary`
2020-12-24BUG/MINOR: cache: Manage multiple headers in accept-encoding normalization
2020-12-22BUG/MEDIUM: mux_h2: Add missing braces in h2_snd_buf()around trace+wakeup
2020-12-21BUG/MINOR: dns: SRV records ignores duplicated AR records
2020-12-18BUG/MEDIUM: mux-h1: Handle h1_process() failures on a pipelined request
2020-12-18BUG/MEDIUM: http-ana: Never for sending data in TUNNEL mode
2020-12-18BUG/MINOR: mux-h1: Don't set CS_FL_EOI too early for protocol upgrade requests
2020-12-18BUG/MINOR: http: Establish a tunnel for all 2xx responses to a CONNECT
2020-12-15BUG/MAJOR: cache: Crash because of disabled entry not removed from the tree
2020-12-15BUG/MEDIUM: ssl/crt-list: bad behavior with "commit ssl cert"
2020-12-14BUG/MEDIUM: mux-h1: Fix a deadlock when a 408 error is pending for a client
2020-12-14BUG/MEDIUM: lb-leastconn: Reposition a server using the right eweight
2020-12-11BUG/MINOR: tools: Reject size format not starting by a digit
2020-12-11BUG/MINOR: tools: make parse_time_err() more strict on the timer validity
2020-12-11BUG/MINOR: tcpcheck: Don't rearm the check timeout on each read
2020-12-11BUG/MINOR: http-check: Use right condition to consider HTX message as full
2020-12-09BUG/MEDIUM: spoa/python: Fixing references to None
2020-12-09BUG/MEDIUM: spoa/python: Fixing PyObject_Call positional arguments
2020-12-09BUG/MINOR: spoa/python: Cleanup ipaddress objects if initialization fails
2020-12-09BUG/MINOR: spoa/python: Cleanup references for failed Module Addobject operations
2020-12-09BUG/MAJOR: spoa/python: Fixing return None
2020-12-04BUG/MINOR: stream: Don't use input buffer after the ownership xfer
2020-12-04BUG/MEDIUM: stream: Xfer the input buffer to a fully created stream
2020-12-04BUG/MINOR: mux-h1: Handle keep-alive timeout for idle frontend connections
2020-12-04BUG/MINOR: listener: use sockaddr_in6 for IPv6
2020-12-04BUG/MINOR: lua-thread: close all states on deinit
2020-12-04BUG/MEDIUM: lua-thread: some parts must be initialized once
2020-12-02BUG/MAJOR: ring: tcp forward on ring can break the reader counter.
2020-12-02BUG/MINOR: trace: Wrong displayed trace level
2020-12-02BUG/MINOR: lua: warn when registering action, conv, sf, cli or applet multiple times
2020-12-02BUG/MINOR: lua: Some lua init operation are processed unsafe
2020-12-02BUG/MINOR: lua: Post init register function are not executed beyond the first one
2020-12-02BUG/MINOR: lua: lua-load doesn't check its parameters
2020-12-02BUG/MINOR: lua: missing "\n" in error message
2020-12-01BUG/MINOR: mux-h2/stats: not all GOAWAY frames are errors
2020-12-01BUG/MINOR: mux-h2/stats: make stream/connection proto errors more accurate
2020-12-01BUG/MEDIUM: local log format regression.
2020-11-30BUG/MEDIUM: task: close a possible data race condition on a tasklet's list link
2020-11-30BUG/MEDIUM: lists: Lock the element while we check if it is in a list.
2020-11-27BUG/MINOR: http-fetch: Fix smp_fetch_body() when called from a health-check
2020-11-27BUG/MAJOR: tcpcheck: Allocate input and output buffers from the buffer pool
2020-11-27BUG/MINOR: tcpcheck: Don't forget to reset tcp-check flags on new kind of check
2020-11-26BUG/MAJOR: peers: fix partial message decoding
2020-11-25BUG/CRITICAL: cache: Fix trivial crash by sending accept-encoding header
2020-11-24BUG/MAJOR: filters: Always keep all offsets up to date during data filtering
2020-11-24BUG/MEDIUM: http_act: Restore init of log-format list
2020-11-21CI: Set DEBUG=-DDEBUG_STRICT=1 in GitHub Actions
2020-11-21BUILD: Show the value of DEBUG= in haproxy -vv
2020-11-21BUILD: Make DEBUG part of .build_opts
2020-11-21BUG/MINOR: http_htx: Fix searching headers by substring
2020-11-21BUG/MAJOR: connection: reset conn->owner when detaching from session list
2020-11-20BUG/MEDIUM: ssl/crt-list: fix error when no file found
2020-11-20BUG/MINOR: ssl/crt-list: load bundle in crt-list only if activated
2020-11-20BUG/MEDIUM: ssl: error when no certificate are found
2020-11-20BUG/MEDIUM: ssl/crt-list: bundle support broken in crt-list
2020-11-20BUG/MEDIUM: http-ana: Don't eval http-after-response ruleset on empty messages
2020-11-19BUG/MINOR: ssl: segv on startup when AKID but no keyid
2020-11-17BUG/MINOR: http-ana: Don't wait for the body of CONNECT requests
2020-11-17BUG/MEDIUM: filters: Forward all filtered data at the end of http filtering
2020-11-13BUG/MINOR: tcpcheck: Don't warn on unused rules if check option is after
2020-11-13BUG/MAJOR: spoe: Be sure to remove all references on a released spoe applet
2020-11-13BUG/MINOR: http-htx: Handle warnings when parsing http-error and http-errors
2020-11-13BUG/MEDIUM: check: reuse srv proto only if using same mode
2020-11-13BUG/MINOR: http-fetch: Fix calls w/o parentheses of the cookie sample fetches
2020-11-13BUG/MINOR: http-fetch: Extract cookie value even when no cookie name
2020-11-13BUG/MEDIUM: peers: fix decoding of multi-byte length in stick-table messages
2020-11-13BUG/MINOR: peers: Missing TX cache entries reset.
2020-11-13BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries.
2020-11-12BUG/MEDIUM: stats: prevent crash if counters not alloc with dummy one
2020-11-12BUG/MINOR: stats: free dynamically stats fields/lines on shutdown
2020-11-11BUG/MINOR: lua: set buffer size during map lookups
2020-11-11BUG/MINOR: pattern: a sample marked as const could be written
2020-11-06BUG/MEDIUM: ssl/crt-list: correctly insert crt-list line if crt already loaded
2020-11-05BUG/MINOR: ssl: don't report 1024 bits DH param load error when it's higher
2020-11-05BUG/MEDIUM: server: make it possible to kill last idle connections
2020-11-04BUG/MEDIUM: listener: make the master also keep workers' inherited FDs
2020-11-04BUG/MEDIUM: listener: never suspend inherited sockets
2020-11-04BUG/MEDIUM: listener: only enable a listening listener if needed
2020-11-03BUG/MEDIUM: stick-table: limit the time spent purging old entries
2020-11-03BUG/MINOR: filters: Skip disabled proxies during startup only
2020-11-03BUG/MEDIUM: mux-pt: Release the tasklet during an HTTP upgrade
2020-11-03BUG/MINOR: server: Set server without addr but with dns in RMAINT on startup
2020-11-03BUG/MINOR: checks: Report a socket error before any connection attempt
2020-11-03BUG/MINOR: proxy/server: Skip per-proxy/server post-check for disabled proxies
2020-11-03BUG/MEDIUM: filters: Don't try to init filters for disabled proxies
2020-10-30BUG/MINOR: cache: Inverted variables in http_calc_maxage function
2020-10-30BUG/MINOR: cache: Manage multiple values in cache-control header value
2020-10-29BUG/MINOR: lua: initialize sample before using it
2020-10-29BUG/MINOR: server: fix down_time report for stats
2020-10-29BUG/MINOR: server: fix srv downtime calcul on starting
2020-10-27BUG/MINOR: cache: Check the return value of http_replace_res_status
2020-10-27BUG/MINOR: log: fix risk of null deref on error path
2020-10-27BUG/MINOR: log: fix memory leak on logsrv parse error
2020-10-27BUG/MEDIUM: ssl: OCSP must work with BoringSSL
2020-10-24BUG/MINOR: extcheck: add missing checks on extchk_setenv()
2020-10-24BUG/MEDIUM: queue: fix unsafe proxy pointer when counting nbpend
2020-10-22BUG/MAJOR: mux-h2: Don't try to send data if we know it is no longer possible
2020-10-22BUG/MINOR: http-ana: Don't send payload for internal responses to HEAD requests
2020-10-22BUG/MEDIUM: server: support changing the slowstart value from state-file
2020-10-21BUG/MINOR: queue: properly report redistributed connections
2020-10-20BUG/MINOR: listener: close before free in `listener_accept`
2020-10-19BUG/MEDIUM: connection: Never cleanup server lists when freeing private conns
2020-10-19BUG/MINOR: disable dynamic OCSP load with BoringSSL
2020-10-17BUG/MEDIUM: lb: Always lock the server when calling server_{take,drop}_conn
2020-10-16BUG/MEDIUM: mux-h1: Get the session from the H1S when capturing bad messages
2020-10-16BUG/MEDIUM: spoe: Unset variable instead of set it if no data provided
2020-10-16BUG/MINOR: peers: Possible unexpected peer seesion reset after collisions.
2020-10-16BUG/MEDIUM: task: bound the number of tasks picked from the wait queue at once
2020-10-16BUG/MEDIUM: proxy: properly stop backends
2020-10-15BUG/MEDIUM: connection: fix srv idle count on conn takeover
2020-10-15BUG/MINOR: connection: fix loop iter on connection takeover
2020-10-14BUG/MEDIUM: deinit: check fdtab before fdtab[fd].owner
2020-10-13BUG/MINOR: listener: detect and handle shared sockets stopped in other processes
2020-10-13BUG/MINOR: mux-h2: do not stop outgoing connections on stopping
2020-10-13BUG/MINOR: init: only keep rlim_fd_cur if max is unlimited
2020-10-09BUG/MINOR: proxy: respect the proper format string in sig_pause/sig_listen
2020-10-09MINOR: listener: add a few BUG_ON() statements to detect inconsistencies
2020-10-09BUG/MEDIUM: listeners: correctly report pause() errors
2020-10-09BUG/MINOR: http-htx: Expect no body for 204/304 internal HTTP responses
2020-10-09BUG/MINOR: http: Fix content-length of the default 500 error
2020-10-09BUG/MEDIUM: mux-h2: Don't handle pending read0 too early on streams
2020-10-09BUG/MEDIUM: mux-fcgi: Don't handle pending read0 too early on streams
2020-10-09CI: travis-ci: help Coverity to detect BUG_ON() as a real stop
2020-10-09BUG/MINOR: makefile: fix a tiny typo in the target list
2020-10-08BUG/MINOR: proxy/log: frontend/backend and log forward names must differ
2020-10-07BUG/MEDIUM: log: old processes with log foward section don't die on soft stop.
2020-10-07BUG/MINOR: proxy: inc req counter on new syslog messages.
2020-10-07BUG/MINOR: mux-h1: Always set the session on frontend h1 stream
2020-10-07BUG/MINOR: mux-h1: Be sure to only set CO_RFL_READ_ONCE for the first read
2020-10-07BUG/MINOR: proto_tcp: Report warning messages when listeners are bound
2020-10-07BUG/MINOR: peers: Inconsistency when dumping peer status codes.
2020-10-05BUG/MINOR: stats: fix validity of the json schema
2020-10-02BUG/MEDIUM: queue: make pendconn_cond_unlink() really thread-safe
2020-10-02BUG/MINOR: tcpcheck: Set socks4 and send-proxy flags before the connect call
2020-10-02BUG/MINOR: Fix several leaks of 'log_tag' in init().
2020-09-28BUG/MINOR: ssl/crt-list: exit on warning out of crtlist_parse_line()
2020-09-25BUG/MINOR: listeners: properly close listener FDs
2020-09-25BUG/MEDIUM: listeners: do not pause foreign listeners
2020-09-18BUG/MINOR: config: Fix memory leak on config parse listen
2020-09-18BUG/MINOR: Fix memory leaks cfg_parse_peers
2020-09-18BUG/MINOR: http-fetch: Don't set the sample type during the htx prefetch
2020-09-18BUG/MEDIUM: h2: report frame bits only for handled types
2020-09-18BUG/MINOR: h2/trace: do not display "stream error" after a frame ACK
2020-09-16BUG/MINOR: dns: gracefully handle the "udp@" address format for nameservers
2020-09-16BUG/MINOR: log: gracefully handle the "udp@" address format for log servers
2020-09-16BUG/MEDIUM: log-forward: always quit on parsing errors
2020-09-16BUG/MINOR: log-forward: fail on unknown keywords
2020-09-16BUG/MINOR: ssl/crt-list: crt-list could end without a \n
2020-09-15BUG/MEDIUM: ssl: Don't call ssl_sock_io_cb() directly.
2020-09-15BUG/MINOR: server: report correct error message for invalid port on "socks4"
2020-09-14BUG/MINOR: ssl: verifyhost is case sensitive
2020-09-12BUG/MINOR: Fix type passed of sizeof() for calloc()

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