HAProxy known bugs for maintenance branch 1.6

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

Quick links

Versions available in this branch

This branch contains the following releases :

DateVersionComment
2018-01-021.6.14 ⇐ last
2017-06-181.6.13 
2017-04-041.6.12 
2016-12-251.6.11 
2016-11-201.6.10 
2016-08-301.6.9 
2016-08-141.6.8 
2016-07-131.6.7 
2016-06-261.6.6 
2016-05-101.6.5 
2016-03-141.6.4 
2015-12-271.6.3 
2015-11-031.6.2 
2015-10-201.6.1 
2015-10-131.6.0 

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

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 :

TotalCRITICALMAJORMEDIUMMINOR
0 0 0 0 0

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

Merge dateSubject - Severity (minor, medium, major, critical)

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
2018-07-01BUG/MEDIUM: lua: possible CLOSE-WAIT state with '\n' headers
2018-06-26BUG/MAJOR: stick_table: Complete incomplete SEGV fix
2018-06-26BUG/BUILD: threads: unbreak build without threads
2018-06-26BUG/MAJOR: Stick-tables crash with segfault when the key is not in the stick-table
2018-06-22BUG/MEDIUM: threads: Use the sync point to check active jobs and exit
2018-06-20BUG/MEDIUM: fd: Don't modify the update_mask in fd_dodelete().
2018-06-18BUG/MEDIUM: ssl: do not store pkinfo with SSL_set_ex_data
2018-06-18BUG/MAJOR: ssl: OpenSSL context is stored in non-reserved memory slot
2018-06-18BUG/MAJOR: ssl: Random crash with cipherlist capture
2018-06-18BUG/MINOR: lua: Segfaults with wrong usage of types.
2018-06-14BUG/MINOR: tasklets: Just make sure we don't pass a tasklet to the handler.
2018-06-11BUG/MAJOR: map: fix a segfault when using http-request set-map
2018-06-08BUG/MINOR: signals: ha_sigmask macro for multithreading
2018-06-08BUG/MINOR: don't ignore SIG{BUS,FPE,ILL,SEGV} during signal processing
2018-06-08BUG/MEDIUM: threads: handle signal queue only in thread 0
2018-06-07BUG/MINOR: unix: Make sure we can transfer abns sockets on seamless reload.
2018-06-06BUG/MEDIUM: tasks: Use the local runqueue when building without threads.
2018-06-04BUG/MINOR: contrib/modsecurity: update pointer on the end of the frame
2018-06-04BUG/MINOR: contrib/mod_defender: update pointer on the end of the frame
2018-06-04BUG/MINOR: contrib/modsecurity: Don't reset the status code during disconnect
2018-06-04BUG/MINOR: contrib/mod_defender: Don't reset the status code during disconnect
2018-06-04BUG/MINOR: contrib/spoa_example: Don't reset the status code during disconnect
2018-05-31BUG/MEDIUM: lua/socket: Buffer error, may segfault
2018-05-31BUG/MEDIUM: lua/socket: Sheduling error on write: may dead-lock
2018-05-31BUG/MEDIUM: lua/socket: Notification error
2018-05-31BUG/MAJOR: lua: Dead lock with sockets
2018-05-31BUG/MEDIUM: lua/socket: wrong scheduling for sockets
2018-05-30BUG/MEDIUM: spoe: Return an error when the wrong ACK is received in sync mode
2018-05-28BUG/MEDIUM: task: Don't forget to decrement max_processed after each task.
2018-05-28BUG/MEDIUM: tasks: Don't forget to increase/decrease tasks_run_queue.
2018-05-28BUG/MEDIUM: stick-tables: Decrement ref_cnt in table_* converters
2018-05-26BUG/MEDIUM: lua/socket: Length required read doesn't work
2018-05-24BUG/MEDIUM: servers: Add srv_addr default placeholder to the state file
2018-05-23BUG/BUILD: threads: unbreak build without threads
2018-05-23BUG/MEDIUM: dns: Delay the attempt to run a DNS resolution on check failure.
2018-05-23BUG/MEDIUM: cache: don't cache when an Authorization header is present
2018-05-18BUG/MINOR: ssl/lua: prevent lua from affecting automatic maxconn computation
2018-05-18BUG/MEDIUM: contrib/modsecurity: Use network order to encode/decode flags
2018-05-18BUG/MEDIUM: contrib/mod_defender: Use network order to encode/decode flags
2018-05-18BUG/MEDIUM: spoe: Flags are not encoded in network order
2018-05-18BUG/MINOR: spoe: Mistake in error message about SPOE configuration
2018-05-18BUG/MINOR: lua: Socket.send threw runtime error: 'close' needs 1 arguments.
2018-05-17BUG/MEDIUM: ssl: properly protect SSL cert generation
2018-05-16BUG/MEDIUM: http: don't always abort transfers on CF_SHUTR
2018-05-15BUG/MINOR: cli: don't stop cli_gen_usage_msg() when kw->usage == NULL
2018-05-11BUG/MEDIUM: pollers/kqueue: use incremented position in event list
2018-05-06BUG/MINOR: lua: ensure large proxy IDs can be represented
2018-05-06BUG/MINOR: lua: schedule socket task upon lua connect()
2018-05-06BUG/MEDIUM: pollers: Use a global list for fd shared between threads.
2018-05-04BUG/MEDIUM: task: Don't free a task that is about to be run.
2018-05-04BUG/MINOR: map: correctly track reference to the last ref_elt being dumped
2018-05-03BUG/MINOR, BUG/MINOR: lua: Put tasks to sleep when waiting for data
2018-05-02BUG/MEDIUM: threads: Fix the sync point for more than 32 threads
2018-05-02BUG/MINOR: checks: Fix check->health computation for flapping servers
2018-04-28BUG/MINOR: config: disable http-reuse on TCP proxies
2018-04-26BUG/MINOR: lua/threads: Make lua's tasks sticky to the current thread
2018-04-26BUG/MINOR: spoe: Fix parsing of dontlog-normal option
2018-04-26BUG/MINOR: spoe: Fix counters update when processing is interrupted
2018-04-26BUG/MEDIUM: h2: implement missing support for chunked encoded uploads
2018-04-25BUG/MEDIUM: lua: Fix segmentation fault if a Lua task exits
2018-04-25BUG/MINOR: log: t_idle (%Ti) is not set for some requests
2018-04-25BUG/MAJOR: channel: Fix crash when trying to read from a closed socket
2018-04-19BUG/MINOR: pattern: Add a missing HA_SPIN_INIT() in pat_ref_newid()
2018-04-19BUG/CRITICAL: h2: fix incorrect frame length check
2018-04-17BUG/MEDIUM: kqueue: When adding new events, provide an output to get errors.
2018-04-16BUG/MINOR: cli: Guard against NULL messages when using CLI_ST_PRINT_FREE
2018-04-16BUG/MINOR: http: Return an error in proxy mode when url2sa fails
2018-04-13BUG/MEDIUM: connection: Make sure we have a mux before calling detach().
2018-04-10BUG/MEDIUM: threads: Fix the max/min calculation because of name clashes
2018-04-06BUG/MAJOR: cache: always initialize newly created objects
2018-04-05BUG/MINOR: spoe: Don't forget to decrement fpa when a processing is interrupted
2018-04-05BUG/MINOR: spoe: Register the variable to set when an error occurred
2018-04-05BUG/MINOR: spoe: Don't release the context buffer in .check_timeouts callbaclk
2018-04-05BUG/MINOR: spoe: Initialize variables used during conf parsing before any check
2018-04-04BUG/MAJOR: cache: fix random crashes caused by incorrect delete() on non-first blocks
2018-04-04BUG/MINOR: cache: fix "show cache" output
2018-04-04BUG/MINOR: email-alert: Set the mailer port during alert initialization
2018-04-03BUG/MINOR: fd: Don't clear the update_mask in fd_insert.
2018-04-03BUG/MINOR: checks: check the conn_stream's readiness and not the connection
2018-03-30BUG/MEDIUM: h2: always add a stream to the send or fctl list when blocked
2018-03-30BUG/MINOR: h2: remove accidental debug code introduced with show_fd function
2018-03-29BUG/MEDIUM: h2: don't consider pending data on detach if connection is in error
2018-03-29BUG/MEDIUM: h2/threads: never release the task outside of the task handler
2018-03-29BUG/MAJOR: h2: remove orphaned streams from the send list before closing
2018-03-27BUG/MINOR: hpack: fix harmless use of uninitialized value in hpack_dht_insert
2018-03-26BUG/MINOR: lua funtion hlua_socket_settimeout don't check negative values
2018-03-26BUG/MINOR: lua: the function returns anything
2018-03-23BUG/MINOR: listener: Don't decrease actconn twice when a new session is rejected
2018-03-22BUG/MINOR: h2: ensure we can never send an RST_STREAM in response to an RST_STREAM
2018-03-22BUG/MEDIUM: h2: properly account for DATA padding in flow control
2018-03-20BUG/MEDIUM: fd/threads: ensure the fdcache_mask always reflects the cache contents
2018-03-20BUILD/BUG: enable -fno-strict-overflow by default
2018-03-19BUG/MEDIUM: threads/queue: wake up other threads upon dequeue
2018-03-19BUG/MINOR: tcp-check: use the server's service port as a fallback
2018-03-19BUG/MEDIUM: tcp-check: single connect rule can't detect DOWN servers
2018-03-19BUG/MINOR: lua: return bad error messages
2018-03-19BUG/MINOR: spoa-example: unexpected behavior for more than 127 args
2018-03-19BUG/MINOR: cli: Fix a crash when sending a command with too many arguments
2018-03-19BUG/MINOR: cli: Ensure all command outputs end with a LF
2018-03-19BUG/MINOR: seemless reload: Fix crash when an interface is specified.
2018-03-19BUG/MINOR: dns: don't downgrade DNS accepted payload size automatically
2018-03-19BUG/MAJOR: threads/queue: Fix thread-safety issues on the queues management
2018-03-16BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily disabled
2018-03-12BUG/MINOR: force-persist and ignore-persist only apply to backends
2018-03-12BUG/MEDIUM: fix a 100% cpu usage with cpu-map and nbthread/nbproc
2018-03-12BUG/MINOR: cli: Fix a typo in the 'set rate-limit' usage
2018-03-12BUG/MINOR: cli: Fix a crash when passing a negative or too large value to "show fd"
2018-03-08BUG/MEDIUM: h2: also arm the h2 timeout when sending
2018-03-08BUG/MINOR: unix: Don't mess up when removing the socket from the xfer_sock_list.
2018-03-06BUG/MINOR: session: Fix tcp-request session failure if handshake.
2018-03-01Revert "BUG/MINOR: send-proxy-v2: string size must include ('\0')"
2018-02-28BUG/MEDIUM: spoe: Remove idle applets from idle list when HAProxy is stopping
2018-02-27BUG/MEDIUM: buffer: Fix the wrapping case in bi_putblk
2018-02-27BUG/MEDIUM: buffer: Fix the wrapping case in bo_putblk
2018-02-27BUG/MEDIUM: h2: always consume any trailing data after end of output buffers
2018-02-26BUG/MINOR: h2: Set the target of dbuf_wait to h2c
2018-02-22MINOR: debug/pools: make DEBUG_UAF also detect underflows
2018-02-22BUG/MINOR: debug/pools: properly handle out-of-memory when building with DEBUG_UAF
2018-02-22BUG/MINOR: pools/threads: don't ignore DEBUG_UAF on double-word CAS capable archs
2018-02-19BUG/MEDIUM: ssl/sample: ssl_bc_* fetch keywords are broken.
2018-02-19BUG/MEDIUM: http: Switch the HTTP response in tunnel mode as earlier as possible
2018-02-19BUG/MEDIUM: ssl: Shutdown the connection for reading on SSL_ERROR_SYSCALL
2018-02-19BUG/MINOR: ssl/threads: Make management of the TLS ticket keys files thread-safe
2018-02-19BUG/MINOR: init: Add missing brackets in the code parsing -sf/-st
2018-02-14BUG/MEDIUM: ssl: Don't always treat SSL_ERROR_SYSCALL as unrecovarable.
2018-02-14BUG/MEDIUM: threads: fix the double CAS implementation for ARMv7
2018-02-08BUG/MINOR: fd/threads: properly lock the FD before adding it to the fd cache.
2018-02-08BUG/MINOR: config: don't emit a warning when global stats is incompletely configured
2018-02-05BUG/MEDIUM: standard: Fix memory leak in str2ip2()
2018-02-05BUG/MINOR: time/threads: ensure the adjusted time is always correct
2018-02-05BUG/MINOR: fd/threads: properly dereference fdcache as volatile
2018-02-02BUG/MEDIUM: spoe: Allow producer to read and to forward shutdown on request side
2018-02-02BUG/MEDIUM: spoe: Always try to receive or send the frame to detect shutdowns
2018-01-31BUG/MINOR: epoll/threads: only call epoll_ctl(DEL) on polled FDs
2018-01-30BUG/MINOR: threads: Update labels array because of changes in lock_label enum
2018-01-29BUG/MINOR: cli: use global.maxsock and not maxfd to list all FDs
2018-01-25BUG/MINOR: sample: Fix output type of c_ipv62ip
2018-01-25BUG/MINOR: kqueue/threads: Don't forget to close kqueue_fd[tid] on each thread
2018-01-25BUG/MEDIUM: checks: Don't try to release undefined conn_stream when a check is freed
2018-01-25BUG/MEDIUM: threads/server: Fix deadlock in srv_set_stopping/srv_set_admin_flag
2018-01-25BUG/MINOR: threads: always set an owner to the thread_sync pipe
2018-01-23BUG/MINOR: mworker: only write to pidfile if it exists
2018-01-23BUG/MEDIUM: threads/mworker: fix a race on startup
2018-01-23BUG/MEDIUM: kqueue/threads: use one kqueue_fd per thread
2018-01-23BUG/MEDIUM: epoll/threads: use one epoll_fd per thread
2018-01-23BUG/MEDIUM: fd: maintain a per-thread update mask
2018-01-23BUG/MEDIUM: threads/polling: Use fd_cache_mask instead of fd_cache_num
2018-01-22BUG/MEDIUM: peers: fix expire date wasn't updated if entry is modified remotely.
2018-01-17BUG/MINOR: poll: too large size allocation for FD events
2018-01-12BUG/MEDIUM: stream: properly handle client aborts during redispatch
2018-01-09BUG/MEDIUM: mworker: execvp failure depending on argv[0]
2018-01-09BUG/MINOR: lua: Fix return value of Socket.settimeout
2018-01-09BUG/MEDIUM: lua: Fix IPv6 with separate port support for Socket.connect
2018-01-09BUG/MINOR: lua: Fix default value for pattern in Socket.receive
2018-01-05BUG/MEDIUM: ssl: cache doesn't release shctx blocks
2018-01-04BUG/MEDIUM: h2: properly handle the END_STREAM flag on empty DATA frames

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