HAProxy known bugs for version v1.8.1 (maintenance branch 1.8)

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

Quick links

Other versions in the same branch

This branch contains the following releases :

DateVersionComment
2018-09-201.8.14 ⇐ last
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 ⇐ yours
2017-11-261.8.0 

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

These fixes have already been queued for a more recent 1.8 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
236 2 17 126 91

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

Merge dateSubject - Severity (minor, medium, major, critical)
2018-10-08BUG/MEDIUM: buffers: Make sure we don't wrap in buffer_insert_line2/replace2.
2018-10-08BUG/MINOR: backend: check that the mux installed properly
2018-10-08BUG/MINOR: connection: avoid null pointer dereference in send-proxy-v2
2018-09-20BUG/CRITICAL: hpack: fix improper sign check on the header index value
2018-09-20BUG/MINOR: cli: make sure the "getsock" command is only called on connections
2018-09-20BUG/MINOR: tools: fix set_net_port() / set_host_port() on IPv4
2018-09-19BUG/MEDIUM: patterns: fix possible double free when reloading a pattern list
2018-09-19BUG/MINOR: server: Crash when setting FQDN via CLI.
2018-09-19BUG/MAJOR: kqueue: Don't reset the changes number by accident.
2018-09-19BUG/MEDIUM: snapshot: take the proxy's lock while dumping errors
2018-09-19BUG/MINOR: http/threads: atomically increment the error snapshot ID
2018-09-19BUG/MINOR: dns: check and link servers' resolvers right after config parsing
2018-09-19BUG/MEDIUM: h2: fix risk of memory leak on malformated wrapped frames
2018-09-19BUG/MEDIUM: session: fix reporting of handshake processing time in the logs
2018-09-19BUG/MINOR: stream: use atomic increments for the request counter
2018-09-19BUG/MEDIUM: ECC cert should work with TLS < v1.2 and openssl >= 1.1.1
2018-09-19BUG/MEDIUM: dns/server: fix incomatibility between SRV resolution and server state file
2018-09-19BUG/MEDIUM: hlua: Don't call RESET_SAFE_LJMP if SET_SAFE_LJMP returns 0.
2018-09-19BUG/MAJOR: thread: lua: Wrong SSL context initialization.
2018-09-19BUG/MEDIUM: hlua: Make sure we drain the output buffer when done.
2018-09-19BUG/MEDIUM: lua: reset lua transaction between http requests
2018-08-24BUG/MEDIUM: mux_pt: dereference the connection with care in mux_pt_wake()
2018-08-24BUG/MINOR: lua: Bad HTTP client request duration.
2018-08-24BUG/MEDIUM: unix: provide a ->drain() function
2018-08-24BUG/MEDIUM: cli/threads: protect some server commands against concurrent operations
2018-08-24BUG/MEDIUM: cli/threads: protect all "proxy" commands against concurrent updates
2018-08-24BUG/MEDIUM: lua: socket timeouts are not applied
2018-08-24BUG/MINOR: map: fix map_regm with backref
2018-08-24BUG/MEDIUM: ssl: loading dh param from certifile causes unpredictable error.
2018-08-24BUG/MEDIUM: ssl: fix missing error loading a keytype cert from a bundle.
2018-08-24BUG/MINOR: ssl: empty connections reported as errors.
2018-08-24BUG/MEDIUM: cli: make "show fd" thread-safe
2018-08-24BUG/MEDIUM: threads: fix the no-thread case after the change to the sync point
2018-08-24BUG/MEDIUM: threads: fix the double CAS implementation for ARMv7
2018-08-22BUG/MEDIUM: lua: possible CLOSE-WAIT state with '\n' headers
2018-08-07BUG/MEDIUM: queue: prevent a backup server from draining the proxy's connections
2018-08-07BUG/MEDIUM: servers: check the queues once enabling a server
2018-07-30BUG/MEDIUM: threads: unbreak "bind" referencing an incorrect thread number
2018-07-30BUG/MEDIUM: threads: properly fix nbthreads == MAX_THREADS
2018-07-27BUG/MINOR: threads: Handle nbthread == MAX_THREADS.
2018-07-27BUG/MINOR: config: stick-table is not supported in defaults section
2018-07-27BUG/MEDIUM: h2: prevent orphaned streams from blocking a connection forever
2018-07-27BUG/MEDIUM: threads/sync: use sched_yield when available
2018-07-24BUG/MINOR: servers: Don't make "server" in a frontend fatal.
2018-07-24BUG/MEDIUM: stats: don't ask for more data as long as we're responding
2018-07-24BUG/MEDIUM: stream-int: don't immediately enable reading when the buffer was reportedly full
2018-07-20BUG/MEDIUM: threads: Fix the exit condition of the thread barrier
2018-07-20BUG/MINOR: http: Set brackets for the unlikely macro at the right place
2018-07-19BUG/MEDIUM: h2: make sure the last stream closes the connection after a timeout
2018-07-19BUG/MEDIUM: h2: never leave pending data in the output buffer on close
2018-07-19BUG/MEDIUM: h2: don't accept new streams if conn_streams are still in excess
2018-07-19BUG/MINOR: h2: remove accidental debug code introduced with show_fd function
2018-07-19BUG/MINOR: ssl: properly ref-count the tls_keys entries
2018-06-27BUG/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-20BUG/MAJOR: ssl: OpenSSL context is stored in non-reserved memory slot
2018-06-20BUG/MAJOR: ssl: Random crash with cipherlist capture
2018-06-20BUG/MINOR: lua: Segfaults with wrong usage of types.
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-08BUG/MINOR: unix: Make sure we can transfer abns sockets on seamless reload.
2018-06-06BUG/MINOR: contrib/modsecurity: update pointer on the end of the frame
2018-06-06BUG/MINOR: contrib/mod_defender: update pointer on the end of the frame
2018-06-06BUG/MINOR: contrib/modsecurity: Don't reset the status code during disconnect
2018-06-06BUG/MINOR: contrib/mod_defender: Don't reset the status code during disconnect
2018-06-06BUG/MINOR: contrib/spoa_example: Don't reset the status code during disconnect
2018-06-06BUG/MEDIUM: lua/socket: Buffer error, may segfault
2018-06-06BUG/MEDIUM: lua/socket: Sheduling error on write: may dead-lock
2018-06-06BUG/MEDIUM: lua/socket: Notification error
2018-06-06BUG/MAJOR: lua: Dead lock with sockets
2018-06-06BUG/MEDIUM: lua/socket: wrong scheduling for sockets
2018-06-06BUG/MEDIUM: spoe: Return an error when the wrong ACK is received in sync mode
2018-06-06BUG/MEDIUM: stick-tables: Decrement ref_cnt in table_* converters
2018-06-06BUG/MEDIUM: lua/socket: Length required read doesn't work
2018-06-06BUG/MEDIUM: servers: Add srv_addr default placeholder to the state file
2018-05-29BUG/MEDIUM: fd: Only check update_mask against all_threads_mask.
2018-05-23BUG/BUILD: fd: fix typo causing a warning when threads are disabled
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-23BUG/MINOR: ssl/lua: prevent lua from affecting automatic maxconn computation
2018-05-23BUG/MEDIUM: contrib/modsecurity: Use network order to encode/decode flags
2018-05-23BUG/MEDIUM: contrib/mod_defender: Use network order to encode/decode flags
2018-05-23BUG/MEDIUM: spoe: Flags are not encoded in network order
2018-05-23BUG/MINOR: lua: Socket.send threw runtime error: 'close' needs 1 arguments.
2018-05-18BUG/MINOR: spoe: Mistake in error message about SPOE configuration
2018-05-18BUG/MEDIUM: ssl: properly protect SSL cert generation
2018-05-18BUG/MEDIUM: pollers: Use a global list for fd shared between threads.
2018-05-16BUG/MEDIUM: http: don't always abort transfers on CF_SHUTR
2018-05-16BUG/MINOR: lua: ensure large proxy IDs can be represented
2018-05-06BUG/MINOR: lua: schedule socket task upon lua connect()
2018-05-06BUG/MEDIUM: task: Don't free a task that is about to be run.
2018-05-06BUG/MINOR: map: correctly track reference to the last ref_elt being dumped
2018-05-06BUG/MINOR: lua: Put tasks to sleep when waiting for data
2018-05-06BUG/MEDIUM: threads: Fix the sync point for more than 32 threads
2018-05-06BUG/MINOR: checks: Fix check->health computation for flapping servers
2018-04-30BUG/MINOR: config: disable http-reuse on TCP proxies
2018-04-27BUG/MINOR: lua/threads: Make lua's tasks sticky to the current thread
2018-04-26BUG/MEDIUM: h2: implement missing support for chunked encoded uploads
2018-04-26BUG/MEDIUM: lua: Fix segmentation fault if a Lua task exits
2018-04-26BUG/MINOR: log: t_idle (%Ti) is not set for some requests
2018-04-26BUG/MAJOR: channel: Fix crash when trying to read from a closed socket
2018-04-26BUG/MINOR: pattern: Add a missing HA_SPIN_INIT() in pat_ref_newid()
2018-04-19BUG/CRITICAL: h2: fix incorrect frame length check
2018-04-19BUG/MINOR: cli: Guard against NULL messages when using CLI_ST_PRINT_FREE
2018-04-19BUG/MEDIUM: kqueue: When adding new events, provide an output to get errors.
2018-04-19BUG/MINOR: http: Return an error in proxy mode when url2sa fails
2018-04-19BUG/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 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: fd: Don't clear the update_mask in fd_insert.
2018-04-04BUG/MINOR: cache: fix "show cache" output
2018-04-04BUG/MINOR: email-alert: Set the mailer port during alert initialization
2018-04-04BUG/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-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-29BUG/MINOR: hpack: fix harmless use of uninitialized value in hpack_dht_insert
2018-03-29BUG/MINOR: lua funtion hlua_socket_settimeout don't check negative values
2018-03-29BUG/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-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: 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-19BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily disabled
2018-03-13BUG/MEDIUM: spoe: Remove idle applets from idle list when HAProxy is stopping
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-12BUG/MEDIUM: h2: also arm the h2 timeout when sending
2018-03-12BUG/MINOR: unix: Don't mess up when removing the socket from the xfer_sock_list.
2018-03-12BUG/MINOR: session: Fix tcp-request session failure if handshake.
2018-03-12Revert "BUG/MINOR: send-proxy-v2: string size must include ('\0')"
2018-03-12BUG/MEDIUM: buffer: Fix the wrapping case in bi_putblk
2018-03-12BUG/MEDIUM: buffer: Fix the wrapping case in bo_putblk
2018-03-12BUG/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-20BUG/MEDIUM: ssl/sample: ssl_bc_* fetch keywords are broken.
2018-02-20BUG/MEDIUM: http: Switch the HTTP response in tunnel mode as earlier as possible
2018-02-20BUG/MINOR: ssl/threads: Make management of the TLS ticket keys files thread-safe
2018-02-20BUG/MINOR: init: Add missing brackets in the code parsing -sf/-st
2018-02-20BUG/MEDIUM: ssl: Shutdown the connection for reading on SSL_ERROR_SYSCALL
2018-02-20BUG/MEDIUM: ssl: Don't always treat SSL_ERROR_SYSCALL as unrecovarable.
2018-02-19BUG/MINOR: threads: fix missing thread lock labels for 1.8
2018-02-08BUG/MINOR: config: don't emit a warning when global stats is incompletely configured
2018-02-08BUG/MEDIUM: standard: Fix memory leak in str2ip2()
2018-02-08BUG/MINOR: time/threads: ensure the adjusted time is always correct
2018-02-08BUG/MEDIUM: spoe: Allow producer to read and to forward shutdown on request side
2018-02-08BUG/MEDIUM: spoe: Always try to receive or send the frame to detect shutdowns
2018-02-08BUG/MINOR: epoll/threads: only call epoll_ctl(DEL) on polled FDs
2018-02-08BUG/MINOR: threads: Update labels array because of changes in lock_label enum
2018-02-08BUG/MINOR: cli: use global.maxsock and not maxfd to list all FDs
2018-02-08BUG/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-23BUG/MEDIUM: peers: fix expire date wasn't updated if entry is modified remotely.
2018-01-21BUG/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-09BUG/MEDIUM: ssl: cache doesn't release shctx blocks
2018-01-04BUG/MEDIUM: h2: properly handle the END_STREAM flag on empty DATA frames
2017-12-30BUG/MAJOR: hpack: don't return direct references to the dynamic headers table
2017-12-29BUG/MEDIUM: http: don't automatically forward request close
2017-12-29BUG/MEDIUM: mworker: don't close stdio several time
2017-12-29BUG/MEDIUM: h2: ensure we always know the stream before sending a reset
2017-12-27BUG/MEDIUM: h2: improve handling of frames received on closed streams
2017-12-27BUG/MEDIUM: h2: properly handle and report some stream errors
2017-12-23BUG/MEDIUM: checks: properly set servers to stopping state on 404
2017-12-22BUG/MAJOR: connection: refine the situations where we don't send shutw()
2017-12-22BUG/MEDIUM: cache: don't cache the response on no-cache="set-cookie"
2017-12-22BUG/MEDIUM: cache: respect the request cache-control header
2017-12-22BUG/MEDIUM: cache: replace old object on store
2017-12-22BUG/MEDIUM: cache: do not try to retrieve host-less requests from the cache
2017-12-22BUG/MINOR: cache: do not force the TX_CACHEABLE flag before checking cacheability
2017-12-22BUG/MINOR: http: properly detect max-age=0 and s-maxage=0 in responses
2017-12-22BUG/MINOR: http: do not ignore cache-control: public
2017-12-22BUG/MEDIUM: lua: fix crash when using bogus mode in register_service()
2017-12-21BUG/MEDIUM: checks: a server passed in maint state was not forced down.
2017-12-21BUG/MEDIUM: stream: don't consider abortonclose on muxes which close cleanly
2017-12-21BUG/MINOR: h2: properly report a stream error on RST_STREAM
2017-12-21BUG/MAJOR: netscaler: address truncated CIP header detection
2017-12-21BUG/MEDIUM: netscaler: use the appropriate IPv6 header size
2017-12-21BUG/MEDIUM: mworker: Set FD_CLOEXEC flag on log fd
2017-12-14BUG: MINOR: http: don't check http-request capture id when len is provided
2017-12-14BUG: MAJOR: lb_map: server map calculation broken
2017-12-14BUG/MINOR: stream-int: don't try to receive again after receiving an EOS
2017-12-14BUG/MEDIUM: h2: fix stream limit enforcement
2017-12-14BUG/MEDIUM: http: don't disable lingering on requests with tunnelled responses
2017-12-14BUG/MEDIUM: h2: don't close after the first DATA frame on tunnelled responses
2017-12-14BUG/MEDIUM: h2: don't switch the state to HREM before end of DATA frame
2017-12-14BUG/MEDIUM: h2: support uploading partial DATA frames
2017-12-14BUG/MEDIUM: h2: debug incoming traffic in h2_wake()
2017-12-14BUG/MEDIUM: h2: work around a connection API limitation
2017-12-10BUG/MEDIUM: h2: enable recv polling whenever demuxing is possible
2017-12-10BUG/MEDIUM: h2: automatically set CS_FL_RCV_MORE when the output buffer is full
2017-12-10BUG/MEDIUM: stream-int: always set SI_FL_WAIT_ROOM on CS_FL_RCV_MORE
2017-12-10BUG/MEDIUM: lua/notification: memory leak
2017-12-08BUG/MEDIUM: threads/vars: Fix deadlock in register_name
2017-12-08BUG/MEDIUM: email-alert: don't set server check status from a email-alert task
2017-12-07BUG/MEDIUM: h2: fix handling of end of stream again
2017-12-06BUG/MEDIUM: peers: set NOLINGER on the outgoing stream interface
2017-12-06BUG/MEDIUM: checks: a down server going to maint remains definitely stucked on down state.
2017-12-06BUG/MEDIUM: ssl engines: Fix async engines fds were not considered to fix fd limit automatically.
2017-12-06BUG/MEDIUM: mworker: also close peers sockets in the master
2017-12-04BUG/MINOR: ssl: support tune.ssl.cachesize 0 again
2017-12-04BUG/MAJOR: hpack: don't pretend large headers fit in empty table
2017-12-04BUG/MINOR: action: Don't check http capture rules when no id is defined

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