Bug fix release : otp_src_R16B02
Build date : 2013-09-17
This is R16B02, the second maintenance release for the R16B major release.
You can find the README file for the release at
http://www.erlang.org/download/otp_src_R16B02.readme (this file)
The source distribution and binary distributions for Windows can be
downloaded from
http://www.erlang.org/download/otp_src_R16B02.tar.gz
http://www.erlang.org/download/otp_win32_R16B02.exe
http://www.erlang.org/download/otp_win64_R16B02.exe
Note: To unpack the TAR archive you need a GNU TAR compatible program.
For installation instructions please read the README file that is part
of the distribution.
The on-line documentation can be found at: http://www.erlang.org/doc/
You can also download the complete HTML documentation or the Unix manual files
http://www.erlang.org/download/otp_doc_html_R16B02.tar.gz
http://www.erlang.org/download/otp_doc_man_R16B02.tar.gz
We also want to thank those that sent us patches, suggestions and bug reports,
The OTP Team
--- otp -----------------------------------------------------------------
OTP-11221 A new test scope has been added which is meant to be used for
making sure that the Erlang VM and other platform specific
libraries have been compiled correctly for you system. The
tests are executed just as normal tests, only that you use
ts:smoke_test instead of ts:run. See ts:help() for more
details.
OTP-11288 configure now accepts any Erlang/OTP applications as an
option to the --without flag. For more details see the
Installation Guide for more details.
--- asn1-2.0.3 ----------------------------------------------------------
OTP-11193 The format of the xml source for documentation is corrected
in order to conform to the DTDs and to pass xmllint without
errors.
OTP-11300 For the PER and UPER formats, code generation especially for
encoding has been improved.
When encoding BIT STRINGs, values longer than the maximum
size for the BIT STRING type would be truncated silently -
they now cause an exception.
Open types greater than 16383 bytes will now be correctly
encoded and decoded.
IMPORTANT NOTE: For ASN.1 specifications that depend on each
other, such as the S1AP-* specifications, it is important to
recompile all specifications (compiling some with this
version of the compiler and some with an older version will
not work).
--- common_test-1.7.3 ---------------------------------------------------
OTP-11132 Documentation is added for ct_netconfc:send and
ct_netconfc:send_rpc.
OTP-11166 ct_netconfc:create_subscription only allowed one XML element
inside the 'filter' element. According to RFC5277 it should
be allowed to add any number of elements inside the filter,
so this is now corrected.
OTP-11175 The error handler installed by the Common Test hook
cth_log_redirect did not respond to init:stop/1/2. This has
been corrected.
OTP-11176 Calling ct:pal/2 or ct:print/2 when Common Test was not
running, would cause an exit. This has been changed and the
string is now simply printed to stdout instead.
OTP-11193 The format of the xml source for documentation is corrected
in order to conform to the DTDs and to pass xmllint without
errors.
OTP-11238 Fixed problem with the cth_log_redirect hook making calls to
an undefined function in ct_logs.
OTP-11244 When running tests with the 'repeat' option, the Common Test
utility process did not always terminate quickly enough after
a test run, causing the start of the next run to fail. A
monitor is now used to ensure termination of the utility
process after each test run.
OTP-11263 Test Server installed an error handler (test_server_h) only
to be able to write the name of the current test case to
stdout whenever it received an error- or progress report.
This functionality was not useful and has been removed. The
built-in Common Test hook, cth_log_redirect, has instead been
improved to now also tag all error- and progress reports in
the log with suite-, group-, and/or test case name.
OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been
introduced, which makes it possible to capture error- and
progress reports, as well as printouts made with ct:log/2 and
ct:pal/2, before and after a test run. (Some minor
improvements of the logging system have been made at the same
time). Links to the new log are found on the Common Test
Framework Log page. The Common Test User's Guide has been
updated with information about the new log and also with a
new section on how to synchronize external applications with
Common Test by means of the CT Hook init and terminate
functions.
--- compiler-4.9.3 ------------------------------------------------------
OTP-11201 Fix matching of floating point middle-endian machines. Thanks
to Johannes Weissl.
OTP-11211 Restrict inlining of local fun references. Thanks to Anthony
Ramine.
OTP-11212 Silence a misleading warning with some comprehensions. Thanks
to Anthony Ramine.
OTP-11240 Expressions such as 'B = is_integer(V), if B and B -> ok end'
would crash the compiler.
OTP-11247 Forbid returning a match context in beam_validator. Thanks to
Anthony Ramine.
OTP-11304 compile:file2/2 with the option report_errors could return
ErrorInfo tuples with only two elements, while the
documentation says that the ErrorInfo tuple always has three
elements. Also updated the documentation to add that the
first element may be 'none' if no line number is applicable.
--- crypto-3.1 ----------------------------------------------------------
OTP-11320 Refactor ecdsa cipher to simplify code and improve
performance.
--- debugger-3.2.12 -----------------------------------------------------
OTP-11201 Fix matching of floating point middle-endian machines. Thanks
to Johannes Weissl.
--- diameter-1.4.3 ------------------------------------------------------
OTP-11172 Fix UTF8String encode.
Encode now accepts any nested list of codepoints and
binaries. A list containing a binary was previously
misinterpreted and the documentation was incomplete.
OTP-11184 Ensure DWR isn't sent immediately after DWA.
This was possible if the timing was unfortunate. An incoming
DWR now properly resets the watchdog timer.
OTP-11293 Fix faulty encode of Failed-AVP
Reception of a CER, DWR or DPR that has decode failures
caused encode of the corresponding answer message to fail.
OTP-11299 Fix broken service_opt() spawn_opt.
The option was ignored.
--- edoc-0.7.12.1 -------------------------------------------------------
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- erl_docgen-0.3.4.1 --------------------------------------------------
OTP-11193 The format of the xml source for documentation is corrected
in order to conform to the DTDs and to pass xmllint without
errors.
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- erl_interface-3.7.14 ------------------------------------------------
OTP-11196 Introduced functionality for inspection of system and build
configuration.
OTP-11284 Header and library files from ic and erl_interface are now
installed into usr/{include,lib}. Note that these directories
are unversioned, so the latest installed version will be the
one in the directory.
OTP-11289 Fix location of true binary under Mac OSX. Thanks to Simon
Cornish.
--- erts-5.10.3 ---------------------------------------------------------
OTP-11090 The documentation of predefined types and built-in types has
been corrected.
OTP-11157 There is a new somewhat experimental socket option 'netns'
that can set the network namespace for a socket on Linux:es
where it is supported. See the documentation.
OTP-11174 New allocator strategy aoffcbf (address order first fit
carrier best fit). Supports carrier migration but with better
CPU performance than aoffcaobf.
OTP-11196 Introduced functionality for inspection of system and build
configuration.
OTP-11201 Fix matching of floating point middle-endian machines. Thanks
to Johannes Weissl.
OTP-11206 Fix changing terminal parameters in to_erl
Change the behaviour of to_erl to use TCSADRAIN instead of
TCSANOW when changing terminal parameters. This makes the
serial driver wait for the output queues to be empty before
applying the terminal parameter change. Thanks to Stefan
Zegenhagen.
OTP-11214 Fix compile error on ARM and GCC versions greater than 4.1.0.
Thanks to Johannes Weissl.
OTP-11215 run_erl: Redirect standard streams to /dev/null. Thanks to
Johannes Weissl.
OTP-11218 The default value of {flush, boolean()} in erlang:halt/2 is
documented to be 'true' if the status is an integer. The
implementation behaviour was reversed. The Implementation is
now corrected to adhere to the documentation. Thanks to Jose
Valim for reporting the error.
OTP-11225 Fix serious race bug in R16B01 that could cause PID mix-ups
when a lot of processes were spawned and terminated in a very
rapid pace on an SMP emulator with at least two scheduler
threads.
OTP-11227 Misc. corrections in documentation for erl_driver. Thanks to
Giacomo Olgeni.
OTP-11232 Validating a trace pattern with the option silent no longer
incorrectly enables/disables the silent option of the calling
process.
OTP-11239 Fix documentation regarding binary_part.
OTP-11246 Fixed a bug where GCC 4.8 and later use a more aggressive
loop optimization algorithm that broke some previously
working code in the efile driver. Thanks to Tomas Abrahamsson
for reporting this issue.
OTP-11251 Make edlin understand a few important control keys. Thanks to
Stefan Zegenhagen.
OTP-11264 Fixed bug when printing memory allocator acul option in crash
dump.
OTP-11265 Opening a new compressed file on Windows could in rare
(random) cases result in {error,eisdir} or other error codes
although it should have succeeded. This is now corrected.
OTP-11278 Export type zlib:zstream/0. Thanks to Loic Hoguin.
OTP-11282 Add erl option to set schedulers by percentages.
For applications where measurements show enhanced performance
from the use of a non-default number of emulator scheduler
threads, having to accurately set the right number of
scheduler threads across multiple hosts each with different
numbers of logical processors is difficult because the erl +S
option requires absolute numbers of scheduler threads and
scheduler threads online to be specified.
To address this issue, add a +SP option to erl, similar to
the existing +S option but allowing the number of scheduler
threads and scheduler threads online to be set as percentages
of logical processors configured and logical processors
available, respectively. For example, "+SP 50:25" sets the
number of scheduler threads to 50% of the logical processors
configured, and the number of scheduler threads online to 25%
of the logical processors available. The +SP option also
interacts with any settings specified with the +S option,
such that the combination of options "+S 4:4 +SP 50:50" (in
either order) results in 2 scheduler threads and 2 scheduler
threads online.
Thanks to Steve Vinoski
OTP-11290 Fixed a race condition when closing a trace port that would
cause the emulator to crash.
OTP-11303 Extend erl_driver interface with lock names
Lock and thread names are already a feature in the driver
interface. This extension will let developers read these
names which eases debugging.
OTP-11311 Fix incorrect values returned by integer_to_binary/2. Thanks
to Juan Jose Comellas.
OTP-11317 Fix system_flag scheduling_statistics - disable . Thanks to
Steve Vinoski.
OTP-11321 The documentation of predefined types has been corrected
Thanks to Kostis Sagonas.
--- et-1.4.4.5 ----------------------------------------------------------
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- eunit-2.2.5 ---------------------------------------------------------
OTP-11217 Wrap eunit macros into begin ... end blocks. Thanks to
Anthony Ramine.
--- hipe-3.10.2.1 -------------------------------------------------------
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- ic-4.3.3 ------------------------------------------------------------
OTP-11284 Header and library files from ic and erl_interface are now
installed into usr/{include,lib}. Note that these directories
are unversioned, so the latest installed version will be the
one in the directory.
--- inets-5.9.6 ---------------------------------------------------------
OTP-11190 httpc: Allow content body in DELETE requests. Thanks to James
Wheare.
OTP-11202 Add missing brackets to report formatting on ftp_progress
process exit. Thanks to Artur Wilniewczyc.
OTP-11210 Fix some errors in the inets documentation. Thanks to
Johannes Weissl.
OTP-11226 Fix various typos in httpd, inets. Thanks to Tomohiko Aono.
OTP-11260 Fix httpd config option 'erl_script_nocache'. Thanks to
Johannes Weissl.
--- kernel-2.16.3 -------------------------------------------------------
OTP-10676 The previous undocumented function ntoa/1 has been added to
inet docs and exported in the inet module.
OTP-11209 Fix indentation of User switch command help in Erlang shell.
Thanks to Sylvain Benner.
OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes
Weissl.
OTP-11250 Add application:ensure_all_started/1-2. Thanks to Fred
Hebert.
OTP-11251 Make edlin understand a few important control keys. Thanks to
Stefan Zegenhagen.
OTP-11301 Cleanup of hipe_unified_loader, eliminating uses of
is_subtype/2 in specs, change module-local void functions to
return 'ok' instead of [] and made sure there are no dialyzer
warnings with --Wunmatched_returns. Thanks to Kostis Sagonas.
--- megaco-3.17.0.2 -----------------------------------------------------
OTP-11196 Introduced functionality for inspection of system and build
configuration.
--- mnesia-4.10 ---------------------------------------------------------
OTP-10957 Fix timing issues in checkpoint creation.
OTP-11241 Fixed a problem where the fallback BUP file is removed when
calling mnesia:uninstall_fallback and mnesia is not started.
--- observer-1.3.1.1 ----------------------------------------------------
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- odbc-2.10.17 --------------------------------------------------------
OTP-11193 The format of the xml source for documentation is corrected
in order to conform to the DTDs and to pass xmllint without
errors.
OTP-11196 Introduced functionality for inspection of system and build
configuration.
OTP-11233 Prevent odbcserver crash if it's executed and supplied
incorrect data to stdin. Thanks to Sergei Golovan.
--- os_mon-2.2.13 -------------------------------------------------------
OTP-11207 Use 'df -k -l' to query FreeBSD and OpenBSD about diskspace
on local disks. Previously 'df' -k -t ufs' was used but this
will not handle zfs or other disks. Just use '-l' instead of
listing potential filesystems.
OTP-11213 Fix compilation on Solaris. Thanks to Maciej Malecki.
OTP-11298 Fix broken cpu_sup:nprocs and others on Solaris 64-bit.
Thanks to Simon Cornish.
--- parsetools-2.0.10 ---------------------------------------------------
OTP-11269 A bug causing Yecc to generate badly formed parsers when
encountering very simple recursive rules has been fixed.
(Thanks to Eric Pailleau.)
OTP-11286 A bug where Unicode filenames combined with Latin-1 encoding
could crash Yecc and Leex has been fixed.
OTP-11313 Fix leex module`s inability to build unicode-aware lexers.
Thanks to Pierre Fenoll.
--- percept-0.8.8.2 -----------------------------------------------------
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- public_key-0.20 -----------------------------------------------------
OTP-10874 Extend PKCS-7 to support SCEP (Simple Certificate Enrollment
Protocol).
OTP-11281 public_key:pem_entry_decode/2 now handles AES-128-CBC
ciphered keys. Thanks to Simon Cornish.
--- reltool-0.6.4.1 -----------------------------------------------------
OTP-11310 The encoding of the notes.xml file has been changed from
latin1 to utf-8 to avoid future merge problems.
--- runtime_tools-1.8.12 ------------------------------------------------
OTP-11196 Introduced functionality for inspection of system and build
configuration.
OTP-11222 The process trace flag 'silent' is now allowed in call to
dbg:p/2.
--- sasl-2.3.3 ----------------------------------------------------------
OTP-11252 Add Fd usage in rb logging. Thanks to Eric Pailleau.
--- snmp-4.24.1 ---------------------------------------------------------
OTP-11177 [agent] Reading the value of the vacmViewTreeFamilyMask
returs it in the wrong (internal) format. The vacmViewTreeFamilyMask
is defined to be a bit string in the MIB (OCTET STRING).
Internally a bitlist (list of 1's and 0's) is used. However,
the MIB implementation assumed the latter, effectively rendering
all attempts to read/set masks via SNMP unsuccessful. Since
the mask is used in hot paths (e.g. access permission checks
for each SNMP operation, the bitlist representation of the
mask has benefits (e.g. faster processing). Reading/writing
the view mask objects is less time-critical. Therefore,
to fix the issue, convert between bitlist representation
and bitstring when the vacmViewTreeFamilyMask objects are
accessed.
OTP-11192 [agent] The counter increment function in the local-db was
incorrect. It did not handle counter wrap correctly.
--- snmp-4.24.2 ---------------------------------------------------------
OTP-11216 [agent] Improved documentation for the functions for loading
and unloading mibs, see snmpa:load_mibs/1,2,3 and
snmpa:unload_mibs/1,2,3 for more info.
Also added new functions for loading and unloading a
single mib, see snmpa:load_mib/1,2 and snmpa:unload_mib/1,2
for more info.
--- ssh-2.1.8 -----------------------------------------------------------
OTP-11189 Do not chmod ~/.ssh unnecessarily.
OTP-11199 Make ssh_cli.erl handle CTRL+C. Thanks to Stefan Zegenhagen.
OTP-11249 Clarified timeout options in documentation.
OTP-11256 Add openssh_zlib compression type to ssh_transport. Thanks to
Louis-Philippe Gauthier.
--- ssl-5.3.1 -----------------------------------------------------------
OTP-11228 Setopts during renegotiation caused the renegotiation to be
unsuccessful.
If calling setopts during a renegotiation the FSM state might
change during the handling of the setopts messages, this is
now handled correctly.
OTP-11229 Now handles signature_algorithm field in digitally_signed
properly with proper defaults. Prior to this change some
elliptic curve cipher suites could fail reporting the error
"bad certificate".
OTP-11230 The code emulating the inet header option was changed in the
belief that it made it inet compatible. However the testing
is a bit hairy as the inet option is actually broken, now the
tests are corrected and the header option should work in the
same broken way as inet again, preferably use the bitsyntax
instead.
OTP-11255 Make the ssl manager name for erlang distribution over
SSL/TLS relative to the module name of the ssl_manager.
This can be beneficial when making tools that rename modules
for internal processing in the tool.
OTP-11271 Add documentation regarding log_alert option.
--- stdlib-1.19.3 -------------------------------------------------------
OTP-11200 Fixed type typo in gen_server.
OTP-11208 Update type specs in filelib and io_prompt. Thanks to Jose
Valim.
OTP-11219 Fix typo in abcast() function comment. Thanks to Johannes
Weissl.
OTP-11245 The functions dets:foldl/3, dets:foldr/3, and dets:traverse/2
did not release the table after having traversed the table to
the end. The bug was introduced in R16B. (Thanks to Manuel
Duran Aguete.)
OTP-11251 Make edlin understand a few important control keys. Thanks to
Stefan Zegenhagen.
OTP-11254 If the fun M:F/A construct was used erroneously the linter
could crash. (Thanks to Mikhail Sobolev.)
OTP-11261 The specifications of io_lib:fread/2,3 have been corrected.
(Thanks to Chris King and Kostis Sagonas for pinpointing the
bug.)
OTP-11266 Export the edge/0 type from the digraph module. Thanks to
Alex Ronne Petersen.
OTP-11268 Fix variable usage tracking in erl_lint and fixed unsafe
variable tracking in try expressions. Thanks to Anthony
Ramine.
--- test_server-3.6.3 ---------------------------------------------------
OTP-11263 Test Server installed an error handler (test_server_h) only
to be able to write the name of the current test case to
stdout whenever it received an error- or progress report.
This functionality was not useful and has been removed. The
built-in Common Test hook, cth_log_redirect, has instead been
improved to now also tag all error- and progress reports in
the log with suite-, group-, and/or test case name.
OTP-11272 A new log, the "Pre- and Post Test I/O Log", has been
introduced, which makes it possible to capture error- and
progress reports, as well as printouts made with ct:log/2 and
ct:pal/2, before and after a test run. (Some minor
improvements of the logging system have been made at the same
time). Links to the new log are found on the Common Test
Framework Log page. The Common Test User's Guide has been
updated with information about the new log and also with a
new section on how to synchronize external applications with
Common Test by means of the CT Hook init and terminate
functions.
--- tools-2.6.12 --------------------------------------------------------
OTP-11198 Remove trailing spaces in Emacs templates. Thanks to Roberto
Aloi.
OTP-11242 Fixed the Emacs erlang-mode to accommodate the coding style
where lists written across several lines have each line
starting with a comma. Thanks to Magnus Henoch.
OTP-11270 Make the Emacs Erlang mode TRAMP-aware when compiling. Thanks
to Tomas Abrahamsson.
--- wx-1.1 --------------------------------------------------------------
OTP-11196 Introduced functionality for inspection of system and build
configuration.
OTP-11279 Fix return value in wxStatusBar:getFieldRect/2 and add
wxClipboardTextEvent and wxPanel:setFocusIgnoringChildren/1.
--- xmerl-1.3.4 ---------------------------------------------------------
OTP-11224 Fixed various typos in xmerl documentation. Thanks to David
Welton.