Patch Package OTP 23.3.4.17 Released

Patch Package:           OTP 23.3.4.17
Git Tag:                 OTP-23.3.4.17
Date:                    2022-09-05
Trouble Report Id:       OTP-18164, OTP-18169, OTP-18170, OTP-18175,
                         OTP-18177, OTP-18193, OTP-18197, OTP-18198,
                         OTP-18222, OTP-18224
Seq num:                 GH-6122, GH-6129, GH-6165, GH-6242
System:                  OTP
Release:                 23
Application:             erts-11.2.2.16, inets-7.3.2.3,
                         kernel-7.3.1.6, ssl-10.3.1.5
Predecessor:             OTP 23.3.4.16

 Check out the git tag OTP-23.3.4.17, 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.

 ---------------------------------------------------------------------
 --- erts-11.2.2.16 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The erts-11.2.2.16 application *cannot* be applied
       independently of other applications on an arbitrary OTP 23
       installation.

       On a full OTP 23 installation, also the following runtime
       dependency has to be satisfied:
       -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)


 --- Fixed Bugs and Malfunctions ---

  OTP-18164    Application(s): erts
               Related Id(s): PR-6114

               Distributed exit signals could be lost under the
               following conditions:

               -- An exit signal from a parent process to a child
               process was lost if:

               -- the parent process terminated before the spawn
               request that created the child had completed,

               -- the spawn request set up a link between parent and
               child

               -- the spawn request was distributed, and

               -- the exit reason was larger than one machine word.

               -- Loss of a connection over which a not yet completed
               spawn request was ongoing could cause loss of exit
               signals. Such loss of exit signals was very rare.
               Besides the above described connection loss also the
               following conditions had to be satisfied:

               -- The spawn request that was interrupted by the
               connection loss also had to set up a link between the
               parent process and the child process.

               -- The parent process that issued the spawn request
               also had to be terminating while the spawn request was
               interrupted by the connection loss.

               -- The same parent process also had to have made other
               spawn requests to other nodes than to the node to which
               the connection was lost.

               -- These spawn requests to the other nodes also had to
               set up links.

               -- These spawn requests to the other nodes also had to
               be not yet completed at the time of the connection
               loss. That is, the spawn reply from the child process
               had not yet reached the parent process.

               If all the conditions above were met, exit signals to
               the children spawned due to the above described spawn
               requests to other nodes *could* be lost.

               The above bug also caused a significant memory leak
               when it was triggered since the destruction of the
               parent process never completed.


  OTP-18169    Application(s): erts
               Related Id(s): PR-6134

               A race could cause process_info(Pid, message_queue_len)
               on other processes to return invalid results.


  OTP-18170    Application(s): erts
               Related Id(s): PR-6135

               Fixed reduction counting for handling process system
               tasks.


  OTP-18175    Application(s): erts
               Related Id(s): PR-6142

               Priority elevation of terminating processes did not
               work which could cause execution of such processes to
               be delayed.


  OTP-18177    Application(s): erts
               Related Id(s): PR-6150

               An unlink operation made by a process that terminated
               before the unlink operation completed, i.e., before it
               had received an unlink-ack signal from the linked
               process, caused an exit signal to erroneously be sent
               from the terminating process to the process being
               unlinked. This exit signal would most often be ignored
               by the receiver, but if the receiver of the exit signal
               concurrently set up a new link, it could receive the
               exit signal with the actual exit reason of the
               terminating process instead of a noproc exit reason. It
               is however very hard to detect that this has happened
               and has no obvious negative consequences, so it should
               be considered harmless.

               A distributed unlink-ack signal received by a
               terminating process was also not properly removed which
               could cause a minor memory leak.


  OTP-18197    Application(s): erts
               Related Id(s): GH-6165, PR-6213

               The erlang:monotonic_time/1, erlang:system_time/1,
               erlang:time_offset/1, and os:system_time/1 BIFs
               erroneously failed when passed the argument native.


  OTP-18222    Application(s): erts
               Related Id(s): GH-6242, PR-6248

               Fix writing and reading of more than 2 GB in a single
               read/write operation on macOS. Before this fix
               attempting to read/write more than 2GB would result in
               {error,einval}.


 Full runtime dependencies of erts-11.2.2.16: kernel-7.3.1.5,
 sasl-3.3, stdlib-3.13


 ---------------------------------------------------------------------
 --- inets-7.3.2.3 ---------------------------------------------------
 ---------------------------------------------------------------------

 The inets-7.3.2.3 application can be applied independently of other
 applications on a full OTP 23 installation.

 --- Improvements and New Features ---

  OTP-18193    Application(s): inets
               Related Id(s): GH-6122

               Remove documentation of no longer supported callback.


 Full runtime dependencies of inets-7.3.2.3: erts-6.0, kernel-3.0,
 mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5


 ---------------------------------------------------------------------
 --- kernel-7.3.1.6 --------------------------------------------------
 ---------------------------------------------------------------------

 Note! The kernel-7.3.1.6 application *cannot* be applied
       independently of other applications on an arbitrary OTP 23
       installation.

       On a full OTP 23 installation, also the following runtime
       dependency has to be satisfied:
       -- erts-11.2.2.11 (first satisfied in OTP 23.3.4.12)


 --- Fixed Bugs and Malfunctions ---

  OTP-18198    Application(s): kernel
               Related Id(s): GH-6129, PR-6216

               A call to net_kernel:setopts(new, Opts) at the same
               time as a connection was being set up could cause a
               deadlock between the net_kernel process and the process
               setting up the connection.


 Full runtime dependencies of kernel-7.3.1.6: erts-11.2.2.11,
 sasl-3.0, stdlib-3.13


 ---------------------------------------------------------------------
 --- ssl-10.3.1.5 ----------------------------------------------------
 ---------------------------------------------------------------------

 Note! The ssl-10.3.1.5 application *cannot* be applied independently
       of other applications on an arbitrary OTP 23 installation.

       On a full OTP 23 installation, also the following runtime
       dependency has to be satisfied:
       -- public_key-1.10.0.1 (first satisfied in OTP 23.3.4.5)


 --- Fixed Bugs and Malfunctions ---

  OTP-18224    Application(s): ssl

               Correct corner case of unexpected message handling for
               pre TLS-1.3 versions, could cause "late failure" and
               make the server dependent on its handshake timeout to
               prevent possible DoS attacks.


 Full runtime dependencies of ssl-10.3.1.5: crypto-4.2, erts-10.0,
 inets-5.10.7, kernel-6.0, public_key-1.10.0.1, stdlib-3.12


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
4 Likes