Erlang/OTP 24.1.3

This release of Erlang/OTP can be built from source or installed using pre-built packages for your OS or third-party tools (such as kerl or asdf).

docker run -it erlang:24.1.3
Patch Package OTP 24.1.3
Git Tag OTP-24.1.3
Date 2021-10-27
Issue Id
System OTP
Release 24
Application

OTP-24.1.3 #

OTP-17679
Application(s):
otp
Related Id(s):
PR-5251

Fix handling of the top configure command line arguments --srcdir=<DIR>, --cache-file=<FILE>, --without-<APP>, CFLAGS=<FLAGS>, and LDFLAGS=<FLAGS> which failed on some platforms.

erts-12.1.3 #

The erts-12.1.3 application can be applied independently of other applications on a full OTP 24 installation.

OTP-17675
Application(s):
erts

Reduction counter was not updated before and after doing apply operations on the runtime system with the jit enabled. This caused reduction counting to get out of sync if a garbage collection was made as part of the apply operation.

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-17686
Application(s):
erts

When attempting to construct a binary with an segment having an illegal type for the size (e.g. an atom), there could be an unnecessary memory allocation (and subsequent deallocation) before the operation failed. Amended to fail before allocating any memory for the binary.

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.

OTP-17712
Application(s):
erts

Fixed a crash when inspecting the stack trace of an exception raised at a very high line number.

This bug was introduced in OTP 24.

OTP-17722
Application(s):
erts
Related Id(s):
GH-5310 , PR-5313

The following two bugs that caused erlang:demonitor() to behave erroneously have been fixed. The bugs were only triggered if the monitor that was removed by demonitor() had previously been created simultaneously as a monitor and as an alias.

-- A demonitor operation on a monitor created using the {alias, reply_demonitor} option erroneously behaved as if the {alias, explicit_unalias} option had been used.

-- A demonitor operation did not prevent a corresponding 'DOWN' message from being delivered if the monitor reference was kept as an active alias after the operation. This could only occur if the monitored process simultaneously terminated before the demonitor signal reached it, and the exit reason was not an immediate term. That is, a term larger than one machine word.

Full runtime dependencies of erts-12.1.3: kernel-8.0, sasl-3.3, stdlib-3.13

ssl-10.5.2 #

Note! The ssl-10.5.2 application *cannot* be applied independently of other applications on an arbitrary OTP 24 installation. On a full OTP 24 installation, also the following runtime dependency has to be satisfied: -- public_key-1.11.3 (first satisfied in OTP 24.1.2)

OTP-17688
Application(s):
ssl
Related Id(s):
GH-5255

Fix TLS-1.2 RSA-PSS negotiation and also fix broken certificate request message for pre-TLS-1.3 servers.

OTP-17723
Application(s):
ssl
Related Id(s):
GH-5300

Fix CRL issuer verification that under some circumstances could fail with a function_clause error.

Full runtime dependencies of ssl-10.5.2: crypto-5.0, erts-10.0, inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1, stdlib-3.12