Patch Package: OTP 25.3.2.21
Git Tag: OTP-25.3.2.21
Date: 2025-05-08
Trouble Report Id: OTP-19577, OTP-19599, OTP-19605, OTP-19608,
OTP-19625
Seq num: CVE-2025-46712, ERIERL-1220, GH-9707,
GH-9720, PR-9696, PR-9724, PR-9765, PR-9767
System: OTP
Release: 25
Application: erts-13.2.2.16, kernel-8.5.4.6, ssh-4.15.3.13
Predecessor: OTP 25.3.2.20
Check out the git tag OTP-25.3.2.21, 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-13.2.2.16 --------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.2.2.16 application *cannot* be applied
independently of other applications on an arbitrary OTP 25
installation.
On a full OTP 25 installation, also the following runtime
dependencies have to be satisfied:
-- kernel-8.5 (first satisfied in OTP 25.1)
-- stdlib-4.1 (first satisfied in OTP 25.1)
--- Fixed Bugs and Malfunctions ---
OTP-19577 Application(s): erts
Related Id(s): ERIERL-1220, PR-9696
Fixed an emulator crash when setting an error_handler
module that was not yet loaded.
OTP-19599 Application(s): erts
Related Id(s): PR-9724
Fixed a rare bug that could cause an emulator crash
after unloading a module or erasing a persistent_term.
Full runtime dependencies of erts-13.2.2.16: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- kernel-8.5.4.6 --------------------------------------------------
---------------------------------------------------------------------
Note! The kernel-8.5.4.6 application *cannot* be applied
independently of other applications on an arbitrary OTP 25
installation.
On a full OTP 25 installation, also the following runtime
dependencies have to be satisfied:
-- erts-13.1.3 (first satisfied in OTP 25.2)
-- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
--- Fixed Bugs and Malfunctions ---
OTP-19605 Application(s): kernel
Related Id(s): GH-9720, PR-9765
With this change, disk_log will not crash when using
chunk_step/3 after log size was decreased.
OTP-19608 Application(s): kernel
Related Id(s): GH-9707, PR-9767
With this change, disk_log will not run into infinite
loop when using chunk/2,3 after log size was decreased.
Full runtime dependencies of kernel-8.5.4.6: crypto-5.0, erts-13.1.3,
sasl-3.0, stdlib-4.1.1
---------------------------------------------------------------------
--- ssh-4.15.3.13 ---------------------------------------------------
---------------------------------------------------------------------
The ssh-4.15.3.13 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-19625 Application(s): ssh
Related Id(s): CVE-2025-46712
Fix KEX strict implementation according to
draft-miller-sshm-strict-kex-01 document.
Full runtime dependencies of ssh-4.15.3.13: crypto-5.0, erts-11.0,
kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
---------------------------------------------------------------------
--- Thanks to -------------------------------------------------------
---------------------------------------------------------------------
João Henrique Ferreira de Freitas, Lý Nhật Tâm
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
Hello, everyone.
❯ asdf list erlang
...
25.3.2.20
26.2.5.12
*27.3.4
28.0-rc4
❯ asdf install erlang 25.3.2.21
ERROR: 'asdf_25.3.2.21' is not a kerl-managed Erlang/OTP installation.
Build 'asdf_25.3.2.21' has been deleted.
Extracting source code for normal build...
Building (normal) Erlang/OTP 25.3.2.21 (asdf_25.3.2.21); please wait...
Initializing (build) log file at /home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_build_25.3.2.21.log.
autoconf: error: no input file
APPLICATIONS DISABLED (See: /home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_build_25.3.2.21.log)
* jinterface : No Java compiler found
ERROR: build failed.
make[4]: *** [x86_64-pc-linux-gnu/Makefile:900: obj/x86_64-pc-linux-gnu/opt/jit/dist.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_src_25.3.2.21/erts/emulator'
make[3]: *** [/home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_src_25.3.2.21/make/run_make.mk:35: opt] Error 2
make[3]: Leaving directory '/home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_src_25.3.2.21/erts/emulator'
make[2]: *** [Makefile:45: opt] Error 2
make[2]: Leaving directory '/home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_src_25.3.2.21/erts'
make[1]: *** [Makefile:60: jit] Error 2
make[1]: Leaving directory '/home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_src_25.3.2.21/erts'
make: *** [Makefile:503: emulator] Error 2
Please see /home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_build_25.3.2.21.log for full details.
Auto cleaning all artifacts except the log file...
(use KERL_AUTOCLEAN=0 to keep build on failure, if desired)
Cleaning up compilation products for 'asdf_25.3.2.21' under:
- /home/user/.asdf/plugins/erlang/kerl-home/builds...
- /home/user/.asdf/downloads/erlang/25.3.2.21...
... done.
error installing version: failed to run install callback: exit status 1
❯ asdf info
OS:
Linux arch 6.14.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 09 May 2025 17:36:18 +0000 x86_64 GNU/Linux
SHELL:
zsh 5.9 (x86_64-pc-linux-gnu)
BASH VERSION:
5.2.37(1)-release
ASDF VERSION:
0.16.7-arch
ASDF INTERNAL VARIABLES:
ASDF_DEFAULT_TOOL_VERSIONS_FILENAME=.tool-versions
ASDF_DATA_DIR=/home/user/.asdf
ASDF_CONFIG_FILE=/home/user/.asdfrc
ASDF INSTALLED PLUGINS:
elixir https://github.com/asdf-vm/asdf-elixir.git d80b9250f9baf3bc170942cf25bf1020a4f63626
erlang https://github.com/asdf-vm/asdf-erlang.git 5f27baa62864bb433be9c7f2f7d69b475f534376
beam/dist.c: In function �<80><98>erts_internal_dist_spawn_request_4�<80><99>:
beam/dist.c:5928:15: error: two or more data types in declaration specifiers
5928 | Eterm bool = ((monitor_oflags & ERTS_ML_FLG_SPAWN_MONITOR)
| ^~~~
beam/dist.c:5928:20: error: expected identifier or �<80><98>(�<80><99> before �<80><98>=�<80><99> token
5928 | Eterm bool = ((monitor_oflags & ERTS_ML_FLG_SPAWN_MONITOR)
| ^
Your C compiler complains about identifiers called bool
. Clearly that variable should have a different name, but this builds fine for me on Fedora 41 so I suspect Arch does something unexpected. Your build log says it’s x86_64-pc-linux-gnu
which implies glibc
, so that’s not it. Maybe the compiler isn’t GCC, or it’s configured with odd defaults.
Hi, @mikpe.
I check it out:
❯ which cc
/usr/bin/cc
❯ ls -l $(which cc)
lrwxrwxrwx 1 root root 3 Apr 27 17:13 /usr/bin/cc -> gcc
❯ gcc --version
gcc (GCC) 15.1.1 20250425
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
❯ clang --version
clang version 19.1.7
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
❯ export CC=clang
❯ echo $CC
clang
❯ asdf install erlang 25.3.2.21
ERROR: 'asdf_25.3.2.21' is not a kerl-managed Erlang/OTP installation.
Build 'asdf_25.3.2.21' has been deleted.
Extracting source code for normal build...
Building (normal) Erlang/OTP 25.3.2.21 (asdf_25.3.2.21); please wait...
Initializing (build) log file at /home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_build_25.3.2.21.log.
autoconf: error: no input file
APPLICATIONS DISABLED (See: /home/user/.asdf/plugins/erlang/kerl-home/builds/asdf_25.3.2.21/otp_build_25.3.2.21.log)
* jinterface : No Java compiler found
Erlang/OTP 25.3.2.21 (asdf_25.3.2.21) has been successfully built.
Cleaning up compilation products for 'asdf_25.3.2.21' under:
- /home/user/.asdf/plugins/erlang/kerl-home/builds...
- /home/user/.asdf/downloads/erlang/25.3.2.21...
... done.
Thanks.
Confirmed, compiling OTP-25.3.2.21 with gcc-15.1 fails. That’s because erts: avoid use 'bool' keyword when compiling with lttng · erlang/otp@454128f · GitHub hasn’t been backported to the maint-25
branch yet. I tried it locally, the patch applies w/o issue and allows the build to succeed.
I think it also should also be possible to build using -std=gnu99
.
That is by doing this: CFLAGS="-g -O2 -std=gnu99" asdf install erlang 25.3.2.21
Hi, @garazdawi.
I’ve tested it and it works.
Thanks.