From 37e14c395a0d3621d65552b3954856d1cbeaed9a Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Tue, 20 Sep 2016 09:36:54 +0200 Subject: Prepare release --- erts/doc/src/notes.xml | 282 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 282 insertions(+) (limited to 'erts/doc/src') diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index d38f29b8d1..412675fd2b 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -32,6 +32,288 @@

This document describes the changes made to the ERTS application.

+
Erts 8.1 + +
Fixed Bugs and Malfunctions + + +

+ Fix bug for calls from hipe code to BIFs that disable GC + while yielding. Has been causing Dialyzer crashes on ARM + (and presumably all other non-intel platforms).

+

+ Own Id: OTP-13724 Aux Id: PR-1116

+
+ +

+ Fix a bug where changing the current working directory of + the VM would not change the current working directory of + programs spawned using erlang:open_port({spawn,""}, + ...).

+

+ Own Id: OTP-13733 Aux Id: ERL-175

+
+ +

+ Fix a bug where disabling tracing from a process that had + return_to tracing enabled and was tracing on + erlang:trace/3 would cause a segmentation fault.

+

+ Own Id: OTP-13734

+
+ +

+ Update all erts documentation to use simpler English, use + consistent terminology and be easier to navigate.

+

+ Own Id: OTP-13740

+
+ +

+ Add dirty schedulers to the microstate accounting + statistics.

+

+ Own Id: OTP-13744

+
+ +

+ Fixed dirty scheduler build support on 32-bit windows.

+

+ Own Id: OTP-13759

+
+ +

+ inet:getstat(Socket) on an SCTP socket returned 0 for + send stats. This bug has now been corrected. Reported by + systra as issue ERL-102 on bugs.erlang.org.

+

+ Own Id: OTP-13773 Aux Id: ERL-102

+
+ +

+ AF_UNSPEC and unknown address families were misread by + UDP receive in prim_inet resulting in an exception. This + bug has now been corrected.

+

+ Own Id: OTP-13775

+
+ +

+ Sweep HiPE stack for literals during code purge.

+

+ Own Id: OTP-13777 Aux Id: PR-1122

+
+ +

+ Fix bug in run_erl for OpenBSD that could cause it on + rare occations to exit without starting the program (erl) + at all.

+

+ Own Id: OTP-13795

+
+ +

+ Update build scripts to not make assumtions about where + env, cp and perl are located.

+

+ Own Id: OTP-13800

+
+ +

+ Fixed a bug where init:stop could deadlock if a process + with infinite shutdown timeout (e.g. a supervisor) + attempted to load code while terminating.

+

+ Own Id: OTP-13802

+
+ +

+ Fixed a segmentation fault on sparc CPUs when free'ing a + tracer module's state.

+

+ Own Id: OTP-13803

+
+ +

+ funs was not properly handled during purge of a + module. This could cause a crash of the VM after a purge + of a module.

+

+ Own Id: OTP-13809

+
+ +

+ Fixed a memory leak when the process monitoring a port + crashed.

+

+ Own Id: OTP-13818

+
+ +

+ Fixed multiple dirty scheduler related tracing bugs.

+

+ Own Id: OTP-13822

+
+ +

+ Fix error handling in beam code runtime loader for a + number of cases when index and size fields got corrupted + (negative) values.

+

+ Own Id: OTP-13848 Aux Id: ERL-216

+
+ +

+ Minor fix of dirty scheduler implementation.

+

+ Own Id: OTP-13852

+
+ +

+ Calls to erl_drv_send_term() or + erl_drv_output_term() from a non-scheduler thread + while the corresponding port was invalid caused the + emulator to enter an inconsistent state which eventually + caused an emulator crash.

+

+ Own Id: OTP-13866

+
+ +

+ Fix a rare race condition in erlang:open_port({spawn, + ""}, ...) that would result in the erl_child_setup + program aborting and cause the emulator to exit.

+

+ Own Id: OTP-13868

+
+ +

Driver and NIF operations accessing processes or ports + could cause an emulator crash when used from + non-scheduler threads. Those operations are:

+ erl_drv_send_term() + driver_send_term() + erl_drv_output_term() + driver_output_term() + enif_send() + enif_port_command() +

+ Own Id: OTP-13869

+
+ +

+ Fix start scripts generation dependency in Makefile

+

+ Own Id: OTP-13871 Aux Id: ERL-241

+
+ +

+ The VM could crash if erlang:get_stacktrace() was + called after a rescheduled NIF had thrown an exception.

+

+ Own Id: OTP-13877

+
+ +

Calling code:delete/1 before a loading a module + with an on_load function, the old code would be + overwritten, causing a memory or a crash if NIFs were + involved. (Thanks to vans163 for reporting this bug.)

+

+ Own Id: OTP-13893 Aux Id: ERL-240

+
+
+
+ + +
Improvements and New Features + + +

+ Improved accuracy of timeouts on MacOS X. This by setting + premature timeouts followed by a short actual timeout + during scheduler wait.

+

+ Own Id: OTP-13698

+
+ +

Added the following symbolic time unit representations + to the erlang:time_unit() + type:

second + millisecond + microsecond + nanosecond

The following + symbolic time unit representations are now + deprecated, but still part of the + erlang:time_unit() type:

+ seconds + milli_seconds + micro_seconds + nano_seconds +

+ Own Id: OTP-13735

+
+ +

+ Fix maps hashing entropy of maps with maps keys.

+

+ Own Id: OTP-13763 Aux Id: ERL-199

+
+ +

+ Improved dirty scheduler support. A purge of a module can + now be performed without having to wait for completion of + all ongoing dirty NIF calls.

+

+ Note that when enabling support for dirty schedulers, a + new purge strategy will as of ERTS version 8.1 be + enabled. This new strategy is not fully backwards + compatible with the strategy used by default. For more + information see the documentation of erlang:check_process_code/3.

+

+ Own Id: OTP-13808 Aux Id: OTP-13833

+
+ +

+ A new purge strategy has been introduced. The new + strategy will by default be disabled during the OTP 19 + release, but will be the only strategy available as of + the OTP 20 release.

+

+ The new strategy is slightly incompatible with the + strategy being used by default in OTP 19. Using the + default strategy, processes holding funs that + refer to the module being purged either fail a soft + purge, or will be killed during a hard purge. The new + strategy completely ignores funs. If funs + referring to the code being purged exist, and are used + after a purge, an exception will be raised upon usage. + That is, the behavior will be exactly the same as the + case when a fun is received by a process after the + purge.

+

+ The new strategy can optionally be enabled when building + OTP during OTP 19, and will automatically be enabled if + the runtime system is built with support for dirty + schedulers.

+

+ For more information see the documentation of erlang:check_process_code/3.

+

+ Own Id: OTP-13833

+
+ +

+ Fixed unnecessary overestimation of heap size need during + garbage collection.

+

+ Own Id: OTP-13851

+
+
+
+ +
+
Erts 8.0.5
Fixed Bugs and Malfunctions -- cgit v1.2.3