From 8cece79b77952c991e62ae595bcf71cde016a052 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Mon, 17 Jun 2013 16:23:55 +0200 Subject: Prepare release --- erts/doc/src/notes.xml | 363 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 363 insertions(+) (limited to 'erts') diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index 3a2c644ff7..f94d71ee3d 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -30,6 +30,369 @@

This document describes the changes made to the ERTS application.

+
Erts 5.10.2 + +
Fixed Bugs and Malfunctions + + +

+ A bug in prim_inet has been corrected. If the port owner + was killed at a bad time while closing the socket port + the port could become orphaned hence causing port and + socket leaking. Reported by Fred Herbert, Dmitry Belyaev + and others.

+

+ Own Id: OTP-10497 Aux Id: OTP-10562

+
+ +

+ Compilation fixes for NetBSD. Thanks to YAMAMOTO Takashi.

+

+ Own Id: OTP-10941

+
+ +

+ Fixed a race condition when using delayed_write when + writing to a file which would cause the same data to be + written multiple times.

+

+ Own Id: OTP-10984

+
+ +

+ Fix small memory leak from tracing with option + meta.

+

+ Own Id: OTP-10997

+
+ +

+ Correct typo in erlsrv usage. Thanks to Bryan Hunter

+

+ Own Id: OTP-11002

+
+ +

+ ct_run: delete unused function. Thanks to Tuncer Ayaz.

+

+ Own Id: OTP-11003

+
+ +

+ Corrections to run_erl/to_erl handshake behaviour.

+

+ Own Id: OTP-11012

+
+ +

+ Fix typo in type: erlang:process_info_item(). Thanks to + Andrew Tunnell-Jones.

+

+ Own Id: OTP-11024

+
+ +

+ Fix src/dest overlap issue in ttsl driver. Thanks to + Steve Vinoski.

+

+ Own Id: OTP-11064

+
+ +

+ When sending to a port using erlang:send(Port, Msg, + [nosuspend]), the send operation was performed + synchronously. This bug has now been fixed.

+

+ Own Id: OTP-11076 Aux Id: OTP-10336

+
+ +

+ When converting a faulty binary to a list with + unicode:characters_to_list, the error return value could + contain a faulty "rest", i.e. the io_list of characters + that could not be converted was wrong. This happened only + if input was a sub binary and conversion was from utf8. + This is now corrected.

+

+ Own Id: OTP-11080

+
+ +

+ Runtime system could crash when reporting stale + driver_select().

+

+ Own Id: OTP-11084

+
+ +

+ Fix lock order violation for memory instrumentation + (+Mim, +Mis, +Mit).

+

+ Own Id: OTP-11085

+
+ +

+ Fixed some compilation warnings on miscellaneous + platforms. Thanks to Anthony Ramine.

+

+ Own Id: OTP-11086

+
+ +

+ Fixed issue when flushing i/o during shutdown on windows + where the Erlang VM would sometime hang due to a race + condition.

+

+ Own Id: OTP-11096

+
+ +

+ Fixed issue where repeated calls to erlang:nodes() could + cause unnecessary contention in the dist_table lock.

+

+ Own Id: OTP-11097

+
+ +

+ Properly guard WIDE_TAG use with HAVE_WCWIDTH in + ttsl_drv. Thanks to Anthony Ramine

+

+ Own Id: OTP-11106

+
+ +

+ Fix some Makefile rules that didn't support silent rules. + Thanks to Anthony Ramine.

+

+ Own Id: OTP-11111

+
+ +

+ Fix receive support in erl_eval with a BEAM module. + Thanks to Anthony Ramine.

+

+ Own Id: OTP-11137

+
+ +

+ erlang:now() could suddenly jump ~24 days into the future + on Windows. This is now corrected. Thanks to Garret Smith + for reporting and testing fixes.

+

+ Own Id: OTP-11146

+
+ +

+ erlang:term_to_binary will now cost an appropriate amount + of reductions and will interrupt (yield) for reschedule + if the term is big. This avoids too long schedules when + term_to_binary is used.

+

+ Impact: Programs running term_to_binary on large terms + will run more smothly, but rescheduling will impact the + single process performance of the BIF. Single threaded + benchmarks will show degraded performance of the BIF when + called with very large terms, while general system + behaviour will be improved. The overhead for allowing + restart and reduction counting also degrades local + performance of the BIF with between 5% and 10% even for + small terms.

+

+ Own Id: OTP-11163

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

+ Replaced the lock protecting gathering of garbage + collection statistics with a lock-free solution.

+

+ Own Id: OTP-10271 Aux Id: kunagi-108 + [04c5410f-9cc4-4696-8639-36bf98686c7a-7]

+
+ +

Support for migration of memory carriers between + memory allocator instances has been introduced.

+

By default this feature is not enabled and do not + effect the characteristics of the system. When enabled it + has the following impact on the characteristics of the + system:

Reduced memory footprint when + the memory load is unevenly distributed between scheduler + specific allocator instances. Depending on + the default allocaton strategy used on a specific + allocator there might or might not be a slight + performance loss. When enabled on the + fix_alloc allocator, a different strategy for + management of fix blocks will be used. The + information returned from erlang:system_info({allocator, + A}), and erlang:system_info({allocator_sizes, + A}) will be slightly different when this + feature has been enabled. An mbcs_pool tuple will + be present giving information about abandoned carriers, + and in the fix_alloc case no fix_types + tuple will be present. +

For more information, see the documentation of the + +M<S>acul + command line argument.

+

+ Own Id: OTP-10279

+
+ +

+ Change specs for spawn_opt to use the process_level() + type declaration instead of re-defining it in various + places. Thanks to Kostis Sagonas.

+

+ Own Id: OTP-11008

+
+ +

Postscript files no longer needed for the generation + of PDF files have been removed.

+

+ Own Id: OTP-11016

+
+ +

Erlang source files with non-ASCII characters are now + encoded in UTF-8 (instead of latin1).

+

+ Own Id: OTP-11041 Aux Id: OTP-10907

+
+ +

+ Optimization of simultaneous inet_db operations on + the same socket by using a lock free implementation.

+

+ Impact on the characteristics of the system: Improved + performance.

+

+ Own Id: OTP-11074

+
+ +

+ The high_msgq_watermark and + low_msgq_watermark inet socket options + introduced in OTP-R16A could only be set on TCP sockets. + These options are now generic and can be set on all types + of sockets.

+

+ Own Id: OTP-11075 Aux Id: OTP-10336

+
+ +

A new better algorithm for management of the process, + and port tables has been introduced.

+

Impact on the characteristics of the system:

+ The new algorithm ensures that both insert + and delete operations can be made in O(1) time + complexity. Previously used algorithm either caused + insert or delete to be O(N). The new + algorithm will also ensure that reuse of identifiers will + be less frequent than when the old algorithm was + used. Previously used algorithm ensured that + the latest created identifier compared as the largest + when comparing two identifiers of the same type that had + been created on the same node as long as no identifiers + had been reused. Since identifiers can be reused quite + fast, one has never been able to rely on this property. + Due to the introduction of this new algorithm this + property will not hold even if no identifiers has been + reused yet. This could be considered as an + incompatibility. +

Due to the above mensioned potential incompatibility, + it will still be possible to enable the old algorithm for + some time. The command line argument +P legacy will enable + the old algorithm on the process table, and +Q legacy will do the + same for the port table. These command line arguments are + however deprecated as of their introduction and have been + scheduled for removal in OTP-R18.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-11077

+
+ +

+ Support wide characters in the shell through wcwidth(). + Thanks to Anthony Ramine. Reported by Loïc Hoguin.

+

+ Own Id: OTP-11088

+
+ +

+ Added total used memory for each process in erlang crash + dumps.

+

+ Own Id: OTP-11098

+
+ +

+ Added support for hipe on Raspberry Pi (armv6l). Thanks + to Klaus Alfert.

+

+ Own Id: OTP-11125

+
+ +

+ Remove 'query' from the list of reserved words in docs. + Thanks to Matthias Endler and Loïc Hoguin.

+

+ Own Id: OTP-11158

+
+ +

+ Lift static limitation (FD_SETSIZE) for file descriptors + on Mac OS X. (Thanks to Anthony Ramine)

+

+ Own Id: OTP-11159

+
+
+
+ + +
Known Bugs and Problems + + +

Miscellaneous native code in OTP misbehave either due + to lengthy execution, or due to not bumping reductions + properly. Problems typically occur when passing huge sets + of data to a misbehaving BIF. Fixing this has high + priority and is being worked on, but there will remain + issues like this for some time.

+

In order to alleviate problems with scheduling which + might occur when executing misbehaving native code, the + command line argument +sfwi has been + introduced.

+

By default this feature is disabled and you are + advised not to enable it if you do not encounter problems + with misbehaving native code.

+

When enabled it has the following impact on the + characteristics of the system:

Work will + always be distributed between schedulers even when + executing misbehaving native code. It may + cause an increased amount of processes and/or ports + bouncing between schedulers which in turn will cause a + performance loss. It may cause reduced + performance due to reduced or lost work compaction when + all schedulers do not execute under full load. + An increased contention on run queue locks. + +

+ Own Id: OTP-11164

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