Patch Package: OTP 22.3.4.22 Git Tag: OTP-22.3.4.22 Date: 2021-10-19 Trouble Report Id: OTP-17604, OTP-17628, OTP-17642, OTP-17651, OTP-17665, OTP-17677, OTP-17700, OTP-17707 Seq num: ERIERL-706, GH-5235, GH-5271 System: OTP Release: 22 Application: erts-10.7.2.14, ssh-4.9.1.4 Predecessor: OTP 22.3.4.21 Check out the git tag OTP-22.3.4.22, 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-10.7.2.14 -------------------------------------------------- --------------------------------------------------------------------- Note! The erts-10.7.2.14 application *cannot* be applied independently of other applications on an arbitrary OTP 22 installation. On a full OTP 22 installation, also the following runtime dependency has to be satisfied: -- kernel-6.5.1 (first satisfied in OTP 22.2) --- Fixed Bugs and Malfunctions --- OTP-17604 Application(s): erts On 32-bit computers, binary_to_term/1,2 is now more resilient against corrupted binaries containing maps in the external format. OTP-17628 Application(s): erts A call to process_info(Pid, status) could erroneously report the status running when it should have reported waiting. This occurred when the calling process was executing on a higher priority than the process being inspected. This bug has been present since OTP 21.0 (erts version 10.0). OTP-17642 Application(s): erts Related Id(s): PR-5248 A race between an exiting port and handling of simultaneously received signals to that port could cause a runtime system crash. The effected signals are link, monitor and demonitor. On OTP 22 a similiar race could also cause a memory leak when receiving an unlink signal. OTP-17651 Application(s): erts Related Id(s): GH-5235, PR-5244 The message queue of a process entered an inconsistent state after a receive expression with an invalid timeout value was executed. If the exception raised due to the invalid timeout value was caught, the following receive expression executed by the process could fail to match messages already present in the message queue. On OTP 24 this could also cause the whole runtime system to crash. OTP-17665 Application(s): erts Related Id(s): PR-5248 Sending a Port ! {PortOwner, close} signal from a process other than the port owner could erroneously trigger a badsig exit signal being sent to the port owner process even though the correct PortOwner had been passed in the signal. OTP-17677 Application(s): erts This fixes a bug in erts_factory_undo that caused the heap to not be reset correctly. The erts_factory_undo function is, for example, called when a binary_to_term/1 call fails to reset the heap to its state before the binary_to_term/1 call. This can cause the heap to contain invalid terms which potentially can cause issues (e.g., crashes) when the whole heap is scanned. OTP-17700 Application(s): erts Related Id(s): GH-5271, PR-5273 Fix bug in persistent_term when a key-value pair contains a magic reference that is referred more than once. Magic references are NIF resources or returned from BIFs like ets:new, atomics:new. The bug could cause the memory of the referred resource to be prematurely deallocated. The bug also apply to magic references in message passing on a runtime built with configure option --enable-sharing-preserving. Bug exist for 64-bit since OTP-24.0 and for 32-bit since OTP-20.0. Full runtime dependencies of erts-10.7.2.14: kernel-6.5.1, sasl-3.3, stdlib-3.5 --------------------------------------------------------------------- --- ssh-4.9.1.4 ----------------------------------------------------- --------------------------------------------------------------------- Note! The ssh-4.9.1.4 application *cannot* be applied independently of other applications on an arbitrary OTP 22 installation. On a full OTP 22 installation, also the following runtime dependency has to be satisfied: -- crypto-4.6.4 (first satisfied in OTP 22.2.2) --- Fixed Bugs and Malfunctions --- OTP-17707 Application(s): ssh Related Id(s): ERIERL-706 The value of the connect_timeout option is now used as default value for the negotiation timeout. Full runtime dependencies of ssh-4.9.1.4: crypto-4.6.4, erts-9.0, kernel-5.3, public_key-1.6.1, stdlib-3.4.1 --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------