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 --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------