Erlang/OTP 22.3.4.21

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.21
Patch Package OTP 22.3.4.21
Git Tag OTP-22.3.4.21
Date 2021-09-03
Issue Id
System OTP
Release 22
Application

erts-10.7.2.13 #

Note! The erts-10.7.2.13 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)

OTP-17470
Application(s):
erts
Related Id(s):
ERIERL-657

Fixed a bug in zlib where decompression would crash with data_error on some valid inputs. The bug could also cause extraction from a zip archive using zip:extract() to fail.

OTP-17472
Application(s):
erts
Related Id(s):
PR-4932

A call to erlang:cancel_timer(_, [{info, false}]) could cause the calling process to block forever in the call. Note that only the synchronous version of the call (that is, the async option is false) in combination with the info option set to false was effected by this bug.

OTP-17493
Application(s):
erts

Microstate accounting (msacc) and os:perf_counter() unintentionally used system time instead of monotonic time for time measurements on a lot of systems. These systems were all non x86/x86_64 systems or x86/x86_64 systems without a reliable and constant rdtsc instruction.

The lock counting (lcnt) built runtime system also unintentionally used system time instead of monotonic time for time measurements on all systems.

OTP-17500
Application(s):
erts
Related Id(s):
GH-4809

Simultaneous calls to erlang:system_flag(schedulers_online, _) could cause callers to end up in a suspended state forever.

OTP-17513
Application(s):
erts
Related Id(s):
GH-4964 , PR-5015

Fix rare race bug in memory management of distribution entries. Have been seen to cause VM crash when massive number of repeated concurrent failing connection attempts.

OTP-17560
Application(s):
erts
Related Id(s):
GH-5116

Fix buffer overrun problem in the tty driver. The problem happens on some platforms when using the CTRL+R functionality of newshell with very long strings in the history.

OTP-17568
Application(s):
erts
Related Id(s):
PR-4940

Fix race-condition that could cause a crash when tracing scheduling or garbage collections on a process that was running on a dirty scheduler.

OTP-17585
Application(s):
erts
Related Id(s):
GH-5150

Fix rare bug where re:run would crash/return invalid results when given a subbinary as subject.

This bug has existed since Erlang/OTP 20.0.

OTP-17594
Application(s):
erts

binary_to_term/1,2 is now more resilient against corrupted binaries containing maps in the external format.

Full runtime dependencies of erts-10.7.2.13: kernel-6.5.1, sasl-3.3, stdlib-3.5

kernel-6.5.2.4 #

Note! The kernel-6.5.2.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: -- erts-10.6 (first satisfied in OTP 22.2)

OTP-17476
Application(s):
kernel
Related Id(s):
GH-4931 , PR-4934

Fixed rare bug that could cause net_kernel process to hang for ever. Have seen to happen with massive number of TLS connections while remote nodes are restarting. Bug exists since OTP-22.0.

Full runtime dependencies of kernel-6.5.2.4: erts-10.6, sasl-3.0, stdlib-3.5

stdlib-3.12.1.2 #

Note! The stdlib-3.12.1.2 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.1 (first satisfied in OTP 22.3.1)

OTP-17525
Application(s):
stdlib
Related Id(s):
GH-5053

Fix a bug that could cause a crash when formatting tuples using the control sequences p or P and limiting the output with the option chars_limit.

Full runtime dependencies of stdlib-3.12.1.2: compiler-5.0, crypto-3.3, erts-10.7.1, kernel-6.0, sasl-3.0