Hi,

HAProxy 1.8.5 was released on 2018/03/23. It added 51 new commits
after version 1.8.4, about a third of which are moderate bug fixes.

The most important fix concerns the queue management when threads are
enabled. Till now, in case connections handled by different threads
would be handled by a same server where the maxconn limit is reached,
there were some non-thread safe operations during the dequeue, which
could cause freezes, memory corruption and crashes. This has been fixed.

A small number of other issues were related to threads, and a other ones
to HTTP/2. Half of the fixes are mostly annoyance of low importance and
affect older versions as well. I won't enumerate all areas as it's spread
all over the code.

Some known issues remain (we tried to address quite a number of them with
this release but delaying forever is not an option). One of them that I
want to work on is the fact that we don't use transfer-encoding for HTTP/2
requests that miss a content-length. It requires delicate changes to the
H2 code that will be much easy to do in 1.9 than in 1.8 so I'll have to
figure how to do them without breaking anything. Some other issues were
reported, like a strange memory corruption on HTTP/2, which makes no
sense from the code perspective unless it was a side effect of the
"dbuf_wait" bug. It looks slightly possible for it to indirectly cause
this effect but the conditions to join together are hard to figure. For
this reason, I'd really appreciate it if future reports are made on 1.8.5
only : previous ones suffer from a few known bugs making reports unreliable.

Overall despite these few remaining issues, we're getting much better.
This version should have been emitted earlier. We try to issue them as
often as possible but when you're focused on your code, time flies very
quickly. Do not hesitate to ping us when you're waiting for a release
(and thanks Olivier for the reminder).

So don't waste your time in front of TV on a possibly rainy week-end,
and have fun upgrading all your instances ;-)

Please find the usual URLs below :
   Site index       : http://www.haproxy.org/
   Discourse        : http://discourse.haproxy.org/
   Sources          : http://www.haproxy.org/download/1.8/src/
   Git repository   : http://git.haproxy.org/git/haproxy-1.8.git/
   Git Web browsing : http://git.haproxy.org/?p=haproxy-1.8.git
   Changelog        : http://www.haproxy.org/download/1.8/src/CHANGELOG
   Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/

Willy
---
Complete changelog :
Aurélien Nephtali (6):
      BUG/MINOR: init: Add missing brackets in the code parsing -sf/-st
      BUG/MINOR: cli: Fix a crash when passing a negative or too large value to 
"show fd"
      CLEANUP: ssl: Remove a duplicated #include
      CLEANUP: cli: Remove a leftover debug message
      BUG/MINOR: cli: Fix a typo in the 'set rate-limit' usage
      BUG/MINOR: cli: Fix a crash when sending a command with too many arguments

Baptiste Assmann (3):
      BUG/MINOR: dns: don't downgrade DNS accepted payload size automatically
      BUG/MEDIUM: tcp-check: single connect rule can't detect DOWN servers
      BUG/MINOR: tcp-check: use the server's service port as a fallback

Bernard Spil (1):
      BUILD: ssl: Fix build with OpenSSL without NPN capability

Christopher Faulet (12):
      BUG/MEDIUM: ssl: Shutdown the connection for reading on SSL_ERROR_SYSCALL
      BUG/MINOR: ssl/threads: Make management of the TLS ticket keys files 
thread-safe
      BUG/MEDIUM: http: Switch the HTTP response in tunnel mode as earlier as 
possible
      BUG/MINOR: h2: Set the target of dbuf_wait to h2c
      BUG/MEDIUM: buffer: Fix the wrapping case in bo_putblk
      BUG/MEDIUM: buffer: Fix the wrapping case in bi_putblk
      CLEANUP: .gitignore: Ignore binaries from the contrib directory
      BUG/MEDIUM: spoe: Remove idle applets from idle list when HAProxy is 
stopping
      BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily 
disabled
      BUG/MAJOR: threads/queue: Fix thread-safety issues on the queues 
management
      BUG/MEDIUM: threads/queue: wake up other threads upon dequeue
      BUG/MINOR: listener: Don't decrease actconn twice when a new session is 
rejected

Cyril Bonté (3):
      BUG/MEDIUM: fix a 100% cpu usage with cpu-map and nbthread/nbproc
      BUG/MINOR: force-persist and ignore-persist only apply to backends
      DOC: log: more than 2 log servers are allowed

Emeric Brun (2):
      BUG/MEDIUM: ssl/sample: ssl_bc_* fetch keywords are broken.
      BUG/MINOR: session: Fix tcp-request session failure if handshake.

Emmanuel Hocdet (1):
      Revert "BUG/MINOR: send-proxy-v2: string size must include ('\0')"

Lukas Tribus (1):
      DOC: don't suggest using http-server-close

Olivier Houchard (3):
      BUG/MEDIUM: ssl: Don't always treat SSL_ERROR_SYSCALL as unrecovarable.
      BUG/MINOR: unix: Don't mess up when removing the socket from the 
xfer_sock_list.
      BUG/MINOR: seemless reload: Fix crash when an interface is specified.

Thierry FOURNIER (3):
      DOC: lua: new prototype for function "register_action()"
      BUG/MINOR: spoa-example: unexpected behavior for more than 127 args
      BUG/MINOR: lua: return bad error messages

Thierry Fournier (1):
      MINOR/BUILD: fix Lua build on Mac OS X

Tim Duesterhus (4):
      DOC: cfgparse: Warn on option (tcp|http)log in backend
      MINOR: systemd: Add section for SystemD sandboxing to unit file
      MINOR: systemd: Add SystemD's Protect*= options to the unit file
      MINOR: systemd: Add SystemD's SystemCallFilter option to the unit file

Willy Tarreau (10):
      BUG/MINOR: threads: fix missing thread lock labels for 1.8
      BUG/MINOR: debug/pools: properly handle out-of-memory when building with 
DEBUG_UAF
      MINOR: debug/pools: make DEBUG_UAF also detect underflows
      BUG/MEDIUM: h2: always consume any trailing data after end of output 
buffers
      BUILD/MINOR: fix Lua build on Mac OS X (again)
      BUG/MEDIUM: h2: also arm the h2 timeout when sending
      MINOR: log: stop emitting alerts when it's not possible to write on the 
socket
      BUILD/BUG: enable -fno-strict-overflow by default
      BUG/MEDIUM: h2: properly account for DATA padding in flow control
      BUG/MINOR: h2: ensure we can never send an RST_STREAM in response to an 
RST_STREAM

Yves Lafon (1):
      MINOR: stats: display the number of threads in the statistics.

---


Reply via email to