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

This version (1.8.0) is a release belonging to maintenance branch 1.8 whose latest version is 1.8.12. 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-06-271.8.12 ⇐ last
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 ⇐ yours

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
215 1 18 105 91

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

Merge dateSubject - Severity (minor, medium, major, critical)
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
2017-12-03BUG/MINOR: h2: use the H2_F_DATA_* macros for DATA frames
2017-12-03BUG/MEDIUM: h2: do not accept upper case letters in request header names
2017-12-03BUG/MEDIUM: h2: remove connection-specific headers from request
2017-12-03BUG/MINOR: h2: reject response pseudo-headers from requests
2017-12-03BUG/MINOR: h2: properly check PRIORITY frames
2017-12-03BUG/MINOR: h2: reject incorrect stream dependencies on HEADERS frame
2017-12-03BUG/MINOR: h2: do not accept SETTINGS_ENABLE_PUSH other than 0 or 1
2017-12-03BUG/MEDIUM: h2: enforce the per-connection stream limit
2017-12-03BUG/MINOR: h2: the TE header if present may only contain trailers
2017-12-03BUG/MINOR: h2: fix a typo causing PING/ACK to be responded to
2017-12-03BUG/MINOR: h2: ":path" must not be empty
2017-12-03BUG/MINOR: h2: try to abort closed streams as soon as possible
2017-12-03BUG/MINOR: h2: immediately close if receiving GOAWAY after the last stream
2017-12-03BUG/MAJOR: h2: correctly check the request length when building an H1 request
2017-12-03BUG/MINOR: hpack: dynamic table size updates are only allowed before headers
2017-12-03BUG/MINOR: hpack: reject invalid header index
2017-12-03BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits
2017-12-03BUG/MINOR: hpack: fix debugging output of pseudo header names
2017-12-03BUG/MEDIUM: checks: Be sure we have a mux if we created a cs.
2017-12-03BUG/MAJOR: thread: Be sure to request a sync between threads only once at a time
2017-12-02BUG/MINOR: mworker: detach from tty when in daemon mode
2017-12-02BUG/MINOR: mworker: fix validity check for the pipe FDs
2017-12-01BUG/MAJOR: thread/peers: fix deadlock on peers sync.
2017-11-29BUG/MEDIUM: peers: fix some track counter rules dont register entries for sync.
2017-11-29BUG/MEDIUM: h2: don't report an error after parsing a 100-continue response
2017-11-29BUG/MEDIUM: threads/peers: decrement, not increment jobs on quitting
2017-11-29BUG/MINOR: ssl: CO_FL_EARLY_DATA removal is managed by stream
2017-11-29BUG/MEDIUM: stream: fix session leak on applet-initiated connections
2017-11-28BUG/MEDIUM: cache: bad computation of the remaining size
2017-11-28BUG/MEDIUM: ssl: don't allocate shctx several time
2017-11-28BUG/MEDIUM: tcp-check: Don't lock the server in tcpcheck_main
2017-11-26BUG/MEDIUM: kqueue: Don't bother closing the kqueue after fork.

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