Patch Package | OTP 24.1.5 |
Git Tag | OTP-24.1.5 |
Date | 2021-11-11 |
Issue Id | |
System | OTP |
Release | 24 |
Application | |
Potential Incompatibilities |
Potential Incompatibilities #
- OTP-17734
-
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.
- 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
-
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
-
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.
- OTP-17734
-
*** 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
-
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