Patch Package OTP 24.1.5 Released

Erlang/OTP otp@REDACTED
Thu Nov 11 18:54:19 CET 2021


Patch Package:           OTP 24.1.5
Git Tag:                 OTP-24.1.5
Date:                    2021-11-11
Trouble Report Id:       OTP-17734, OTP-17735, OTP-17736, OTP-17737
Seq num:                 GH-4989, GH-5279, GH-5327, GH-5339, GH-5346
System:                  OTP
Release:                 24
Application:             erts-12.1.5, kernel-8.1.3
Predecessor:             OTP 24.1.4

 Check out the git tag OTP-24.1.5, 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-17734    Application(s): kernel
               Related Id(s): GH-5327, OTP-17659

               The internal, undocumented, but used, module inet_dns
               has been fixed to handle mDNS high bit usage of the
               Class field.

               Code that uses the previously obsolete, undocumented
               and unused record field #dns_rr.func will need to be
               updated since that field is now used as a boolean flag
               for the mDNS high Class bit. Code that uses the also
               undocumented record #dns_query will need to be
               recompiled since a boolean field
               #dns_query.unicast_response has been added for the mDNS
               high Class bit.


 ---------------------------------------------------------------------
 --- erts-12.1.5 -----------------------------------------------------
 ---------------------------------------------------------------------

 The erts-12.1.5 application can be applied independently of other
 applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-17735    Application(s): erts
               Related Id(s): GH-5339

               The runtime system could call select() with a too large
               timeout value when executing on MacOS. This could in
               turn cause the runtime system to crash.


  OTP-17736    Application(s): erts, kernel
               Related Id(s): GH-5279, OTP-17559, PR-5120

               The fix for Linux's behaviour when reconnecting an UDP
               socket in PR-5120 released in OTP-24.1.2 has been
               refined to only dissolve the socket's connection before
               a connect if the socket is already connected, that is:
               only for a reconnect.

               This allows code to open a socket with an ephemeral
               port, get the port number and connect; without the port
               number changing (on Linux). This turned out to have at
               least one valid use case (besides test cases).

               Should one reconnect the socket then the port number
               may change, on Linux; it is a known quirk, which can be
               worked around by binding to a specific port number when
               opening the socket. If you can do without an ephemeral
               port, that is...


  OTP-17737    Application(s): erts
               Related Id(s): GH-4989, GH-5346

               Certain distributed signals that for various reasons
               must to be forced into the distribution buffer even
               when it is full would instead be lost if the
               distribution buffer was full when sent. The effected
               signals:

               -- EXIT signals with exit reasons of one word size.

               -- DOWN signals with exit reasons of one word size.

               -- demonitor signals from a terminating process.

               -- unlink_ack signals on OTP 23 and 24.

               -- spawn_reply signals on OTP 23 and 24.


 Full runtime dependencies of erts-12.1.5: kernel-8.0, sasl-3.3,
 stdlib-3.13


 ---------------------------------------------------------------------
 --- kernel-8.1.3 ----------------------------------------------------
 ---------------------------------------------------------------------

 The kernel-8.1.3 application can be applied independently of other
 applications on a full OTP 24 installation.

 --- Fixed Bugs and Malfunctions ---

  OTP-17734    Application(s): kernel
               Related Id(s): GH-5327, OTP-17659

               *** POTENTIAL INCOMPATIBILITY ***

               The internal, undocumented, but used, module inet_dns
               has been fixed to handle mDNS high bit usage of the
               Class field.

               Code that uses the previously obsolete, undocumented
               and unused record field #dns_rr.func will need to be
               updated since that field is now used as a boolean flag
               for the mDNS high Class bit. Code that uses the also
               undocumented record #dns_query will need to be
               recompiled since a boolean field
               #dns_query.unicast_response has been added for the mDNS
               high Class bit.


  OTP-17736    Application(s): erts, kernel
               Related Id(s): GH-5279, OTP-17559, PR-5120

               The fix for Linux's behaviour when reconnecting an UDP
               socket in PR-5120 released in OTP-24.1.2 has been
               refined to only dissolve the socket's connection before
               a connect if the socket is already connected, that is:
               only for a reconnect.

               This allows code to open a socket with an ephemeral
               port, get the port number and connect; without the port
               number changing (on Linux). This turned out to have at
               least one valid use case (besides test cases).

               Should one reconnect the socket then the port number
               may change, on Linux; it is a known quirk, which can be
               worked around by binding to a specific port number when
               opening the socket. If you can do without an ephemeral
               port, that is...


 Full runtime dependencies of kernel-8.1.3: crypto-5.0, erts-12.0,
 sasl-3.0, stdlib-3.13


 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------



More information about the erlang-questions mailing list