Patch Package: OTP 23.3 Git Tag: OTP-23.3 Date: 2021-03-24 Trouble Report Id: OTP-13641, OTP-16876, OTP-16907, OTP-16959, OTP-16978, OTP-16985, OTP-17002, OTP-17042, OTP-17064, OTP-17073, OTP-17081, OTP-17089, OTP-17091, OTP-17096, OTP-17109, OTP-17111, OTP-17113, OTP-17116, OTP-17124, OTP-17126, OTP-17127, OTP-17145, OTP-17162, OTP-17163, OTP-17164, OTP-17166, OTP-17167, OTP-17178, OTP-17182, OTP-17187, OTP-17188, OTP-17194, OTP-17195, OTP-17197, OTP-17200, OTP-17202, OTP-17208, OTP-17209, OTP-17212, OTP-17223, OTP-17225, OTP-17229, OTP-17242, OTP-17244, OTP-17249, OTP-17252, OTP-17253, OTP-17256, OTP-17261, OTP-17265, OTP-17271, OTP-17273, OTP-17274, OTP-17281, OTP-17282, OTP-17283 Seq num: ERIERL-583, ERL-1410, ERL-1448, ERL-1471, ERL-845, GH-4353, GH-4445, GH-4451, GH-4500, GH-4502, GH-4546, GH-4549, GH-4573, GH-4589, GH-4616, GH-4620 System: OTP Release: 23 Application: common_test-1.20, compiler-7.6.7, crypto-4.9, dialyzer-4.3.1, eldap-1.2.9, erts-11.2, jinterface-1.11.1, kernel-7.3, mnesia-4.19, odbc-2.13.3, public_key-1.10, runtime_tools-1.16, sasl-4.0.2, snmp-5.8, ssh-4.11, ssl-10.3, stdlib-3.14.1, syntax_tools-2.5, tools-3.4.4, wx-1.9.3 Predecessor: OTP 23.2.7 Check out the git tag OTP-23.3, 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-23.3 -------------------------------------------------------- --------------------------------------------------------------------- --- Fixed Bugs and Malfunctions --- OTP-17164 Application(s): otp Related Id(s): ERL-845, PR-2613 Correct documentation of specifications of remote functions. --------------------------------------------------------------------- --- common_test-1.20 ------------------------------------------------ --------------------------------------------------------------------- The common_test-1.20 application can be applied independently of other applications on a full OTP 23 installation. --- Improvements and New Features --- OTP-16959 Application(s): common_test, crypto, erts Related Id(s): PR-2965 Various address sanitizer support. Full runtime dependencies of common_test-1.20: compiler-6.0, crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0, observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0, stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8 --------------------------------------------------------------------- --- compiler-7.6.7 -------------------------------------------------- --------------------------------------------------------------------- The compiler-7.6.7 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17073 Application(s): compiler Fixed a bug in the type optimization pass that could yield incorrect values or cause the wrong clauses to be executed. OTP-17126 Application(s): compiler Related Id(s): ERL-1471 Fixed a bug in the validator that could cause it to reject valid code. Full runtime dependencies of compiler-7.6.7: crypto-3.6, erts-11.0, hipe-3.12, kernel-7.0, stdlib-3.13 --------------------------------------------------------------------- --- crypto-4.9 ------------------------------------------------------ --------------------------------------------------------------------- The crypto-4.9 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17212 Application(s): crypto Fix minor memory leaks in crypto ENGINE and robustify the code. OTP-17256 Application(s): crypto Related Id(s): GH-4573, PR-4580 The otp_test_engine no longer fails if NO_EC* is set in the OpenSSL configuration. --- Improvements and New Features --- OTP-16959 Application(s): common_test, crypto, erts Related Id(s): PR-2965 Various address sanitizer support. OTP-17116 Application(s): crypto Related Id(s): PR-2972 EVP is now disabled for OpenSSL cryptolib versions up to and including 1.0.2 OTP-17145 Application(s): crypto Related Id(s): OTP-17105, PR-2872 Warning for unused C function removed Full runtime dependencies of crypto-4.9: erts-9.0, kernel-5.3, stdlib-3.4 --------------------------------------------------------------------- --- dialyzer-4.3.1 -------------------------------------------------- --------------------------------------------------------------------- The dialyzer-4.3.1 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17091 Application(s): dialyzer Correct handling of PLTs in the GUI. Full runtime dependencies of dialyzer-4.3.1: compiler-7.0, erts-9.0, hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2 --------------------------------------------------------------------- --- eldap-1.2.9 ----------------------------------------------------- --------------------------------------------------------------------- The eldap-1.2.9 application can be applied independently of other applications on a full OTP 23 installation. --- Improvements and New Features --- OTP-17166 Application(s): eldap Related Id(s): PR-2904 Add ability to specify size limit on ldap requests Full runtime dependencies of eldap-1.2.9: asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-2.0 --------------------------------------------------------------------- --- erts-11.2 ------------------------------------------------------- --------------------------------------------------------------------- The erts-11.2 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17081 Application(s): erts Related Id(s): PR-2930 Fix memory leak of about 6 words when erlang:process_flag/3 is called with a pid of an already dead process. Bug exists since OTP-21.0. OTP-17089 Application(s): erts Related Id(s): PR-2934 Fixed small memory leak in erl_drv_send_term and erl_drv_output_term when failing due to the term being invalid. OTP-17096 Application(s): erts Related Id(s): PR-2932 The DTrace/SystemTap process_heap_grow probe is now called with valid the heap and stack pointers for the process in question. OTP-17124 Application(s): erts Fixed a performance issue in memory allocation for Linux kernels that didn't support MADV_FREE. OTP-17127 Application(s): erts, jinterface A new link protocol has been introduced which prevents links from ending up in an inconsistent state where one participant considers itself linked while the other doesn't. This bug has always existed in the distributed case, but has since OTP 21 also existed in the node local case since the distributed link protocol then was adopted also for node local links. The bug could, however, only trigger if both participants operated on the link simultaneously. OTP-17163 Application(s): erts Fix memory leak when receiving sigchld from port program to already dead port. OTP-17209 Application(s): erts, kernel Related Id(s): PR-3039 Fix bug where complex seq_trace tokens (that is lists, tuples, maps etc) could becomes corrupted by the GC. The bug was introduced in OTP-21. OTP-17229 Application(s): erts Fixed WSLPATH environment variable addition to PATH on windows, the last character was lost. OTP-17253 Application(s): erts Fixed a bug in the timer implementation which could cause timers that were set to more than 37.25 hours in the future to be delayed. This could occur if there were multiple timers scheduled to be triggered very close in time, but still at different times, and the scheduler thread handling the timers was not able to handle them quickly enough. Delayed timers were in this case triggered when another unrelated timer was triggered. OTP-17265 Application(s): erts Related Id(s): PR-4596 Fixed small memory leak in erlang:trace/3 if option {tracer,_} is included and the option list is invalid or the call races with a concurrent trace or code change operation. OTP-17283 Application(s): erts Fix configure check for inet_pton on 32-bit windows. The failure of this check would cause epmd to be built without ipv6 support. --- Improvements and New Features --- OTP-16959 Application(s): common_test, crypto, erts Related Id(s): PR-2965 Various address sanitizer support. OTP-17002 Application(s): erts The emulator will now honor cgroup2 CPU quotas. OTP-17195 Application(s): erts Related Id(s): PR-4505, PR-4538 Improved memory barrier usage on ARMv8 hardware, and specifically on Apple silicon. OTP-17200 Application(s): erts Related Id(s): PR-4510 Improved memory barrier usage on 64-bit POWER hardware. OTP-17244 Application(s): erts Fix a file descriptor leak when using sendfile and the remote side closes the connection. This bug has been present since OTP-21.0. OTP-17252 Application(s): erts Related Id(s): PR-4568 Refinement of the documentation of the message_queue_data process flag. Full runtime dependencies of erts-11.2: kernel-7.0, sasl-3.3, stdlib-3.13 --------------------------------------------------------------------- --- jinterface-1.11.1 ----------------------------------------------- --------------------------------------------------------------------- The jinterface-1.11.1 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17127 Application(s): erts, jinterface A new link protocol has been introduced which prevents links from ending up in an inconsistent state where one participant considers itself linked while the other doesn't. This bug has always existed in the distributed case, but has since OTP 21 also existed in the node local case since the distributed link protocol then was adopted also for node local links. The bug could, however, only trigger if both participants operated on the link simultaneously. --------------------------------------------------------------------- --- kernel-7.3 ------------------------------------------------------ --------------------------------------------------------------------- The kernel-7.3 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-13641 Application(s): kernel Related Id(s): PR-2959 The range check for compression pointers in DNS encoding was faulty, which caused incorrect label compression encoding for very large DNS messages; larger than about 16 kBytes, such as AXFR responses. This more than 11 year old bug has now been corrected. OTP-17202 Application(s): kernel Related Id(s): PR-4516 Fix of internal links in the erpc documentation. OTP-17209 Application(s): erts, kernel Related Id(s): PR-3039 Fix bug where complex seq_trace tokens (that is lists, tuples, maps etc) could becomes corrupted by the GC. The bug was introduced in OTP-21. OTP-17223 Application(s): kernel Related Id(s): GH-4546, PR-4554 When running Xref in the modules mode, the Debugger application would show up as a depency for the Kernel applications. --- Improvements and New Features --- OTP-17178 Application(s): kernel Related Id(s): PR-3003 erl_epmd (the epmd client) will now try to reconnect to the local EPMD if the connection is broken. Full runtime dependencies of kernel-7.3: erts-11.0, sasl-3.0, stdlib-3.13 --------------------------------------------------------------------- --- mnesia-4.19 ----------------------------------------------------- --------------------------------------------------------------------- The mnesia-4.19 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17249 Application(s): mnesia Related Id(s): PR-4578 Fixed the type spec for disc_only_copies. OTP-17274 Application(s): mnesia Related Id(s): GH-4616 Do not crash in mnesia:change_config/2 if mnesia is stopping or starting. --- Improvements and New Features --- OTP-17271 Application(s): mnesia Related Id(s): PR-4575 Optimized table loading time for tables that are updated during the loading. Full runtime dependencies of mnesia-4.19: erts-9.0, kernel-5.3, stdlib-3.4 --------------------------------------------------------------------- --- odbc-2.13.3 ----------------------------------------------------- --------------------------------------------------------------------- The odbc-2.13.3 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17188 Application(s): odbc Related Id(s): ERL-1448 Make sure odbc c-process exits when erlang process orders it to shutdown. Full runtime dependencies of odbc-2.13.3: erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- public_key-1.10 ------------------------------------------------- --------------------------------------------------------------------- The public_key-1.10 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17242 Application(s): public_key Related Id(s): GH-4500 Fixed case insensitive hostname check. --- Improvements and New Features --- OTP-16907 Application(s): public_key Add sanity check of trusted anchor certificate expiration to pkix_path_validation/3. Although the anchor is considered a trusted input this sanity check does provide extra security for the users of the public_key application as this property needs to be checked at time of usage and fits very well with the other checks performed here. OTP-17111 Application(s): public_key Adjust generation of test certificates to conform to RFC 5280 rules for formatting of the certificates validity Full runtime dependencies of public_key-1.10: asn1-3.0, crypto-3.8, erts-6.0, kernel-3.0, stdlib-3.5 --------------------------------------------------------------------- --- runtime_tools-1.16 ---------------------------------------------- --------------------------------------------------------------------- The runtime_tools-1.16 application can be applied independently of other applications on a full OTP 23 installation. --- Improvements and New Features --- OTP-17208 Application(s): runtime_tools Related Id(s): GH-4502, PR-4532 Clarify documentation of module 'scheduler'. Full runtime dependencies of runtime_tools-1.16: erts-11.0, kernel-7.0, mnesia-4.12, stdlib-3.13 --------------------------------------------------------------------- --- sasl-4.0.2 ------------------------------------------------------ --------------------------------------------------------------------- The sasl-4.0.2 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17113 Application(s): sasl Related Id(s): ERL-1410, PR-2882 Fix dependent application to be stopped after the primary application when upgrading a release and the primary and dependent application is removed. Example: In a release where app1 depends on app2 and we should remove app1 and app2 using a release upgrade. When the release upgrade is done app1 should be stopped and purged before app2 as otherwise app1 could start crashing when its dependency is removed. This bugfix changes the order of removal to be correct. Full runtime dependencies of sasl-4.0.2: erts-10.2, kernel-5.3, stdlib-3.4, tools-2.6.14 --------------------------------------------------------------------- --- snmp-5.8 -------------------------------------------------------- --------------------------------------------------------------------- The snmp-5.8 application can be applied independently of other applications on a full OTP 23 installation. --- Improvements and New Features --- OTP-17109 Application(s): snmp Related Id(s): ERIERL-583 Add function to get a list of configured agent transports. Also improved agent info with regards to transports. Full runtime dependencies of snmp-5.8: crypto-3.3, erts-6.0, kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5 --------------------------------------------------------------------- --- ssh-4.11 -------------------------------------------------------- --------------------------------------------------------------------- The ssh-4.11 application can be applied independently of other applications on a full OTP 23 installation. --- Improvements and New Features --- OTP-17197 Application(s): ssh Related Id(s): 3049, PR- The long name field in SSH_FXP_NAME responses to display file information in sftp version 3 now contains the expanded format defined in the sftp draft. It is similar to what is returned by "ls -l" on Unix systems. Full runtime dependencies of ssh-4.11: crypto-4.6.4, erts-9.0, kernel-5.3, public_key-1.6.1, stdlib-3.4.1 --------------------------------------------------------------------- --- ssl-10.3 -------------------------------------------------------- --------------------------------------------------------------------- The ssl-10.3 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17261 Application(s): ssl Related Id(s): GH-4589 Fix CRL handling that previously could fail to find the issuer cert under some circumstances. OTP-17281 Application(s): ssl Related Id(s): GH-4620 TLS-1.3 client could, under some circumstances, select an incorrect algorithm to sign the certificate verification message causing a TLS Decrypt Alert being issued by the server. OTP-17282 Application(s): ssl Correct handling of default values for emulated socket options and retain the order of the ssl options list to ensure backwards compatible behavior if options should be set more than once. --- Improvements and New Features --- OTP-16876 Application(s): ssl Enhance pre TLS-1.3 session handling so the client and server side handling is completely separated and client disregards oldest session when reaching max limit of the session table. OTP-16985 Application(s): ssl This change implements the early data feature for TLS 1.3 clients. TLS 1.3 allows clients to send data in the first flight using a Pre-Shared Key to authenticate the server and to encrypt the early data. OTP-17042 Application(s): ssl This change implements the early data feature for TLS 1.3 servers. Full runtime dependencies of ssl-10.3: crypto-4.2, erts-10.0, inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12 --------------------------------------------------------------------- --- stdlib-3.14.1 --------------------------------------------------- --------------------------------------------------------------------- The stdlib-3.14.1 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-16978 Application(s): stdlib Handle maps in erl_parse:tokens(). OTP-17182 Application(s): stdlib Related Id(s): PR-3002 The erlang shell function rr has been fixed to be able to read records from files within a code archive. OTP-17194 Application(s): stdlib, tools Related Id(s): GH-4353 If beam_lib is asked to return abstract code for a BEAM file produced by Elixir and Elixir is not installed on the computer, beam_lib will no longer crash, but will return an error tuple. The cover:compile_beam() and cover:compile_beam_directory() functions have been updated to also return an error tuple in that situation. OTP-17273 Application(s): stdlib Correct example module erl_id_trans regarding the {char, C} type. Full runtime dependencies of stdlib-3.14.1: compiler-5.0, crypto-3.3, erts-11.0, kernel-7.0, sasl-3.0 --------------------------------------------------------------------- --- syntax_tools-2.5 ------------------------------------------------ --------------------------------------------------------------------- The syntax_tools-2.5 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17064 Application(s): syntax_tools Related Id(s): GH-4445, PR-2964 epp_dodger was unable to handle a parameterized macro in a function head. --- Improvements and New Features --- OTP-17167 Application(s): syntax_tools Related Id(s): OTP-17046 All functions in erl_tidy in syntax_tools have now been deprecated and are scheduled for removal in OTP 24. Users who still need it can find it at https://github.com/richcarl/erl_tidy. Full runtime dependencies of syntax_tools-2.5: compiler-7.0, erts-9.0, kernel-5.0, stdlib-3.4 --------------------------------------------------------------------- --- tools-3.4.4 ----------------------------------------------------- --------------------------------------------------------------------- The tools-3.4.4 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17162 Application(s): tools Related Id(s): GH-4549, PR-2997, PR-4555, elixir-lang/elixir#10666 cover would crash when compiling a module having an exported function named clauses. OTP-17194 Application(s): stdlib, tools Related Id(s): GH-4353 If beam_lib is asked to return abstract code for a BEAM file produced by Elixir and Elixir is not installed on the computer, beam_lib will no longer crash, but will return an error tuple. The cover:compile_beam() and cover:compile_beam_directory() functions have been updated to also return an error tuple in that situation. OTP-17225 Application(s): tools Related Id(s): GH-4451, PR-4542 Make emacs mode work on emacs-27. Full runtime dependencies of tools-3.4.4: compiler-5.0, erts-11.0, erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4 --------------------------------------------------------------------- --- wx-1.9.3 -------------------------------------------------------- --------------------------------------------------------------------- The wx-1.9.3 application can be applied independently of other applications on a full OTP 23 installation. --- Fixed Bugs and Malfunctions --- OTP-17187 Application(s): wx Fixed wx initialization on mac, top level menus did not always work on newer MacOS versions. The menues will not work until wxWidgets-3.1.5 is released and used on these MacOS versions. Full runtime dependencies of wx-1.9.3: erts-6.0, kernel-3.0, stdlib-2.0 --------------------------------------------------------------------- --- Thanks to ------------------------------------------------------- --------------------------------------------------------------------- Abdullah Al-Shehabi, Alexander Clouter, Andrew Shymanel, Bruce Yinhe, Dieter Schoen, Erwan Le Pape, Henrik Lagebrand, Jonatas Cardador, José Valim, Jérôme de Bretagne, Leo Liu, Maria-12648430, Mark Peek, Maxim Fedorov, Mikael Pettersson, Niklas Åholm, Péter Gömöri, Radek Szymczyszyn, Robert Gionea, Sebastian Smyczyński, Sergei Trofimovich, Simon Cornish, Stavros Aronis, Steve Vinoski, Tyler Stromberg, dong50252409, ergl, tehprofessor --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------