Patch Package: OTP 27.3.1
Git Tag: OTP-27.3.1
Date: 2025-03-28
Trouble Report Id: OTP-19391, OTP-19437, OTP-19469, OTP-19525,
OTP-19527, OTP-19529, OTP-19542, OTP-19543,
OTP-19545, OTP-19546, OTP-19547, OTP-19548,
OTP-19549, OTP-19559
Seq num: #9172, CVE-2025-30211, ERIERL-1204,
ERIERL-1205, ERIERL-1206, GH-8891, GH-9483,
GH-9554, OTP-19472, OTP-19544, PR-9221,
PR-9486, PR-9534, PR-9545, PR-9553, PR-9577,
PR-9587, PR-9588, PR-9596, PR-9611, PR-9612
System: OTP
Release: 27
Application: asn1-5.3.3, erts-15.2.4, kernel-10.2.4,
mnesia-4.23.5, ssh-5.2.9, ssl-11.2.10,
stdlib-6.2.2
Predecessor: OTP 27.3
Check out the git tag OTP-27.3.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.
# OTP-27.3.1
## Fixed Bugs and Malfunctions
- Update used ExDoc version to v0.37.3
Own Id: OTP-19525
Related Id(s): PR-9553
# asn1-5.3.3
The asn1-5.3.3 application can be applied independently of other applications on
a full OTP 27 installation.
## Fixed Bugs and Malfunctions
- The JER backend will now include the SIZE constraint in the type info for
OCTET STRINGs, and a SIZE constraint with a range will now be included for BIT
STRINGs. This does not change the actual encoding or decoding of JER, but can
be useful for tools.
Own Id: OTP-19542
Related Id(s): ERIERL-1204, PR-9588
## Improvements and New Features
- When using the JSON encoding rules, it is now possible to call the decode/2
function in the following way with data that has already been decoded by
json:decode/1:
SomeModule:decode(Type, {json_decoded, Decoded}).
Own Id: OTP-19547
Related Id(s): ERIERL-1206, PR-9611
> #### Full runtime dependencies of asn1-5.3.3
>
> erts-14.0, kernel-9.0, stdlib-5.0
# erts-15.2.4
The erts-15.2.4 application can be applied independently of other applications
on a full OTP 27 installation.
## Fixed Bugs and Malfunctions
- Behavior for socket:recv/3 has been improved. The behavior has also been
clarified in the documentation.
Own Id: OTP-19469
Related Id(s): #9172
- Trace messages due to `receive` tracing could potentially be delayed a very
long time if the traced process waited in a `receive` expression without
clauses matching on messages (timed wait), or just did not enter a `receive`
expression for a very long time.
Own Id: OTP-19527
Related Id(s): PR-9577
- Improve the naming of the (internal) esock mutex(es). It is now possible to
configure (as in autoconf) the use of simple names for the esock mutex(es).
Own Id: OTP-19548
Related Id(s): OTP-19472
> #### Full runtime dependencies of erts-15.2.4
>
> kernel-9.0, sasl-3.3, stdlib-4.1
# kernel-10.2.4
Note! The kernel-10.2.4 application _cannot_ be applied independently of other
applications on an arbitrary OTP 27 installation.
On a full OTP 27 installation, also the following runtime
dependency has to be satisfied:
-- erts-15.1 (first satisfied in OTP 27.1)
## Fixed Bugs and Malfunctions
- Behavior for socket:recv/3 has been improved. The behavior has also been
clarified in the documentation.
Own Id: OTP-19469
Related Id(s): #9172
- An infinite loop in CNAME loop detection that can cause Out Of Memory has been
fixed. This affected CNAME lookup with the internal DNS resolver.
Own Id: OTP-19545
Related Id(s): PR-9587, OTP-19544
> #### Full runtime dependencies of kernel-10.2.4
>
> crypto-5.0, erts-15.1, sasl-3.0, stdlib-6.0
# mnesia-4.23.5
The mnesia-4.23.5 application can be applied independently of other applications
on a full OTP 27 installation.
## Fixed Bugs and Malfunctions
- With this change mnesia will merge schema of tables using external backends.
Own Id: OTP-19437
Related Id(s): PR-9534
> #### Full runtime dependencies of mnesia-4.23.5
>
> erts-9.0, kernel-5.3, stdlib-5.0
# ssh-5.2.9
The ssh-5.2.9 application can be applied independently of other applications on
a full OTP 27 installation.
## Fixed Bugs and Malfunctions
- Reception of malicious KEX init message does not result with ssh daemon
excessive memory usage.
Own Id: OTP-19543
Related Id(s): CVE-2025-30211
- Call to ssh:daemon_replace_options does not crash when argument is not a valid
daemon ref.
Own Id: OTP-19559
Related Id(s): GH-9554, PR-9545
> #### Full runtime dependencies of ssh-5.2.9
>
> crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1,
> stdlib-5.0, stdlib-6.0
# ssl-11.2.10
Note! The ssl-11.2.10 application _cannot_ be applied independently of other
applications on an arbitrary OTP 27 installation.
On a full OTP 27 installation, also the following runtime
dependency has to be satisfied:
-- public_key-1.16.4 (first satisfied in OTP 27.1.3)
## Fixed Bugs and Malfunctions
- Correct handling of unassigned signature algorithms to properly ignore them
instead of failing the handshake.
Own Id: OTP-19529
Related Id(s): GH-9483, PR-9486
- Update key mechanism in CRL cache so that CRL DP with same URI path component
becomes distinguishable from each other.
Own Id: OTP-19549
Related Id(s): GH-8891, PR-9612
## Improvements and New Features
- Add callback for NSS keylogging so that it can work as expected for all
scenarios.
Own Id: OTP-19391
Related Id(s): PR-9221
> #### Full runtime dependencies of ssl-11.2.10
>
> crypto-5.0, erts-15.0, inets-5.10.7, kernel-9.0, public_key-1.16.4,
> runtime_tools-1.15.1, stdlib-6.0
# stdlib-6.2.2
The stdlib-6.2.2 application can be applied independently of other applications
on a full OTP 27 installation.
## Fixed Bugs and Malfunctions
- Fixed crash when fetching `initial_call` when user code have modified the
`process_dictionary`.
Own Id: OTP-19546
Related Id(s): ERIERL-1205, PR-9596
> #### Full runtime dependencies of stdlib-6.2.2
>
> compiler-5.0, crypto-4.5, erts-15.0, kernel-10.0, sasl-3.0
# Thanks to
Alexandre Rodrigues, Marc Worrell, Sergei Shuvatov, zmstone
Hi kuba, thanks, I see this uses a new ex_doc, does this have any effect on whether man pages will be any different/easier to build?
No, ExDoc does not support that yet. You can follow this issue to see when it is done: Output man pages · Issue #1962 · elixir-lang/ex_doc · GitHub.
Hi guys,
Moved to 27.3.1
(Ubuntu 22.04 LTS) on UAT environment for our webapp-based Cowboy 2.12.0
and all look good.
However, I’m getting the following messages on the console:
...
handle_recv_error(2599) -> send closed to <0.2460.0> when
Reason: closed
ShowReason: closed
handle_recv_error(2599) -> send closed to <0.2454.0> when
Reason: closed
ShowReason: closed
handle_recv_error(2599) -> send closed to <0.2466.0> when
Reason: closed
ShowReason: closed
handle_recv_error(2599) -> send closed to <0.2469.0> when
Reason: closed
ShowReason: closed
handle_recv_error(2599) -> send closed to <0.2472.0> when
Reason: closed
ShowReason: closed
handle_recv_error(2599) -> send closed to <0.2475.0> when
Reason: closed
ShowReason: closed
handle_recv_error(2599) -> send closed to <0.2478.0> when
Reason: closed
ShowReason: closed
Questions:
- What are they?
- How can I disable them?
Thanks
this was introduced by commit 711d1d4 ([kernel|esock] Fixed error transformation · erlang/otp@711d1d4 · GitHub]
and looks to me like leftover printf-debug code.
i do not see a way to disable it besides patching gen_tcp_socket.
@sg2342 Thanks a lot for identifying it.
@bmk @garazdawi Can this io:format
be dropped in the next release?
Yes this needs to be reverted in an upcoming patch.