From 32275a2fc0b86d1f1b124706afc80f3ff92216eb Mon Sep 17 00:00:00 2001 From: Hans Nilsson Date: Wed, 31 May 2017 16:21:00 +0200 Subject: Revert "Prepare release" This reverts commit eaf8ca41dfa4850437ad270d3897399c9358ced0. --- erts/doc/src/notes.xml | 559 ------------------------------------------------- 1 file changed, 559 deletions(-) (limited to 'erts/doc') diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index d0fa170e66..08f6732036 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -32,565 +32,6 @@

This document describes the changes made to the ERTS application.

-
Erts 9.0 - -
Fixed Bugs and Malfunctions - - -

Fix various bugs regarding loading, upgrade and purge - of HiPE compiled code:

The native code - memory for a purged module was never deallocated. - Wrong functions could in some cases be called after - a module upgrade. - erlang:check_process_code did not check for - recursive calls made from native code. -

- Own Id: OTP-13968

-
- -

- Hipe optional LLVM backend does require LLVM version 3.9 - or later as older versions forced strong dependencies on - erts internals structures.

-

- Own Id: OTP-14238

-
- -

When an exception such as 'throw(HugeTerm)' was - caught, HugeTerm term would be kept in the process - until the next exception occurred, potentially increasing - the heap size for the process. That has been - corrected.

-

- Own Id: OTP-14255 Aux Id: OTP-14400, OTP-14401

-
- -

- Slogans in crash dumps have been extended to print more - complex terms.

-

- Own Id: OTP-14303

-
- -

- Fixed bug when using enif_inspect_binary in - combination with enif_copy. In some circumstances - the inspected binary could be realloced by the - enif_copy call when it shouldn't have been.

-

- Own Id: OTP-14304

-
- -

- The address family local (AF_UNIX / AF_LOCAL) now - does not ensure zero termination of Linux Abstract - Addresses so they can use all bytes.

-

- Own Id: OTP-14305

-
- -

- Use -fno-PIE for Gentoo Hardened and others that - don't accept linker flag -no-pie.

-

- Own Id: OTP-14307 Aux Id: PR-1379

-
- -

- Disable hipe for ppc64le architecture (little - endian) as it is not, and has never been, supported. It - was earlier equated with ppc64 (big endian) which - lead to broken build without --disable-hipe.

-

- Own Id: OTP-14314 Aux Id: ERL-369, PR-1394

-
- -

- Fix 'epmd -kill' to return a failure exit status code if - epmd was not killed because of some error.

-

- Own Id: OTP-14324

-
- -

Fixed the following dirty scheduler related bugs:

-

the +SDPcpu command line argument - could cause the amount of dirty CPU schedulers to be set - to zero

-

erlang:system_flag(multi_scheduling, _) - failed when only one normal scheduler was used together - with dirty scheduler support

-

- Own Id: OTP-14335

-
- -

- Fix erlexec to handle mismatch in sysconf and proc fs - when figuring out the cpu topology. This behaviour has - been seen when using docker together with - --cpuset-cpus.

-

- Own Id: OTP-14352

-
- -

- Fixed memory segment cache used for multiblock carriers. - Huge (> 2GB) memory segments could cause a VM crash. - Creation of such huge memory segments used for multiblock - carriers is however very uncommon.

-

- Own Id: OTP-14360 Aux Id: ERL-401, PR-1417

-
- -

- Fix bug causing code:is_module_native to falsely - return true when local call trace is enabled for - the module.

-

- Own Id: OTP-14390

-
- -

- Fix emulator crash when receive tracing on a - trace_delivered message.

-

- Own Id: OTP-14411

-
- -

- escript did not handle paths with spaces correct.

-

- Own Id: OTP-14433

-
- -

- Fix erroneous lock check assertion when wx is run - on MacOS X.

-

- Own Id: OTP-14437 Aux Id: ERL-360

-
-
-
- - -
Improvements and New Features - - -

- Added erlang:garbage_collect/2 that takes an - option list as the last argument that can be used to - control whether a minor or a major garbage collection is - to be done. Doing a minor collection only collects terms - that have recently died, but is cheaper than a mjor - collection.

-

- Own Id: OTP-11695

-
- -

- Optimized test for tuples with an atom as first element.

-

- Own Id: OTP-12148

-
- -

- Erlang literals are no longer copied during process to - process messaging.

-

- Own Id: OTP-13529

-
- -

Add support in the erl_nif API for asynchronous - message notifications when sockets or other file - descriptors are ready to accept read or write operations. - The following functions have been added:

-

enif_select

-

enif_monitor_process

-

enif_demonitor_process

-

enif_compare_monitors

-

enif_open_resource_type_x

-

- Own Id: OTP-13684

-
- -

There are two new guard BIFs 'floor/1' and - 'ceil/1'. They both return integers. In the - 'math' module, there are two new BIFs with the - same names that return floating point values.

-

- Own Id: OTP-13692

-
- -

- Remove deprecated erlang:hash/2.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-13827

-
- -

Replaced usage of deprecated symbolic time - unit representations.

-

- Own Id: OTP-13831 Aux Id: OTP-13735

-
- -

- Added support in zlib for extraction of the inflation - dictionary.

-

- Own Id: OTP-13842

-
- -

- The previously used purge strategy has been removed. The - optional purge strategy introduced in ERTS version 8.1 is - now the only strategy available.

-

- The new purge strategy is slightly incompatible with the - old strategy. Previously processes holding funs - that referred to the module being purged either failed a - soft purge, or was 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.

-

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

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-13844 Aux Id: OTP-13833

-
- -

- Dirty schedulers are now enabled by default when the - runtime system is built with SMP support.

-

- Own Id: OTP-13860

-
- -

- Improved ETS lookup/insert/delete speed for large - set, bag and duplicate_bag by a - significant reduction of the hash load factor. This speed - improvement comes at the expense of less than one word - per table entry. Tables with less than 256 entries are - not affected at all.

-

- Own Id: OTP-13903

-
- -

- The NIF library reload feature is not supported - anymore. It has been marked as deprecated since OTP R15B. - This means that you are only allowed to do one successful - call to erlang:load_nif/2 for each module - instance. A second call to erlang:load_nif/2 will - return {error, {reload, _}} even if the NIF - library imlements the reload callback.

-

- Runtime upgrade of a NIF library is still supported by - using the Erlang module upgrade mechanics with a current - and an old module instance existing at the same time with - their corresponding NIF libraries.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-13908

-
- -

- Add erlang:system_info(atom_count) and - erlang:system_info(atom_limit) to provide a way to - retrieve the current and maximum number of atoms.

-

- Own Id: OTP-13976

-
- -

The function fmod/2 has been added to the - math module.

-

- Own Id: OTP-14000

-
- -

- erlang:load_nif/2 returns new error type - notsup when called for a HiPE compiled module, - which is not supported.

-

- Own Id: OTP-14002

-
- -

- Add driver and nif lock instrumentation to lcnt

-

- Own Id: OTP-14069

-
- -

- Reduce memory pressure by converting sub-binaries to - heap-binaries when possible. This is done during garbage - collection.

-

- Own Id: OTP-14149

-
- -

- Dirty schedulers are now enabled and supported on Erlang - runtime systems with SMP support.

-

- Besides support for dirty NIFs also support for dirty - BIFs and dirty garbage collection have been introduced. - All garbage collections that potentially will take a long - time to complete are now performed on dirty schedulers if - enabled.

-

- erlang:statistics/1 - with arguments inspecting scheduler and run queue states - have been changed due to the dirty scheduler support. - Code using this functionality may have to be rewritten - taking these incompatibilities into consideration. - Examples of such uses are calls to erlang:statistics(scheduler_wall_time), - statistics(total_run_queue_lengths), - statistics(total_active_tasks), - etc.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-14152

-
- -

Atoms may now contain arbitrary Unicode - characters.

-

- Own Id: OTP-14178

-
- -

- Introduce an event manager in Erlang to handle OS - signals. A subset of OS signals may be subscribed to and - those are described in the Kernel application.

-

- Own Id: OTP-14186

-
- -

- The escript program now handles symbolic links to - escripts.

-

- This is useful for standalone systems with - escripts residing on a bin directory not included - in the execution path (as it may cause their erl - program(s) to override the desired one). Instead the - escripts can be referred to via symbolic links - from a bin directory in the path.

-

- Own Id: OTP-14201 Aux Id: PR-1293

-
- -

- All uses of the magic binary kludge has been replaced by - uses of erlang references.

-

- A magic binary was presented as an empty binary, but - actually referred other data internally in the Erlang VM. - Since they were presented as empty binaries, different - magic binaries compared as equal, and also lost their - internal data when passed out of an erlang node.

-

- The new usage of references has not got any of these - strange semantic issues, and the usage of these - references has been optimized to give the same - performance benefits as well as memory usage benefits as - magic binaries had.

-

- A couple of examples of previous uses of magic binaries - are match specifications and NIF resources.

-

- Own Id: OTP-14205

-
- -

- The non-smp emulators have been deprecated and are - scheduled for removal in OTP-21.

-

- In preperations for this, the threaded non-smp emulator - is no longer built by default and has to be enabled using - the --enable-plain-emulator to configure.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-14272

-
- -

- Allow HiPE to run on VM built with - --enable-m32-build.

-

- Own Id: OTP-14330 Aux Id: PR-1397

-
- -

- Upgraded the OTP internal PCRE library from version 8.33 - to version 8.40. This library is used for implementation - of the re - regular expressions module.

-

- Besides various bug fixes, the new version allows for - better stack protection. In order to utilize this - feature, the stack size of normal scheduler threads is - now by default set to 128 kilo words on all platforms. - The stack size of normal scheduler threads can be set - upon system start by passing the +sss - command line argument to the erl command.

-

- See http://pcre.org/original/changelog.txt - for information about changes made to PCRE between the - versions 8.33 and 8.40.

-

- *** POTENTIAL INCOMPATIBILITY ***

-

- Own Id: OTP-14331 Aux Id: ERL-208

-
- -

- Remove generation of atoms in old latin1 external format. - The old latin1 format can still be decoded but is never - generated by term_to_binary or sent on a - distribution channel. The new utf8 format for atoms was - introduced in OTP R16. An OTP 20 node can therefore not - connect to nodes older than R16.

-

- Own Id: OTP-14337

-
- -

- Added function re:version/0 which returns - information about the OTP internal PCRE version used for - implementation of the re module.

-

- Own Id: OTP-14347 Aux Id: PR-1412

-
- -

- Added new debug bif erlang:list_to_port/1.

-

- Own Id: OTP-14348

-
- -

- Various improvements of timer management internally in - the VM. These improvements both reduced memory - consumption of timer wheels as well as reduce the amount - of work that has to be performed in order to handle - timers.

-

- Own Id: OTP-14356

-
- -

Sockets can now be bound to device (SO_BINDTODEVICE) - on platforms where it is supported.

This has - been implemented e.g to support VRF-Lite under Linux; see - - VRF , and GitHub pull request #1326. -

-

- Own Id: OTP-14357 Aux Id: PR-1326

-
- -

Added the following erl command line arguments - with which you can set suggested stack for dirty - schedulers:

+sssdcpu -

for dirty CPU schedulers

- +sssdio -

for dirty IO schedulers

-

The default suggested stack size for dirty schedulers - is 40 kilo words.

-

- Own Id: OTP-14380

-
- -

- Changed erts startup program name, argv 0, to use the - environment variable ESCRIPT_NAME so that - erlc, dialyzer, typer, - ct_run, or the escript name can be seen with - external programs, such as ps and htop (depending on - options), on unix.

-

- Own Id: OTP-14381

-
- -

- Improvements of escript documentation.

-

- Own Id: OTP-14384 Aux Id: OTP-14201

-
- -

- Add function enif_hash for NIFs to calculate hash - values of arbitrary terms.

-

- Own Id: OTP-14385 Aux Id: PR-1413

-
- -

'./configure --enable-lock-counter' will - enabling building of an additional emulator that has - support for lock counting. (The option previously - existed, but would turn on lock counting in the default - emulator being built.) To start the lock-counting - emulator, use 'erl -emu_type lcnt'.

-

On Windows, erl recognized the undocumented - option -debug for starting a debug-compiled - emulator. That option has been removed. Use 'erl - -emu_type debug' instead.

-

- Own Id: OTP-14407

-
- -

- Warnings have been added to the relevant documentation - about not using un-secure distributed nodes in exposed - environments.

-

- Own Id: OTP-14425

-
- -

- Improvement of the documentation of the environment - variable ERL_CRASH_DUMP_SECONDS as well as the - default behavior when it is not set.

-

- Own Id: OTP-14434

-
- -

- Enabled off-heap message queue for some system processes - that might receive large amounts of messages.

-

- Own Id: OTP-14438

-
-
-
- -
-
Erts 8.3.3
Fixed Bugs and Malfunctions -- cgit v1.2.3