Patch Package OTP 25.2 Released
Erlang/OTP
otp@REDACTED
Wed Dec 14 12:11:09 CET 2022
Patch Package: OTP 25.2
Git Tag: OTP-25.2
Date: 2022-12-14
Trouble Report Id: OTP-18213, OTP-18250, OTP-18251, OTP-18252,
OTP-18255, OTP-18256, OTP-18257, OTP-18267,
OTP-18268, OTP-18269, OTP-18270, OTP-18273,
OTP-18280, OTP-18281, OTP-18283, OTP-18284,
OTP-18289, OTP-18291, OTP-18292, OTP-18293,
OTP-18294, OTP-18295, OTP-18296, OTP-18298,
OTP-18302, OTP-18304, OTP-18306, OTP-18307,
OTP-18308, OTP-18313, OTP-18314, OTP-18315,
OTP-18317, OTP-18319, OTP-18321, OTP-18322,
OTP-18323, OTP-18324, OTP-18325, OTP-18326,
OTP-18328, OTP-18332, OTP-18333, OTP-18336,
OTP-18339, OTP-18343, OTP-18345, OTP-18347,
OTP-18349, OTP-18351, OTP-18352
Seq num: ERIERL-865, ERIERL-867, ERIERL-875,
ERIERL-881, ERIERL-885, ERL-6435, GH-5823,
GH-6106, GH-6245, GH-6290, GH-6307, GH-6332,
GH-6341, GH-6363, GH-6373, GH-6387, GH-6393,
GH-6419, GH-6426, GH-6435, GH-6439, GH-6461,
GH-6465, GH-6466, GH-6473, GH-6496, GH-6501,
GH-6518
System: OTP
Release: 25
Application: common_test-1.23.2, compiler-8.2.2,
dialyzer-5.0.4, erts-13.1.3, ftp-1.1.2,
inets-8.2, kernel-8.5.2, megaco-4.4.2,
mnesia-4.21.3, observer-2.14, os_mon-2.8,
public_key-1.13.2, snmp-5.13.2, ssh-4.15.1,
ssl-10.8.6, stdlib-4.2, wx-2.2.1
Predecessor: OTP 25.1.2
Check out the git tag OTP-25.2, 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.
---------------------------------------------------------------------
--- POTENTIAL INCOMPATIBILITIES -------------------------------------
---------------------------------------------------------------------
OTP-18324 Application(s): erts, kernel
Related Id(s): GH-6461, PR-6481
The inet:setopts/2 {reuseaddr, true} option will now be
ignored on Windows unless the socket is an UDP socket.
For more information see the documentation of the
reuseaddr option part of the documentation of
inet:setopts/2.
Prior to OTP 25 the {reuseaddr, true} option was
ignored for all sockets on Windows, but as of OTP 25.0
this was changed so that it was not ignored for any
sockets.
---------------------------------------------------------------------
--- common_test-1.23.2 ----------------------------------------------
---------------------------------------------------------------------
The common_test-1.23.2 application can be applied independently of
other applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18255 Application(s): common_test
Related Id(s): PR-6314
Fix starting of peer nodes on old releases when the
compile server was active and the current Erlang
installation contained non-latin1 characters in its
path.
Full runtime dependencies of common_test-1.23.2: compiler-6.0,
crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
---------------------------------------------------------------------
--- compiler-8.2.2 --------------------------------------------------
---------------------------------------------------------------------
The compiler-8.2.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18268 Application(s): compiler
Related Id(s): GH-6332
Line number in compiler messages would be truncated to
4 digits for line numbers greater than 9999.
OTP-18273 Application(s): compiler
Related Id(s): GH-6341
In rare circumstance, matching a binary as part of a
receive clause could cause the compiler to terminate
because of an internal consistency check failure.
OTP-18308 Application(s): compiler
Related Id(s): GH-6426
Compiling a function with complex bit syntax matching
such as f(<<X:0, _:X>>, <<Y:0, _:Y>>) -> ok. could
crash the compiler.
OTP-18325 Application(s): compiler, stdlib
Related Id(s): GH-6465, GH-6466
It is not allowed to call functions from guards. The
compiler failed to reject a call in a guard when done
by constructing a record with a default initialization
expression that called a function.
OTP-18336 Application(s): compiler, stdlib
Related Id(s): GH-6501, PR-6502
The compiler could crash when using a record with
complex field initialization expression as a filter in
a list comprehension.
Full runtime dependencies of compiler-8.2.2: crypto-5.1, erts-13.0,
kernel-8.4, stdlib-4.0
---------------------------------------------------------------------
--- dialyzer-5.0.4 --------------------------------------------------
---------------------------------------------------------------------
The dialyzer-5.0.4 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18307 Application(s): dialyzer
Related Id(s): GH-6419, GH-6473
Dialyzer would crash when attempting to analyze a bit
syntax segment size having an literal non-integer size
such as [].
OTP-18347 Application(s): dialyzer
Related Id(s): GH-6518, PR-6525
Dialyzer could crash when trying to analyze a
convoluted nested expression involving funs,
Full runtime dependencies of dialyzer-5.0.4: compiler-8.0, erts-12.0,
kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
---------------------------------------------------------------------
--- erts-13.1.3 -----------------------------------------------------
---------------------------------------------------------------------
Note! The erts-13.1.3 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-18256 Application(s): erts
Related Id(s): PR-6316
Fix perf/gdb JIT symbols to not contain
CodeInfoPrologue for the JIT internal module
erts_beamasm.
OTP-18281 Application(s): erts
Related Id(s): PR-4840
Fixed minor memory leaks.
OTP-18284 Application(s): erts
Related Id(s): PR-6305
Fix bugs in ets:insert and ets:insert_new when called
with a list of tuples to insert while a concurrent
process either deletes or renames the table. The table
deletion could be done with ets:delete/1 or be caused
by termination of the table owning process.
Symptoms are either VM crash or strange incorrect
behavior from the insert operation. The risk of
triggering the bugs increases with the length of the
list of tuple to insert. Bugs exist since OTP 23.0.
OTP-18294 Application(s): erts
Related Id(s): PR-6390
Boost execution of scheduled thread progress jobs. This
to prevent memory exhaustion in extremely rapid
allocation/deallocation scenarios, such as repeated ETS
table creations/deletions.
OTP-18295 Application(s): erts
Fix segv crash during crash dumping an ETS table doing
ets:delete_all_objects.
OTP-18296 Application(s): erts, kernel
Related Id(s): OTP-16464
Spec for function net:if_names/0 incorrect
OTP-18306 Application(s): erts
Related Id(s): GH-6393, PR-6401
Fix bug in binary_to_term decoding a binary term 2Gbyte
or larger.
OTP-18313 Application(s): erts
Related Id(s): PR-6456
Documentation of erlang:module_loaded/1 has been
adjusted:
-- It did not previously say that the BIF only returns
true for modules loaded as current code.
-- The warning claiming that the BIF should only be
used by the code server has been removed.
OTP-18321 Application(s): erts
Fix list_to_atom/1 for negative code points. Could
either return with a positive code point or fail with
an incorrect exception.
OTP-18322 Application(s): erts
Related Id(s): PR-6479
Fix rare bug causing VM crash when sending to a pid of
a spawning process returned from erlang:processes/0.
Only seen when provoked by system process
literal_area_collector, triggered by a module purge
operation, on a VM started with +Meamin (no customized
allocators).
OTP-18323 Application(s): erts, kernel
Related Id(s): #6476
gen_udp:open/2 with option(s) add_membership or
drop_membership would drop earlier options.
OTP-18324 Application(s): erts, kernel
Related Id(s): GH-6461, PR-6481
*** POTENTIAL INCOMPATIBILITY ***
The inet:setopts/2 {reuseaddr, true} option will now be
ignored on Windows unless the socket is an UDP socket.
For more information see the documentation of the
reuseaddr option part of the documentation of
inet:setopts/2.
Prior to OTP 25 the {reuseaddr, true} option was
ignored for all sockets on Windows, but as of OTP 25.0
this was changed so that it was not ignored for any
sockets.
OTP-18328 Application(s): erts
Related Id(s): GH-6439, PR-6440
Fix bug in binary_to_term decoding a list of length 1G
or longer.
OTP-18343 Application(s): erts
Related Id(s): GH-6496
Fix bug in binary_to_term (and distributed receive)
when decoding a large map (>32 keys) with unsorted
small maps (<= 32) as keys of the large map.
This was only a problem if the term was encoded by
erl_interface, jinterface or otherwise, as the VM
itself always encodes small maps with sorted keys.
The "binary_to_term" would appear as successful but the
created large map was internally inconsistent. The
smaller key-maps could not be found with maps:get and
friends. Other operations such as map compare and merge
could probably also give incorrect results.
OTP-18345 Application(s): erts
Related Id(s): GH-6387, PR-6396
Fix Windows bug in open_port({spawn, Command}, ..) when
Command is found via the OS search PATH and that
directory path contains white spaces. The port program
would start but the command line arguments to it could
be incorrect.
Full runtime dependencies of erts-13.1.3: kernel-8.5, sasl-3.3,
stdlib-4.1
---------------------------------------------------------------------
--- ftp-1.1.2 -------------------------------------------------------
---------------------------------------------------------------------
The ftp-1.1.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18252 Application(s): ftp
Related Id(s): GH-5823
fix unexpected result ok when calling ftp:nlist
repeatedly
Full runtime dependencies of ftp-1.1.2: erts-7.0, kernel-6.0,
runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
---------------------------------------------------------------------
--- inets-8.2 -------------------------------------------------------
---------------------------------------------------------------------
The inets-8.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Improvements and New Features ---
OTP-18250 Application(s): inets
This change allows body requests to httpc:request/5 be
an iolist()
OTP-18251 Application(s): inets
Related Id(s): GH-6245
addition of type specs in httpc.erl
OTP-18280 Application(s): inets
Related Id(s): GH-6290, PR-6291
httpc: Add support for HTTP 308 status code
Full runtime dependencies of inets-8.2: erts-6.0, kernel-6.0,
mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
stdlib-4.0
---------------------------------------------------------------------
--- kernel-8.5.2 ----------------------------------------------------
---------------------------------------------------------------------
Note! The kernel-8.5.2 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-18270 Application(s): kernel
Related Id(s): #6331
Fixed shutdown crash in gen_tcp socket backend, when
the other end closed the socket.
OTP-18289 Application(s): kernel, stdlib
Related Id(s): PR-6343
erl_tar can now read gzip-compressed tar files that are
padded. There is a new option compressed_one for
file:open/2 that will read a single member from a gzip
file,
OTP-18291 Application(s): kernel
Related Id(s): PR-6382
Fix os:cmd to not translate all exceptions thrown to
badarg. For example emfile from erlang:open_port was
translated to badarg.
This bug has existed since Erlang/OTP 24.
OTP-18296 Application(s): erts, kernel
Related Id(s): OTP-16464
Spec for function net:if_names/0 incorrect
OTP-18315 Application(s): kernel
Missing ctrl option name transation for TOS and TTL (on
FreeBSD) when using gen_udp with the 'socket'
inet_backend.
OTP-18323 Application(s): erts, kernel
Related Id(s): #6476
gen_udp:open/2 with option(s) add_membership or
drop_membership would drop earlier options.
OTP-18324 Application(s): erts, kernel
Related Id(s): GH-6461, PR-6481
*** POTENTIAL INCOMPATIBILITY ***
The inet:setopts/2 {reuseaddr, true} option will now be
ignored on Windows unless the socket is an UDP socket.
For more information see the documentation of the
reuseaddr option part of the documentation of
inet:setopts/2.
Prior to OTP 25 the {reuseaddr, true} option was
ignored for all sockets on Windows, but as of OTP 25.0
this was changed so that it was not ignored for any
sockets.
--- Improvements and New Features ---
OTP-18293 Application(s): kernel
The distribution socket option handling in
inet_tcp_dist has been cleaned up to clarify which were
mandatory and which just had default values.
OTP-18317 Application(s): kernel
Improve warning message format for gen_tcp_socket.
Full runtime dependencies of kernel-8.5.2: crypto-5.0, erts-13.1.3,
sasl-3.0, stdlib-4.1.1
---------------------------------------------------------------------
--- megaco-4.4.2 ----------------------------------------------------
---------------------------------------------------------------------
The megaco-4.4.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Improvements and New Features ---
OTP-18298 Application(s): megaco
A very minor improvement to the measurement tool.
Full runtime dependencies of megaco-4.4.2: asn1-3.0, debugger-4.0,
erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
--- mnesia-4.21.3 ---------------------------------------------------
---------------------------------------------------------------------
The mnesia-4.21.3 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18319 Application(s): mnesia
Related Id(s): ERIERL-875
Fixed crash which could happen during startup if too
many decisions where sent from remote nodes.
Full runtime dependencies of mnesia-4.21.3: erts-9.0, kernel-5.3,
stdlib-3.4
---------------------------------------------------------------------
--- observer-2.14 ---------------------------------------------------
---------------------------------------------------------------------
The observer-2.14 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18339 Application(s): observer
A WX event race could causes a crash in when handling
socket or port info.
--- Improvements and New Features ---
OTP-18269 Application(s): observer
Related Id(s): PR-6030
Improve the nodes menu to include more nodes.
Full runtime dependencies of observer-2.14: erts-11.0, et-1.5,
kernel-8.1, runtime_tools-1.19, stdlib-3.13, wx-1.2
---------------------------------------------------------------------
--- os_mon-2.8 ------------------------------------------------------
---------------------------------------------------------------------
The os_mon-2.8 application can be applied independently of other
applications on a full OTP 25 installation.
--- Improvements and New Features ---
OTP-18304 Application(s): os_mon
Related Id(s): PR-6385
The disk_space_check_interval configuration parameter
of disksup can now be set to values smaller than a
minute.
Full runtime dependencies of os_mon-2.8: erts-6.0, kernel-3.0,
sasl-2.4, stdlib-3.4
---------------------------------------------------------------------
--- public_key-1.13.2 -----------------------------------------------
---------------------------------------------------------------------
The public_key-1.13.2 application can be applied independently of
other applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18333 Application(s): public_key
Related Id(s): GH-6363
Disregard LDAP URIs when HTTP URIs are expected.
Full runtime dependencies of public_key-1.13.2: asn1-3.0, crypto-4.6,
erts-6.0, kernel-3.0, stdlib-3.5
---------------------------------------------------------------------
--- snmp-5.13.2 -----------------------------------------------------
---------------------------------------------------------------------
The snmp-5.13.2 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18352 Application(s): snmp
Related Id(s): ERIERL-881
Explicitly close the socket(s) when terminating
(default-) net-if process.
Full runtime dependencies of snmp-5.13.2: crypto-4.6, erts-12.0,
kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
---------------------------------------------------------------------
--- ssh-4.15.1 ------------------------------------------------------
---------------------------------------------------------------------
The ssh-4.15.1 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18326 Application(s): ssh
Related Id(s): ERIERL-865
graceful shutdown of ssh_conection_handler when
connection is closed by peer
Full runtime dependencies of ssh-4.15.1: crypto-5.0, erts-11.0,
kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
---------------------------------------------------------------------
--- ssl-10.8.6 ------------------------------------------------------
---------------------------------------------------------------------
Note! The ssl-10.8.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
dependency has to be satisfied:
-- stdlib-4.1 (first satisfied in OTP 25.1)
--- Fixed Bugs and Malfunctions ---
OTP-18314 Application(s): ssl
Related Id(s): GH-6373
With this change, tls_sender process is hibernated
after sufficient inactivity.
OTP-18332 Application(s): ssl
Related Id(s): ERL-6435, GH-6435, PR-6435
Correct handling of legacy schemes so that ECDSA certs
using sha1 may be used for some TLS-1.3 configurations.
OTP-18349 Application(s): ssl
With this change, tls_sender does not cause logger
crash upon key update.
--- Improvements and New Features ---
OTP-18257 Application(s): ssl
Related Id(s): GH-6307
Enhance warning message
OTP-18267 Application(s): ssl
Related Id(s): GH-6106, PR-6228
Provide server option to make certificate_authorities
extension in the TLS-1.3 servers certificate request
optional. This will allow clients to send incomplete
chains that may be reconstructable and thereby
verifiable by the server, but that would not adhere to
the certificate_authorities extension.
OTP-18302 Application(s): ssl
Related Id(s): ERIERL-867
If the verify_fun handles four arguments the DER cert
will be supplied as one of the arguments.
Full runtime dependencies of ssl-10.8.6: crypto-5.0, erts-10.0,
inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
stdlib-4.1
---------------------------------------------------------------------
--- stdlib-4.2 ------------------------------------------------------
---------------------------------------------------------------------
Note! The stdlib-4.2 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 (first satisfied in OTP 25.1)
-- kernel-8.5.1 (first satisfied in OTP 25.1.1)
--- Fixed Bugs and Malfunctions ---
OTP-18289 Application(s): kernel, stdlib
Related Id(s): PR-6343
erl_tar can now read gzip-compressed tar files that are
padded. There is a new option compressed_one for
file:open/2 that will read a single member from a gzip
file,
OTP-18292 Application(s): stdlib
Related Id(s): PR-6366
A concurrent call to ets:rename could cause
ets:delete_all_objects to fail halfway through with
badarg.
OTP-18325 Application(s): compiler, stdlib
Related Id(s): GH-6465, GH-6466
It is not allowed to call functions from guards. The
compiler failed to reject a call in a guard when done
by constructing a record with a default initialization
expression that called a function.
OTP-18336 Application(s): compiler, stdlib
Related Id(s): GH-6501, PR-6502
The compiler could crash when using a record with
complex field initialization expression as a filter in
a list comprehension.
OTP-18351 Application(s): stdlib
Related Id(s): ERIERL-885, PR-6529
unicode:characters_to_binary() could build
unnecessarily large call stack.
--- Improvements and New Features ---
OTP-18283 Application(s): stdlib
Related Id(s): PR-6338
Improve error message for ets:new/2 name clash. Say
"name already exists" instead of less specific "invalid
options".
Full runtime dependencies of stdlib-4.2: compiler-5.0, crypto-4.5,
erts-13.1, kernel-8.5.1, sasl-3.0
---------------------------------------------------------------------
--- wx-2.2.1 --------------------------------------------------------
---------------------------------------------------------------------
The wx-2.2.1 application can be applied independently of other
applications on a full OTP 25 installation.
--- Fixed Bugs and Malfunctions ---
OTP-18213 Application(s): wx
Related Id(s): PR-6113
Added environment variable WX_MACOS_NON_GUI_APP to
allow user to override OSXIsGUIApplication behavior.
Full runtime dependencies of wx-2.2.1: erts-12.0, kernel-8.0,
stdlib-3.15
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
More information about the erlang-announce
mailing list