|
31 | 31 | </header> |
32 | 32 | <p>This document describes the changes made to the ERTS application.</p> |
33 | 33 |
|
| 34 | +<section><title>Erts 13.2</title> |
| 35 | + |
| 36 | + <section><title>Fixed Bugs and Malfunctions</title> |
| 37 | + <list> |
| 38 | + <item> |
| 39 | + <p>Fixed a bug on Windows where |
| 40 | + <c>file:read_file_info/1</c> would fail for files with |
| 41 | + corrupt metadata.</p> |
| 42 | + <p> |
| 43 | + Own Id: OTP-18348 Aux Id: GH-6356 </p> |
| 44 | + </item> |
| 45 | + <item> |
| 46 | + <p> |
| 47 | + Fix <c>process_info(_, binary)</c> to again include |
| 48 | + "writable binaries" which were lost in OTP-25.0. Writable |
| 49 | + binaries are an optimization used when binaries are |
| 50 | + appended upon in a loop.</p> |
| 51 | + <p> |
| 52 | + Own Id: OTP-18373 Aux Id: PR-6574, GH-6573 </p> |
| 53 | + </item> |
| 54 | + <item> |
| 55 | + <p> |
| 56 | + Fix rare race when receiving fragmented messages on a |
| 57 | + terminating connection. Could potentially cause memory |
| 58 | + leaks as well as double free crashes. Bug exists since |
| 59 | + OTP 22.0.</p> |
| 60 | + <p> |
| 61 | + Own Id: OTP-18382 Aux Id: PR-6585 </p> |
| 62 | + </item> |
| 63 | + <item> |
| 64 | + <p> |
| 65 | + Fixed bug that could maybe cause problems when a file |
| 66 | + descriptor number is closed by a linked in driver and |
| 67 | + then opened (reused) and passed to <c>enif_select</c> by |
| 68 | + a NIF. No actual symptoms seen, only failed internal |
| 69 | + assertions in debug build.</p> |
| 70 | + <p> |
| 71 | + Own Id: OTP-18391</p> |
| 72 | + </item> |
| 73 | + <item> |
| 74 | + <p> |
| 75 | + The runtime system could crash when tracing a process |
| 76 | + executing on a dirty scheduler.</p> |
| 77 | + <p> |
| 78 | + Own Id: OTP-18398 Aux Id: PR-6495, GH-6448, GH-5984 </p> |
| 79 | + </item> |
| 80 | + <item> |
| 81 | + <p>In the binary syntax, attempting to match out integers |
| 82 | + with size exceeding 2 GiB could crash the runtime |
| 83 | + system.</p> |
| 84 | + <p> |
| 85 | + Own Id: OTP-18406 Aux Id: GH-6701 </p> |
| 86 | + </item> |
| 87 | + <item> |
| 88 | + <p>Fixed edge case in floating-point negation where <c>A |
| 89 | + = 0.0, B = -A</c> did not produce <c>B = -0.0</c> on |
| 90 | + x86_64 JIT.</p> |
| 91 | + <p> |
| 92 | + Own Id: OTP-18411 Aux Id: GH-6717 </p> |
| 93 | + </item> |
| 94 | + <item> |
| 95 | + <p>Fixed an issue in the JIT that could crash the |
| 96 | + emulator on some platforms.</p> |
| 97 | + <p> |
| 98 | + Own Id: OTP-18418</p> |
| 99 | + </item> |
| 100 | + <item> |
| 101 | + <p> |
| 102 | + Added meta data to the windows installer.</p> |
| 103 | + <p> |
| 104 | + Own Id: OTP-18429 Aux Id: PR-6587 GH-4232 GH-6537 </p> |
| 105 | + </item> |
| 106 | + <item> |
| 107 | + <p>Fixed ETS insertion order into <c>bag</c> and |
| 108 | + <c>duplicate_bag</c> of tuples with identical keys when |
| 109 | + passed in a list to <c>ets:insert/2</c>. The insert order |
| 110 | + has been head-to-tail but was accidentally changed in OTP |
| 111 | + 23.0. For <c>bag</c> it was reverted (tail-to-head), |
| 112 | + while for <c>duplicate_bag</c> it was sometimes reverted |
| 113 | + depending on the length of the list and number of |
| 114 | + "reductions" left for the calling process.</p> <p>This |
| 115 | + fix changes the insert order of <c>ets:insert/2</c> back |
| 116 | + to always be head-to-tail of the list argument.</p> |
| 117 | + <p> |
| 118 | + Own Id: OTP-18434 Aux Id: PR-6752 </p> |
| 119 | + </item> |
| 120 | + <item> |
| 121 | + <p>With the JIT for AArch64 (AMD64), calling <c>bxor</c> |
| 122 | + in with non-integer arguments in a guard would crash the |
| 123 | + runtime system.</p> |
| 124 | + <p> |
| 125 | + Own Id: OTP-18454 Aux Id: PR-6839 </p> |
| 126 | + </item> |
| 127 | + <item> |
| 128 | + <p> |
| 129 | + Fix bug regarding process flag <c>max_heap_size</c>. |
| 130 | + Could cause strange behavior when a process was killed |
| 131 | + due to exceeding the limit.</p> |
| 132 | + <p> |
| 133 | + Own Id: OTP-18457 Aux Id: PR-6816 </p> |
| 134 | + </item> |
| 135 | + <item> |
| 136 | + <p> |
| 137 | + Fixed binary comprehensions to be similar to other |
| 138 | + creation of binary data with respect to its contribution |
| 139 | + of triggering garbage collection.</p> |
| 140 | + <p> |
| 141 | + Own Id: OTP-18458</p> |
| 142 | + </item> |
| 143 | + <item> |
| 144 | + <p>In rare circumstances, when a process exceeded its |
| 145 | + allowed heap size set by option <c>max_heap_size</c>, it |
| 146 | + would not be killed as it should be, but instead enter a |
| 147 | + kind of zombie state it would never get out of.</p> |
| 148 | + <p> |
| 149 | + Own Id: OTP-18463 Aux Id: PR-6858 </p> |
| 150 | + </item> |
| 151 | + <item> |
| 152 | + <p>Instead of crashing, the <c>list_to_integer/1</c> and |
| 153 | + <c>list_to_integer/2</c> BIFs now raise the |
| 154 | + <c>system_limit</c> exception for overlong lists that |
| 155 | + can't be converted to integers. Similarly, the |
| 156 | + <c>string:to_integer/1</c> BIF now returns |
| 157 | + <c>{error,system_limit}</c> for overlong lists.</p> |
| 158 | + <p> |
| 159 | + Own Id: OTP-18475 Aux Id: PR-6897 </p> |
| 160 | + </item> |
| 161 | + <item> |
| 162 | + <p> |
| 163 | + Active process aliases of a process at its termination |
| 164 | + leaked memory.</p> |
| 165 | + <p> |
| 166 | + Own Id: OTP-18496 Aux Id: GH-6947, PR-6953 </p> |
| 167 | + </item> |
| 168 | + </list> |
| 169 | + </section> |
| 170 | + |
| 171 | + |
| 172 | + <section><title>Improvements and New Features</title> |
| 173 | + <list> |
| 174 | + <item> |
| 175 | + <p> |
| 176 | + Support for fully asynchronous distributed signaling |
| 177 | + where send operations <em>never</em> block. This |
| 178 | + functionality is by default disabled and can be enabled |
| 179 | + per process. For more information see the documentation |
| 180 | + of <seeerl |
| 181 | + marker="erts:erlang#process_flag_async_dist"><c>process_flag(async_dist, |
| 182 | + Bool)</c></seeerl>.</p> |
| 183 | + <p> |
| 184 | + Own Id: OTP-18374 Aux Id: PR-6632 </p> |
| 185 | + </item> |
| 186 | + <item> |
| 187 | + <p>Added the <c>+JPperf no_fp</c> option to explicitly |
| 188 | + disable Erlang frame pointers otherwise added when using |
| 189 | + the <c>+JPperf map</c> option.</p> |
| 190 | + <p> |
| 191 | + Own Id: OTP-18426</p> |
| 192 | + </item> |
| 193 | + </list> |
| 194 | + </section> |
| 195 | + |
| 196 | +</section> |
| 197 | + |
34 | 198 | <section><title>Erts 13.1.5</title> |
35 | 199 |
|
36 | 200 | <section><title>Fixed Bugs and Malfunctions</title> |
|
0 commit comments