Patch Package: OTP 26.2.5.4 Git Tag: OTP-26.2.5.4 Date: 2024-10-09 Trouble Report Id: OTP-19124, OTP-19158, OTP-19212, OTP-19217, OTP-19221, OTP-19223, OTP-19235, OTP-19236, OTP-19238, OTP-19246, OTP-19247, OTP-19249, OTP-19251, OTP-19252, OTP-19254, OTP-19256, OTP-19257, OTP-19258, OTP-19265, OTP-19266, OTP-19267, OTP-19269, OTP-19270, OTP-19274, OTP-19284 Seq num: ERIERL-1091, ERIERL-1093, ERIERL-1104, ERIERL-1127, ERIERL-1131, ERIERL-1133, ERIERL-1134, ERIERL-1137, ERIERL-1138, GH-6455, GH-7550, GH-8223, GH-8562, GH-8769, GH-8783, GH-8835, GH-8848, GH-8853, OTP-18520, OTP-19061, PR-8226, PR-8261, PR-8762, PR-8766, PR-8780, PR-8788, PR-8800, PR-8801, PR-8831, PR-8837, PR-8854, PR-8858, PR-8866, PR-8876, PR-8890, PR-8892, PR-8897, PR-8898, PR-8901, PR-8909 System: OTP Release: 26 Application: common_test-1.26.2.1, compiler-8.4.3.2, crypto-5.4.2.2, erts-14.2.5.4, inets-9.1.0.1, kernel-9.2.4.3, public_key-1.15.1.3, ssh-5.1.4.3, ssl-11.1.4.4, stdlib-5.2.3.2, xmerl-1.3.34.1 Predecessor: OTP 26.2.5.3 Check out the git tag OTP-26.2.5.4, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below. --------------------------------------------------------------------- --- POTENTIAL INCOMPATIBILITIES ------------------------------------- --------------------------------------------------------------------- OTP-19158 Application(s): inets With this change, HTTP client, when returning an asynchronous request, now correctly takes into account `OptionRequest - full_result` --------------------------------------------------------------------- --- common_test-1.26.2.1 -------------------------------------------- --------------------------------------------------------------------- The common_test-1.26.2.1 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19252 Application(s): common_test Related Id(s): PR-8858 With this change, HTML reports include jQuery version 3.7.1. OTP-19265 Application(s): common_test Related Id(s): PR-8876 With this change, jquery and tablesorter licenses are added to COPYRIGHT file. Also tablesorter is updated to version 2.32. OTP-19284 Application(s): common_test Related Id(s): ERIERL-1093, PR-8909 Fixed a bug where the sum of testcases' execution time in HTML logs was sometimes miscalculated, and the table was not fully printed. Full runtime dependencies of common_test-1.26.2.1: compiler-6.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8 --------------------------------------------------------------------- --- compiler-8.4.3.2 ------------------------------------------------ --------------------------------------------------------------------- The compiler-8.4.3.2 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19270 Application(s): compiler Related Id(s): GH-8783, PR-8898 Fixed a bug where bogus code was generated for consecutive calls to erlang:setelement/2, potentially crashing the emulator. Full runtime dependencies of compiler-8.4.3.2: crypto-5.1, erts-13.0, kernel-8.4, stdlib-5.0 --------------------------------------------------------------------- --- crypto-5.4.2.2 -------------------------------------------------- --------------------------------------------------------------------- The crypto-5.4.2.2 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19212 Application(s): crypto Related Id(s): GH-8562, PR-8762 crypto built with --enable-fips will now accept an OpenSSL 3 lib without fips provider as long as fips mode is not enabled. OTP-19223 Application(s): crypto Related Id(s): GH-8769, PR-8800 crypto:strong_rand_bytes/2 fixed to work on Ubuntu pro with installed FIPS support. Full runtime dependencies of crypto-5.4.2.2: erts-9.0, kernel-5.3, stdlib-3.9 --------------------------------------------------------------------- --- erts-14.2.5.4 --------------------------------------------------- --------------------------------------------------------------------- The erts-14.2.5.4 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19235 Application(s): erts, kernel Related Id(s): ERIERL-1133, PR-8837 A bug has been fixed where receiving an SCTP message with `gen_sctp` could waste the first fragments of a message and only deliver the last fragment. This happened with low probability when the OS signaled that the socket was ready for reading in combination with an internal time-out retry. A bug has been fixed with a lingering time-out from after an SCTP connect that could stop the flow of incoming messages on an active `gen_tcp` socket. OTP-19251 Application(s): erts Related Id(s): GH-8853 On Windows, successive failed socket calls caused socket to become "uninitialized". OTP-19254 Application(s): erts Related Id(s): GH-8848 The socket framework fails to start on a IPv6-only Windows machine. OTP-19258 Application(s): erts, kernel Related Id(s): ERIERL-1134, OTP-19061 An boolean option `non_block_send` for SCTP, has ben added to be able to achieve the old behaviour to avoid blocking send operations by passing the OS network stack error message (`{error,eagain}` through. OTP-19267 Application(s): erts Related Id(s): ERIERL-1138, GH-6455, PR-8892, OTP-18520 The call `gen_tcp:send/2` could hang indefinitely despite having set the `send_timeout` option for the following unfortunate combination of circumstances: * The socket has to be in passive mode. * All output buffers had to be filled util the `high_watermark` was hit, causing the `gen_tcp:send/2` operation to block. * While the send operation was blocked, a `gen_tcp:recv/2,3` call had to be done from a different process. It had to block, waiting for data for a while before completing the operation, and the received packet had to fill at least 75% of the receive buffer. Under these circumstances he information that a send operation was waiting got lost, so the send operation that blocked in the first placed would never return. The data it had would be sent, though, and send operations from other processes, still work. This bug has been fixed. OTP-19269 Application(s): erts Related Id(s): GH-8835, PR-8897 Fixed beam crash that could happen if resetting call_time or call_memory trace counters of a function while it is called. Bug exists since OTP R16. Full runtime dependencies of erts-14.2.5.4: kernel-9.0, sasl-3.3, stdlib-4.1 --------------------------------------------------------------------- --- inets-9.1.0.1 --------------------------------------------------- --------------------------------------------------------------------- The inets-9.1.0.1 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19158 Application(s): inets *** POTENTIAL INCOMPATIBILITY *** With this change, HTTP client, when returning an asynchronous request, now correctly takes into account `OptionRequest - full_result` OTP-19221 Application(s): inets Related Id(s): ERIERL-1091, PR-8788, PR-8801 With this change, synchronous httpc:request now timeouts after `Timeout` specified in `HttpOption {timeout, Timeout}` Full runtime dependencies of inets-9.1.0.1: erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-5.0 --------------------------------------------------------------------- --- kernel-9.2.4.3 -------------------------------------------------- --------------------------------------------------------------------- The kernel-9.2.4.3 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19235 Application(s): erts, kernel Related Id(s): ERIERL-1133, PR-8837 A bug has been fixed where receiving an SCTP message with `gen_sctp` could waste the first fragments of a message and only deliver the last fragment. This happened with low probability when the OS signaled that the socket was ready for reading in combination with an internal time-out retry. A bug has been fixed with a lingering time-out from after an SCTP connect that could stop the flow of incoming messages on an active `gen_tcp` socket. OTP-19258 Application(s): erts, kernel Related Id(s): ERIERL-1134, OTP-19061 An boolean option `non_block_send` for SCTP, has ben added to be able to achieve the old behaviour to avoid blocking send operations by passing the OS network stack error message (`{error,eagain}` through. Full runtime dependencies of kernel-9.2.4.3: crypto-5.0, erts-14.0, sasl-3.0, stdlib-5.0 --------------------------------------------------------------------- --- public_key-1.15.1.3 --------------------------------------------- --------------------------------------------------------------------- The public_key-1.15.1.3 application can be applied independently of other applications on a full OTP 26 installation. --- Improvements and New Features --- OTP-19238 Application(s): public_key Related Id(s): PR-8831 Do not hide crypto badarg reason, this error handling enhancement facilitates debugging. These kind of runtime errors are not documented and should never be relied on for matching, they are intended for catching input errors early. Full runtime dependencies of public_key-1.15.1.3: asn1-3.0, crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5 --------------------------------------------------------------------- --- ssh-5.1.4.3 ----------------------------------------------------- --------------------------------------------------------------------- The ssh-5.1.4.3 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19124 Application(s): ssh Related Id(s): GH-7550, PR-8766 With this change, a race condition is removed from ssh client connection setup procedure. OTP-19246 Application(s): ssh Related Id(s): GH-8223, PR-8854 With this change, ssh:connect is not affected by presence of EXIT message in queue. OTP-19247 Application(s): ssh Related Id(s): PR-8226 With this change, ssh appends {active, false} option after socket options received from user - so that false value is always used. Full runtime dependencies of ssh-5.1.4.3: crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-5.0 --------------------------------------------------------------------- --- ssl-11.1.4.4 ---------------------------------------------------- --------------------------------------------------------------------- The ssl-11.1.4.4 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19236 Application(s): ssl Related Id(s): PR-8261 Starting from TLS-1.3 some server handshake alerts might arrive after ssl:connection/2,3,4 has returned. If the socket is in active mode the controlling process will get the alert message, but passive sockets would only get {error, closed} on next call to ssl:recv/2,3 or ssl/setopts/2. Passive sockets calls will now return {error, error_alert()} instead. OTP-19249 Application(s): ssl Related Id(s): ERIERL-1137, PR-8866 Refactor trying to also make some optimizations introduced a bug in signature algorithms checks in OTP-26.2.1. This could manifest itself in not being able to negotiate connections using certificates needing to use some TLS-1.2 compatibility legacy signature schemes. OTP-19257 Application(s): ssl Related Id(s): ERIERL-1131 Servers configured to support only version (pre TLS-1.2) should ignore hello version extension, as it is an unknown extension to them, this will result in that new clients that do not support the old server version will get an insufficient security alert from the server and not a protocol version alert, this is consistent with how old servers not able to support higher protocol versions work. OTP-19274 Application(s): ssl Related Id(s): PR-8901 Correct timeout handling for termination code run for own alerts, so that intended timeout is used instead of falling back to OS TCP-stack timeout that is unreasonably long on some platforms. Full runtime dependencies of ssl-11.1.4.4: crypto-5.0, erts-14.0, inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1, stdlib-4.1 --------------------------------------------------------------------- --- stdlib-5.2.3.2 -------------------------------------------------- --------------------------------------------------------------------- The stdlib-5.2.3.2 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19256 Application(s): stdlib Related Id(s): PR-8780 With this change, shutdown procedure handles a race condition between supervisor executing a shutdown and child process termination from other reason. OTP-19266 Application(s): stdlib Related Id(s): ERIERL-1127, PR-8890 With this change, uri_string:normalize assumes empty path (do not crash) when no path is provided in the URI map. Full runtime dependencies of stdlib-5.2.3.2: compiler-5.0, crypto-4.5, erts-13.1, kernel-9.0, sasl-3.0 --------------------------------------------------------------------- --- xmerl-1.3.34.1 -------------------------------------------------- --------------------------------------------------------------------- The xmerl-1.3.34.1 application can be applied independently of other applications on a full OTP 26 installation. --- Fixed Bugs and Malfunctions --- OTP-19217 Application(s): xmerl Related Id(s): ERIERL-1104 Corrected export functions from internal structure to XML so xmlText items of type cdata are handled correctly. They were just exported as normal text instead of output in a CDATA section. Full runtime dependencies of xmerl-1.3.34.1: erts-6.0, kernel-3.0, stdlib-2.5 --------------------------------------------------------------------- --- Thanks to ------------------------------------------------------- --------------------------------------------------------------------- Jakub Witczak --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------