Erlang/OTP 22.3.4.25

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:22.3.4.25
Patch Package OTP 22.3.4.25
Git Tag OTP-22.3.4.25
Date 2022-03-29
Issue Id
ERIERL-732
ERIERL-757
System OTP
Release 22
Application

Highlights #

OTP-17843
Application(s):
erts, kernel
Related Id(s):
ERIERL-732 , PR-5611

By default global does not take any actions to restore a fully connected network when connections are lost due to network issues. This is problematic for all applications expecting a fully connected network to be provided, such as for example mnesia, but also for global itself. A network of overlapping partitions might cause the internal state of global to become inconsistent. Such an inconsistency can remain even after such partitions have been brought together to form a fully connected network again. The effect on other applications that expects that a fully connected network is maintained may vary, but they might misbehave in very subtle hard to detect ways during such a partitioning.

In order to prevent such issues, we have introduced a prevent overlapping partitions fix which can be enabled using the prevent_overlapping_partitions kernel(6) parameter. When this fix has been enabled, global will actively disconnect from nodes that reports that they have lost connections to other nodes. This will cause fully connected partitions to form instead of leaving the network in a state with overlapping partitions. Note that this fix has to be enabled on all nodes in the network in order to work properly. Since this quite substantially changes the behavior, this fix is currently disabled by default. Since you might get hard to detect issues without this fix you are, however, strongly advised to enable this fix in order to avoid issues such as the ones described above. As of OTP 25 this fix will become enabled by default.

common_test-1.18.2.2 #

The common_test-1.18.2.2 application can be applied independently of other applications on a full OTP 22 installation.

OTP-17888
Application(s):
common_test

OTP internal test fix.

Full runtime dependencies of common_test-1.18.2.2: compiler-6.0, crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0, observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0, stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8

erts-10.7.2.17 #

Note! The erts-10.7.2.17 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.2.5 (first satisfied in OTP 22.3.4.25)

OTP-17843
Application(s):
erts, kernel
Related Id(s):
ERIERL-732 , PR-5611

*** HIGHLIGHT ***

By default global does not take any actions to restore a fully connected network when connections are lost due to network issues. This is problematic for all applications expecting a fully connected network to be provided, such as for example mnesia, but also for global itself. A network of overlapping partitions might cause the internal state of global to become inconsistent. Such an inconsistency can remain even after such partitions have been brought together to form a fully connected network again. The effect on other applications that expects that a fully connected network is maintained may vary, but they might misbehave in very subtle hard to detect ways during such a partitioning.

In order to prevent such issues, we have introduced a prevent overlapping partitions fix which can be enabled using the prevent_overlapping_partitions kernel(6) parameter. When this fix has been enabled, global will actively disconnect from nodes that reports that they have lost connections to other nodes. This will cause fully connected partitions to form instead of leaving the network in a state with overlapping partitions. Note that this fix has to be enabled on all nodes in the network in order to work properly. Since this quite substantially changes the behavior, this fix is currently disabled by default. Since you might get hard to detect issues without this fix you are, however, strongly advised to enable this fix in order to avoid issues such as the ones described above. As of OTP 25 this fix will become enabled by default.

OTP-17904
Application(s):
erts
Related Id(s):
ERIERL-757

Fix memory leak when tracing on running on a process that only handle system tasks or non-message signals (for example process_info requests).

OTP-17998
Application(s):
erts
Related Id(s):
GH-5554 , PR-5825

Fix Erlang monotonic time on MacOS. Previously used OS monotonic time primitive on MacOS is buggy and will not be used anymore. It has been replaced with usage of another OS monotonic time primitive that does not appear to be buggy.

Full runtime dependencies of erts-10.7.2.17: kernel-6.5.2.5, sasl-3.3, stdlib-3.5

kernel-6.5.2.5 #

Note! The kernel-6.5.2.5 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: -- erts-10.7.2.17 (first satisfied in OTP 22.3.4.25)

OTP-17843
Application(s):
erts, kernel
Related Id(s):
ERIERL-732 , PR-5611

*** HIGHLIGHT ***

By default global does not take any actions to restore a fully connected network when connections are lost due to network issues. This is problematic for all applications expecting a fully connected network to be provided, such as for example mnesia, but also for global itself. A network of overlapping partitions might cause the internal state of global to become inconsistent. Such an inconsistency can remain even after such partitions have been brought together to form a fully connected network again. The effect on other applications that expects that a fully connected network is maintained may vary, but they might misbehave in very subtle hard to detect ways during such a partitioning.

In order to prevent such issues, we have introduced a prevent overlapping partitions fix which can be enabled using the prevent_overlapping_partitions kernel(6) parameter. When this fix has been enabled, global will actively disconnect from nodes that reports that they have lost connections to other nodes. This will cause fully connected partitions to form instead of leaving the network in a state with overlapping partitions. Note that this fix has to be enabled on all nodes in the network in order to work properly. Since this quite substantially changes the behavior, this fix is currently disabled by default. Since you might get hard to detect issues without this fix you are, however, strongly advised to enable this fix in order to avoid issues such as the ones described above. As of OTP 25 this fix will become enabled by default.

OTP-17905
Application(s):
kernel
Related Id(s):
ERIERL-732 , PR-5740

A net_tickintensity kernel parameter has been introduced. It can be used to control the amount of ticks during a net_ticktime period.

A new net_kernel:start/2 function has also been introduced in order to make it easier to add new options. The use of net_kernel:start/1 has been deprecated.

Full runtime dependencies of kernel-6.5.2.5: erts-10.7.2.17, sasl-3.0, stdlib-3.5