|
30 | 30 | </header>
|
31 | 31 | <p>This document describes the changes made to the ERTS application.</p>
|
32 | 32 |
|
| 33 | +<section><title>Erts 5.8.2</title> |
| 34 | + |
| 35 | + <section><title>Fixed Bugs and Malfunctions</title> |
| 36 | + <list> |
| 37 | + <item> |
| 38 | + <p> Fix format_man_pages so it handles all man sections |
| 39 | + and remove warnings/errors in various man pages. </p> |
| 40 | + <p> |
| 41 | + Own Id: OTP-8600</p> |
| 42 | + </item> |
| 43 | + <item> |
| 44 | + <p> |
| 45 | + The <c>configure</c> command line argument <seealso |
| 46 | + marker="doc/installation_guide:INSTALL#How-to-Build-and-Install-ErlangOTP_A-Closer-Look-at-the-individual-Steps_Configuring">--enable-ethread-pre-pentium4-compatibility</seealso> |
| 47 | + had no effect. This option is now also automatically |
| 48 | + enabled if required on the build machine.</p> |
| 49 | + <p> |
| 50 | + Own Id: OTP-8847</p> |
| 51 | + </item> |
| 52 | + <item> |
| 53 | + <p> |
| 54 | + Windows 2003 and Windows XP pre SP3 would sometimes not |
| 55 | + start the Erlang R14B VM at all due to a bug in the cpu |
| 56 | + topology detection. The bug affects Windows only, no |
| 57 | + other platform is even remotely affected. The bug is now |
| 58 | + corrected.</p> |
| 59 | + <p> |
| 60 | + Own Id: OTP-8876</p> |
| 61 | + </item> |
| 62 | + <item> |
| 63 | + <p> |
| 64 | + The HiPE run-time in the 64-bit emulator could do a |
| 65 | + 64-bit write to a 32-bit struct field. It happened to be |
| 66 | + harmless on Intel/AMD processors. Corrected. (Thanks to |
| 67 | + Mikael Pettersson.)</p> |
| 68 | + <p> |
| 69 | + Own Id: OTP-8877</p> |
| 70 | + </item> |
| 71 | + <item> |
| 72 | + <p> |
| 73 | + A bug in <seealso |
| 74 | + marker="erl_driver#erl_drv_tsd_get">erl_drv_tsd_get()</seealso> |
| 75 | + and <seealso |
| 76 | + marker="erl_nif#enif_tsd_get">enif_tsd_get()</seealso> |
| 77 | + could cause an emulator crash. These functions are |
| 78 | + currently not used in OTP. That is, the crash only occur |
| 79 | + on systems with user implemented NIF libraries, or |
| 80 | + drivers that use one of these functions.</p> |
| 81 | + <p> |
| 82 | + Own Id: OTP-8889</p> |
| 83 | + </item> |
| 84 | + <item> |
| 85 | + <p> |
| 86 | + Calling <c>erlang:system_info({cpu_topology, |
| 87 | + CpuTopologyType})</c> with another <c>CpuTopologyType</c> |
| 88 | + element than one of the documented atoms <c>defined</c>, |
| 89 | + <c>detected</c>, or <c>used</c> caused an emulator crash. |
| 90 | + (Thanks to Paul Guyot)</p> |
| 91 | + <p> |
| 92 | + Own Id: OTP-8914</p> |
| 93 | + </item> |
| 94 | + <item> |
| 95 | + <p> |
| 96 | + The ERTS internal rwlock implementation could get into an |
| 97 | + inconsistent state. This bug was very seldom triggered, |
| 98 | + but could be during heavy contention. The bug was |
| 99 | + introduced in R14B (erts-5.8.1).</p> |
| 100 | + <p> |
| 101 | + The bug was most likely to be triggered when using the |
| 102 | + <c>read_concurrency</c> option on an ETS table that was |
| 103 | + frequently accessed from multiple processes doing lots of |
| 104 | + writes and reads. That is, in a situation where you |
| 105 | + typically don't want to use the <c>read_concurrency</c> |
| 106 | + option in the first place.</p> |
| 107 | + <p> |
| 108 | + Own Id: OTP-8925 Aux Id: OTP-8544 </p> |
| 109 | + </item> |
| 110 | + <item> |
| 111 | + <p> |
| 112 | + Tracing to port could cause an emulator crash when |
| 113 | + unloading the trace driver.</p> |
| 114 | + <p> |
| 115 | + Own Id: OTP-8932</p> |
| 116 | + </item> |
| 117 | + <item> |
| 118 | + <p> |
| 119 | + Removed use of CancelIoEx on Windows that had been shown |
| 120 | + to cause problems with some drivers.</p> |
| 121 | + <p> |
| 122 | + Own Id: OTP-8937</p> |
| 123 | + </item> |
| 124 | + <item> |
| 125 | + <p> |
| 126 | + The fallback implementation used when no native atomic |
| 127 | + implementation was found did not compile. (Thanks to |
| 128 | + Patrick Baggett, and Tuncer Ayaz)</p> |
| 129 | + <p> |
| 130 | + Own Id: OTP-8944</p> |
| 131 | + </item> |
| 132 | + <item> |
| 133 | + <p> |
| 134 | + Some integer values used during load balancing could |
| 135 | + under rare circumstances wrap causing a load unbalance |
| 136 | + between schedulers.</p> |
| 137 | + <p> |
| 138 | + Own Id: OTP-8950</p> |
| 139 | + </item> |
| 140 | + <item> |
| 141 | + <p> |
| 142 | + The windows VM now correctly handles appending to large |
| 143 | + files (> 4GB).</p> |
| 144 | + <p> |
| 145 | + Own Id: OTP-8958</p> |
| 146 | + </item> |
| 147 | + <item> |
| 148 | + <p> |
| 149 | + Name resolving of IPv6 addresses has been implemented for |
| 150 | + Windows versions that support it. The use of ancient |
| 151 | + resolver flags (AI_V4MAPPED | AI_ADDRCONFIG) to the |
| 152 | + getaddrinfo() function has been removed since e.g FreeBSD |
| 153 | + regard mapped IPv4 addresses to be a security problem and |
| 154 | + the semantics of the address configured flag is |
| 155 | + uncertain.</p> |
| 156 | + <p> |
| 157 | + Own Id: OTP-8969</p> |
| 158 | + </item> |
| 159 | + </list> |
| 160 | + </section> |
| 161 | + |
| 162 | + |
| 163 | + <section><title>Improvements and New Features</title> |
| 164 | + <list> |
| 165 | + <item> |
| 166 | + <p> |
| 167 | + The help texts produced by the <c>configure</c> scripts |
| 168 | + in the top directory and in the erts directory have been |
| 169 | + aligned and cleaned up.</p> |
| 170 | + <p> |
| 171 | + Own Id: OTP-8859</p> |
| 172 | + </item> |
| 173 | + <item> |
| 174 | + <p> |
| 175 | + When the runtime system had fewer schedulers than logical |
| 176 | + processors, the system could get an unnecessarily large |
| 177 | + amount reader groups.</p> |
| 178 | + <p> |
| 179 | + Own Id: OTP-8861</p> |
| 180 | + </item> |
| 181 | + <item> |
| 182 | + <p> |
| 183 | + <c>run_rel</c> has been updated to support Solaris's |
| 184 | + /dev/ptmx device and to load the necessary STREAMS |
| 185 | + modules so that <c>to_erl</c> can provide terminal echo |
| 186 | + of keyboard input. (Thanks to Ryan Tilder.)</p> |
| 187 | + <p> |
| 188 | + Own Id: OTP-8878</p> |
| 189 | + </item> |
| 190 | + <item> |
| 191 | + <p> |
| 192 | + The Erlang VM now supports Unicode filenames. The feature |
| 193 | + is turned on by default on systems where Unicode |
| 194 | + filenames are mandatory (Windows and MacOSX), but can be |
| 195 | + enabled on other systems with the '+fnu' emulator option. |
| 196 | + Enabling the Unicode filename feature on systems where it |
| 197 | + is not default is however considered experimental and not |
| 198 | + to be used for production. Together with the Unicode file |
| 199 | + name support, the concept of "raw filenames" is |
| 200 | + introduced, which means filenames provided without |
| 201 | + implicit unicode encoding translation. Raw filenames are |
| 202 | + provided as binaries, not lists. For further information, |
| 203 | + see stdlib users guide and the chapter about using |
| 204 | + Unicode in Erlang. Also see the file module manual page.</p> |
| 205 | + <p> |
| 206 | + *** POTENTIAL INCOMPATIBILITY ***</p> |
| 207 | + <p> |
| 208 | + Own Id: OTP-8887</p> |
| 209 | + </item> |
| 210 | + <item> |
| 211 | + <p>Buffer overflows have been prevented in <c>erlc</c>, |
| 212 | + <c>dialyzer</c>, <c>typer</c>, <c>run_test</c>, |
| 213 | + <c>heart</c>, <c>escript</c>, and <c>erlexec</c>.</p> |
| 214 | + (Thanks to Michael Santos.) |
| 215 | + <p> |
| 216 | + Own Id: OTP-8892</p> |
| 217 | + </item> |
| 218 | + <item> |
| 219 | + <p> |
| 220 | + The runtime system is now less eager to suspend processes |
| 221 | + sending messages over the distribution. The default value |
| 222 | + of the distribution buffer busy limit has also been |
| 223 | + increased from 128 KB to 1 MB. This in order to improve |
| 224 | + throughput.</p> |
| 225 | + <p> |
| 226 | + Own Id: OTP-8901</p> |
| 227 | + </item> |
| 228 | + <item> |
| 229 | + <p> |
| 230 | + The distribution buffer busy limit can now be configured |
| 231 | + at system startup. For more information see the |
| 232 | + documentation of the <c>erl</c> <seealso |
| 233 | + marker="erl#+zdbbl">+zdbbl</seealso> command line flag. |
| 234 | + (Thanks to Scott Lystig Fritchie)</p> |
| 235 | + <p> |
| 236 | + Own Id: OTP-8912</p> |
| 237 | + </item> |
| 238 | + <item> |
| 239 | + <p> |
| 240 | + The inet driver internal buffer stack implementation has |
| 241 | + been rewritten in order to reduce lock contention.</p> |
| 242 | + <p> |
| 243 | + Own Id: OTP-8916</p> |
| 244 | + </item> |
| 245 | + <item> |
| 246 | + <p> |
| 247 | + New ETS option <c>compressed</c>, to enable a more |
| 248 | + compact storage format at the expence of heavier table |
| 249 | + operations. For test and evaluation, <c>erl +ec</c> can |
| 250 | + be used to force compression on all ETS tables.</p> |
| 251 | + <p> |
| 252 | + Own Id: OTP-8922 Aux Id: seq11658 </p> |
| 253 | + </item> |
| 254 | + <item> |
| 255 | + <p> |
| 256 | + There is now a new function inet:getifaddrs/0 modeled |
| 257 | + after C library function getifaddrs() on BSD and LInux |
| 258 | + that reports existing interfaces and their addresses on |
| 259 | + the host. This replaces the undocumented and unsupported |
| 260 | + inet:getiflist/0 and inet:ifget/2.</p> |
| 261 | + <p> |
| 262 | + Own Id: OTP-8926</p> |
| 263 | + </item> |
| 264 | + <item> |
| 265 | + <p> |
| 266 | + Support for detection of CPU topology and binding of |
| 267 | + schedulers on FreeBSD 8 have been added. (Thanks to Paul |
| 268 | + Guyot)</p> |
| 269 | + <p> |
| 270 | + Own Id: OTP-8939</p> |
| 271 | + </item> |
| 272 | + <item> |
| 273 | + <p> |
| 274 | + Several bugs related to hibernate/3 and HiPE have been |
| 275 | + corrected. (Thanks to Paul Guyot.)</p> |
| 276 | + <p> |
| 277 | + Own Id: OTP-8952</p> |
| 278 | + </item> |
| 279 | + <item> |
| 280 | + <p> |
| 281 | + Support for soft and hard links on Windows versions and |
| 282 | + filesystems that support them is added.</p> |
| 283 | + <p> |
| 284 | + Own Id: OTP-8955</p> |
| 285 | + </item> |
| 286 | + <item> |
| 287 | + <p> |
| 288 | + The win32 virtual machine is now linked large address |
| 289 | + aware. his allows the Erlang VM to use up to 3 gigs of |
| 290 | + address space on Windows instead of the default of 2 |
| 291 | + gigs.</p> |
| 292 | + <p> |
| 293 | + Own Id: OTP-8956</p> |
| 294 | + </item> |
| 295 | + </list> |
| 296 | + </section> |
| 297 | + |
| 298 | +</section> |
| 299 | + |
33 | 300 | <section><title>Erts 5.8.1.2</title>
|
34 | 301 |
|
35 | 302 | <section><title>Fixed Bugs and Malfunctions</title>
|
|
0 commit comments