Releases: erlang/otp
OTP
Patch Package: OTP 24.1.5
Git Tag: OTP-24.1.5
Date: 2021-11-11
Trouble Report Id: OTP-17734, OTP-17735, OTP-17736, OTP-17737
Seq num: GH-4989, GH-5279, GH-5327, GH-5339, GH-5346
System: OTP
Release: 24
Application: erts-12.1.5, kernel-8.1.3
Predecessor: OTP 24.1.4
Check out the git tag OTP-24.1.5, 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-17734 Application(s): kernel
Related Id(s): GH-5327, OTP-17659
The internal, undocumented, but used, module inet_dns
has been fixed to handle mDNS high bit usage of the
Class field.
Code that uses the previously obsolete, undocumented
and unused record field #dns_rr.func will need to be
updated since that field is now used as a boolean flag
for the mDNS high Class bit. Code that uses the also
undocumented record #dns_query will need to be
recompiled since a boolean field
#dns_query.unicast_response has been added for the mDNS
high Class bit.
---------------------------------------------------------------------
--- erts-12.1.5 -----------------------------------------------------
---------------------------------------------------------------------
The erts-12.1.5 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17735 Application(s): erts
Related Id(s): GH-5339
The runtime system could call select() with a too large
timeout value when executing on MacOS. This could in
turn cause the runtime system to crash.
OTP-17736 Application(s): erts, kernel
Related Id(s): GH-5279, OTP-17559, PR-5120
The fix for Linux's behaviour when reconnecting an UDP
socket in PR-5120 released in OTP-24.1.2 has been
refined to only dissolve the socket's connection before
a connect if the socket is already connected, that is:
only for a reconnect.
This allows code to open a socket with an ephemeral
port, get the port number and connect; without the port
number changing (on Linux). This turned out to have at
least one valid use case (besides test cases).
Should one reconnect the socket then the port number
may change, on Linux; it is a known quirk, which can be
worked around by binding to a specific port number when
opening the socket. If you can do without an ephemeral
port, that is...
OTP-17737 Application(s): erts
Related Id(s): GH-4989, GH-5346
Certain distributed signals that for various reasons
must to be forced into the distribution buffer even
when it is full would instead be lost if the
distribution buffer was full when sent. The effected
signals:
-- EXIT signals with exit reasons of one word size.
-- DOWN signals with exit reasons of one word size.
-- demonitor signals from a terminating process.
-- unlink_ack signals on OTP 23 and 24.
-- spawn_reply signals on OTP 23 and 24.
Full runtime dependencies of erts-12.1.5: kernel-8.0, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- kernel-8.1.3 ----------------------------------------------------
---------------------------------------------------------------------
The kernel-8.1.3 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17734 Application(s): kernel
Related Id(s): GH-5327, OTP-17659
*** POTENTIAL INCOMPATIBILITY ***
The internal, undocumented, but used, module inet_dns
has been fixed to handle mDNS high bit usage of the
Class field.
Code that uses the previously obsolete, undocumented
and unused record field #dns_rr.func will need to be
updated since that field is now used as a boolean flag
for the mDNS high Class bit. Code that uses the also
undocumented record #dns_query will need to be
recompiled since a boolean field
#dns_query.unicast_response has been added for the mDNS
high Class bit.
OTP-17736 Application(s): erts, kernel
Related Id(s): GH-5279, OTP-17559, PR-5120
The fix for Linux's behaviour when reconnecting an UDP
socket in PR-5120 released in OTP-24.1.2 has been
refined to only dissolve the socket's connection before
a connect if the socket is already connected, that is:
only for a reconnect.
This allows code to open a socket with an ephemeral
port, get the port number and connect; without the port
number changing (on Linux). This turned out to have at
least one valid use case (besides test cases).
Should one reconnect the socket then the port number
may change, on Linux; it is a known quirk, which can be
worked around by binding to a specific port number when
opening the socket. If you can do without an ephemeral
port, that is...
Full runtime dependencies of kernel-8.1.3: crypto-5.0, erts-12.0,
sasl-3.0, stdlib-3.13
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 23.3.4.9
Patch Package: OTP 23.3.4.9
Git Tag: OTP-23.3.4.9
Date: 2021-11-11
Trouble Report Id: OTP-17735, OTP-17737
Seq num: GH-4989, GH-5339, GH-5346
System: OTP
Release: 23
Application: erts-11.2.2.8
Predecessor: OTP 23.3.4.8
Check out the git tag OTP-23.3.4.9, 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.8 ---------------------------------------------------
---------------------------------------------------------------------
The erts-11.2.2.8 application can be applied independently of other
applications on a full OTP 23 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17735 Application(s): erts
Related Id(s): GH-5339
The runtime system could call select() with a too large
timeout value when executing on MacOS. This could in
turn cause the runtime system to crash.
OTP-17737 Application(s): erts
Related Id(s): GH-4989, GH-5346
Certain distributed signals that for various reasons
must to be forced into the distribution buffer even
when it is full would instead be lost if the
distribution buffer was full when sent. The effected
signals:
-- EXIT signals with exit reasons of one word size.
-- DOWN signals with exit reasons of one word size.
-- demonitor signals from a terminating process.
-- unlink_ack signals on OTP 23 and 24.
-- spawn_reply signals on OTP 23 and 24.
Full runtime dependencies of erts-11.2.2.8: kernel-7.0, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 22.3.4.23
Patch Package: OTP 22.3.4.23
Git Tag: OTP-22.3.4.23
Date: 2021-11-11
Trouble Report Id: OTP-17735, OTP-17737
Seq num: GH-4989, GH-5339, GH-5346
System: OTP
Release: 22
Application: erts-10.7.2.15
Predecessor: OTP 22.3.4.22
Check out the git tag OTP-22.3.4.23, 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.15 --------------------------------------------------
---------------------------------------------------------------------
Note! The erts-10.7.2.15 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-17735 Application(s): erts
Related Id(s): GH-5339
The runtime system could call select() with a too large
timeout value when executing on MacOS. This could in
turn cause the runtime system to crash.
OTP-17737 Application(s): erts
Related Id(s): GH-4989, GH-5346
Certain distributed signals that for various reasons
must to be forced into the distribution buffer even
when it is full would instead be lost if the
distribution buffer was full when sent. The effected
signals:
-- EXIT signals with exit reasons of one word size.
-- DOWN signals with exit reasons of one word size.
-- demonitor signals from a terminating process.
-- unlink_ack signals on OTP 23 and 24.
-- spawn_reply signals on OTP 23 and 24.
Full runtime dependencies of erts-10.7.2.15: kernel-6.5.1, sasl-3.3,
stdlib-3.5
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 24.1.4
Patch Package: OTP 24.1.4
Git Tag: OTP-24.1.4
Date: 2021-11-02
Trouble Report Id: OTP-17731, OTP-17732
Seq num: ERIERL-664
System: OTP
Release: 24
Application: erts-12.1.4
Predecessor: OTP 24.1.3
Check out the git tag OTP-24.1.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.
---------------------------------------------------------------------
--- erts-12.1.4 -----------------------------------------------------
---------------------------------------------------------------------
The erts-12.1.4 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17731 Application(s): erts
Related Id(s): PR-5285
Fix bug where a gen_tcp write error that happened
during a delayed_send would cause a use after free
segfault.
OTP-17732 Application(s): erts
Related Id(s): ERIERL-664, PR-5331
Fix x86 JIT bug where a rem instruction could cause a
segfault if given values that would cause an badarith
exception.
Full runtime dependencies of erts-12.1.4: kernel-8.0, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP
Patch Package: OTP 24.1.3
Git Tag: OTP-24.1.3
Date: 2021-10-27
Trouble Report Id: OTP-17675, OTP-17677, OTP-17679, OTP-17686,
OTP-17688, OTP-17700, OTP-17712, OTP-17722,
OTP-17723
Seq num: GH-5255, GH-5271, GH-5300, GH-5310
System: OTP
Release: 24
Application: erts-12.1.3, ssl-10.5.2
Predecessor: OTP 24.1.2
Check out the git tag OTP-24.1.3, 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.
---------------------------------------------------------------------
--- OTP-24.1.3 ------------------------------------------------------
---------------------------------------------------------------------
--- Fixed Bugs and Malfunctions ---
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.
--- Fixed Bugs and Malfunctions ---
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)
--- Fixed Bugs and Malfunctions ---
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
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 23.3.4.8
Patch Package: OTP 23.3.4.8
Git Tag: OTP-23.3.4.8
Date: 2021-10-19
Trouble Report Id: OTP-17628, OTP-17642, OTP-17651, OTP-17658,
OTP-17665, OTP-17677, OTP-17700, OTP-17707
Seq num: ERIERL-706, GH-5235, GH-5271
System: OTP
Release: 23
Application: erts-11.2.2.7, ssh-4.11.1.4
Predecessor: OTP 23.3.4.7
Check out the git tag OTP-23.3.4.8, 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.7 ---------------------------------------------------
---------------------------------------------------------------------
The erts-11.2.2.7 application can be applied independently of other
applications on a full OTP 23 installation.
--- Fixed Bugs and Malfunctions ---
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.
--- Improvements and New Features ---
OTP-17658 Application(s): erts
The python scripts that existed in
erts/lib_src/yielding_c_fun/lib/tiny_regex_c/scripts
had a license that was incompatible with Erlang/OTP's
license. This ticket removes these scripts that were
not used by us.
Full runtime dependencies of erts-11.2.2.7: kernel-7.0, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- ssh-4.11.1.4 ----------------------------------------------------
---------------------------------------------------------------------
The ssh-4.11.1.4 application can be applied independently of other
applications on a full OTP 23 installation.
--- 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.11.1.4: crypto-4.6.4, erts-9.0,
kernel-5.3, public_key-1.6.1, stdlib-3.4.1
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 22.3.4.22
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
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 24.1.2
Patch Package: OTP 24.1.2
Git Tag: OTP-24.1.2
Date: 2021-10-05
Trouble Report Id: OTP-17393, OTP-17657, OTP-17658, OTP-17659,
OTP-17666, OTP-17668, OTP-17670, OTP-17672
Seq num: ERIERL-702, GH-5224, GH-5239
System: OTP
Release: 24
Application: crypto-5.0.4, erts-12.1.2, kernel-8.1.2,
public_key-1.11.3, ssl-10.5.1
Predecessor: OTP 24.1.1
Check out the git tag OTP-24.1.2, 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.
---------------------------------------------------------------------
--- crypto-5.0.4 ----------------------------------------------------
---------------------------------------------------------------------
The crypto-5.0.4 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17668 Application(s): crypto
Related Id(s): PR-5245
Fixed minor memory leak at crypto module purge.
OTP-17672 Application(s): crypto
Fix possible inconsistency in fips mode when linking
with some cryptolibs.
Full runtime dependencies of crypto-5.0.4: erts-9.0, kernel-5.3,
stdlib-3.4
---------------------------------------------------------------------
--- erts-12.1.2 -----------------------------------------------------
---------------------------------------------------------------------
The erts-12.1.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Improvements and New Features ---
OTP-17658 Application(s): erts
The python scripts that existed in
erts/lib_src/yielding_c_fun/lib/tiny_regex_c/scripts
had a license that was incompatible with Erlang/OTP's
license. This ticket removes these scripts that were
not used by us.
Full runtime dependencies of erts-12.1.2: kernel-8.0, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- kernel-8.1.2 ----------------------------------------------------
---------------------------------------------------------------------
The kernel-8.1.2 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17659 Application(s): kernel
Related Id(s): ERIERL-702
The undocumented DNS encode/decode module inet_dns has
been cleaned up to handle the difference between
"symbolic" and "raw" records in a more consistent
manner.
PR-5145/OTP-17584 introduced a change that contributed
to an already existing confusion, which this correction
should remedy.
Full runtime dependencies of kernel-8.1.2: crypto-5.0, erts-12.0,
sasl-3.0, stdlib-3.13
---------------------------------------------------------------------
--- public_key-1.11.3 -----------------------------------------------
---------------------------------------------------------------------
The public_key-1.11.3 application can be applied independently of
other applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17657 Application(s): public_key, ssl
Avoid re-encoding of decoded certificates. This could
cause unexpected failures as some subtle encoding
errors can be tolerated when decoding but hence
creating another sequence of bytes if the decoded value
is re-encoded.
Full runtime dependencies of public_key-1.11.3: asn1-3.0, crypto-3.8,
erts-6.0, kernel-3.0, stdlib-3.5
---------------------------------------------------------------------
--- ssl-10.5.1 ------------------------------------------------------
---------------------------------------------------------------------
Note! The ssl-10.5.1 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)
--- Fixed Bugs and Malfunctions ---
OTP-17393 Application(s): ssl
Before that change, TLS downgrade could occasionally
fail when data intended for downgraded socket were
delivered together with CLOSE_NOTIFY alert to ssl app.
OTP-17657 Application(s): public_key, ssl
Avoid re-encoding of decoded certificates. This could
cause unexpected failures as some subtle encoding
errors can be tolerated when decoding but hence
creating another sequence of bytes if the decoded value
is re-encoded.
OTP-17666 Application(s): ssl
Related Id(s): GH-5239
Fix possible process leak when the process doing
ssl:transport_accept dies before initiating the TLS
handshake.
OTP-17670 Application(s): ssl
Related Id(s): GH-5224
Fix dtls memory leak, the replay window code was
broken.
Full runtime dependencies of ssl-10.5.1: 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
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 24.1.1
Patch Package: OTP 24.1.1
Git Tag: OTP-24.1.1
Date: 2021-09-30
Trouble Report Id: OTP-17640, OTP-17641, OTP-17642, OTP-17646,
OTP-17647, OTP-17649, OTP-17651, OTP-17665
Seq num: GH-5193, GH-5221, GH-5225, GH-5235
System: OTP
Release: 24
Application: erts-12.1.1, kernel-8.1.1, snmp-5.10.1,
stdlib-3.16.1
Predecessor: OTP 24.1
Check out the git tag OTP-24.1.1, 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-12.1.1 -----------------------------------------------------
---------------------------------------------------------------------
The erts-12.1.1 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
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-17646 Application(s): erts
Related Id(s): GH-5221, PR-5232
A user defined tag on a monitor message could cause the
runtime system to crash when the monitor message had
been received.
OTP-17647 Application(s): erts
Related Id(s): GH-5225, PR-5230
A call to erlang:demonitor(Ref) where the reference Ref
referred to an active alias, but not an active monitor,
caused the runtime system to crash.
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.
Full runtime dependencies of erts-12.1.1: kernel-8.0, sasl-3.3,
stdlib-3.13
---------------------------------------------------------------------
--- kernel-8.1.1 ----------------------------------------------------
---------------------------------------------------------------------
The kernel-8.1.1 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17640 Application(s): kernel
Add more info about the socket 'type' ('socket' or
'port') for the DOWN message when monitoring sockets.
Full runtime dependencies of kernel-8.1.1: crypto-5.0, erts-12.0,
sasl-3.0, stdlib-3.13
---------------------------------------------------------------------
--- snmp-5.10.1 -----------------------------------------------------
---------------------------------------------------------------------
The snmp-5.10.1 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17641 Application(s): snmp
Related Id(s): OTP-17640
Sockets are monitored, but the handling of the 'DOWN'
message expected a new style socket ('socket'), old
style (port) was not handled.
Full runtime dependencies of snmp-5.10.1: crypto-3.3, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
--- stdlib-3.16.1 ---------------------------------------------------
---------------------------------------------------------------------
The stdlib-3.16.1 application can be applied independently of other
applications on a full OTP 24 installation.
--- Fixed Bugs and Malfunctions ---
OTP-17649 Application(s): stdlib
Related Id(s): GH-5193, PR-5201
Fixed a bug that could cause a child to become orphaned
when a supervisor died between unlinking and sending
the shutdown signal to this child.
There was also a possibility for erratic supervisor
reports caused by a race between a supervisor shutting
down a child and that child exiting by itself at the
same time.
Full runtime dependencies of stdlib-3.16.1: compiler-5.0, crypto-3.3,
erts-12.0, kernel-7.0, sasl-3.0
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
OTP 24.1
OTP 24.1
Erlang/OTP 24.1 is the first maintenance patch release for OTP 24, with mostly
bug fixes as well as a few improvements.
Below are some highlights of the release:
Highlights
-
OTP: The Efficiency Guide has been extended with a chapter about maps.
-
Stdlib: Most output functions in the
io
module now print extra
error information when provided with invalid arguments.
The functions are:io:format
,io:fwrite
,io:put_chars
,
io:nl
andio:write
. -
Erts:
init:stop()
no longer unloads loaded code before
terminating the runtime system. On systems with slow
CPUs (such as Raspberry PI Zero), that can
significantly speed up termination of the runtime system.
For more details about new features and potential incompatibilities see
https://erlang.org/download/OTP-24.1.README
Online documentation can be browsed here:
http://erlang.org/documentation/doc-12.1/doc
The Erlang/OTP source can also be found at GitHub on the official Erlang repository,
https://github.com/erlang/otp