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:
Patch Package OTP
Git Tag OTP-
Date 2020-05-20
Issue Id
System OTP
Release 21

erts- #

Note! The erts- application *cannot* be applied independently of other applications on an arbitrary OTP 21 installation. On a full OTP 21 installation, also the following runtime dependencies have to be satisfied: -- kernel-6.1 (first satisfied in OTP 21.1) -- sasl-3.3 (first satisfied in OTP 21.2)

Related Id(s):

The functionality utilized by BIFs for temporary disabling of garbage collection while yielding could cause system task queues to become inconsistent on a process executing such a BIF. Process system tasks are for example utilized when purging code, garbage collecting literal data, and when issuing an ordinary garbage collection from another process.

The bug does not trigger frequently. Multiple code purges in direct sequence makes it more likely that this bug is triggered. In the cases observed, this has resulted in a hanging code purge operation.

Related Id(s):

A literal area could prematurely be released before all uses of it had been removed. This occurred either when a terminating process had a complex exit reason referring to a literal that concurrently was removed, or when a terminating process continued executing a dirty NIF accessing a literal (via the heap) that concurrently was removed.


The VM could potentially crash when checking process code of a process that terminated while executing a dirty NIF. The checking of process code is part of a code purge operation.


System tasks of low priority were not interleaved with normal priority system tasks as they should. This could potentially delay garbage collection of another process longer than intended if the garbage collection was requested from a low priority process.

Full runtime dependencies of erts- kernel-6.1, sasl-3.3, stdlib-3.5