Patch Package | OTP 25.2 |
Git Tag | OTP-25.2 |
Date | 2022-12-14 |
Issue Id | |
System | OTP |
Release | 25 |
Application | |
Potential Incompatibilities |
Potential Incompatibilities #
- OTP-18324
-
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.
- 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.
- 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
-
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
-
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.
- OTP-18307
-
Dialyzer would crash when attempting to analyze a bit syntax segment size having an literal non-integer size such as [].
- OTP-18347
-
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)
- 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
-
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
-
*** 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
-
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
-
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.
- 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.
- 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
-
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)
- 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
-
*** 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-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.
- 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.
- 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.
- OTP-18339
-
- Application(s):
- observer
A WX event race could causes a crash in when handling socket or port info.
- 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.
- 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.
- 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.
- 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.
- 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)
- OTP-18314
-
- Application(s):
- ssl
- Related Id(s):
- GH-6373
With this change, tls_sender process is hibernated after sufficient inactivity.
- OTP-18332
-
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.
- OTP-18257
-
- Application(s):
- ssl
- Related Id(s):
- GH-6307
Enhance warning message
- OTP-18267
-
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)
- 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
-
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
-
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.
- 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.
- 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