Bug fix release : otp_src_R11B-5
Build date : 2007-06-12
This is bug fix release 5 for the R11B release.
You can download the full source distribution from
http://www.erlang.org/download/otp_src_R11B-5.tar.gz
http://www.erlang.org/download/otp_src_R11B-5.readme (this file)
Note: To unpack the TAR archive you need a GNU TAR compatible
program. For instance, on MacOS X before 10.3 you must use the 'gnutar' command;
you can't use the 'tar' command or StuffIt to unpack the sources.
For installation instructions please read the README that is part of
the distribution.
The Windows binary distribution can be downloaded from
http://www.erlang.org/download/otp_win32_R11B-5.exe
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_R11B-5.tar.gz
http://www.erlang.org/download/otp_doc_man_R11B-5.tar.gz
We also want to thank those that sent us patches, suggestions and bug
reports,
The OTP Team
--- HIGHLIGHTS ------------------------------------------------------------
OTP-6605 Erlang/OTP is now also distributed with most platform
independent build results pre-built. For more information see
the README file in the top directory.
OTP-6641 New application: DocBuilder, providing functionality for
generating HTML documentation for Erlang modules and
Erlang/OTP applications from XML source code and/or EDoc
comments in Erlang source code.
This is the first version of DocBuilder to be released as
part of Erlang/OTP. Previously it has been used as an
internal tool only.
--- documentation ------------------------------------------------------------
OTP-6675 Corrected an error in Getting Started: the operator for "less
than or equal" is =<. (Thanks to Douglas Livingstone).
Fixed a typo in Reference Manual/Compilation and Code
Loading/Code Replacement. (Thanks to Matthias Lang).
Corrected an error in Reference Manual/Expressions/Try, the
syntax of a try expression of is try Exprs ..., not try Expr
.... (Thanks to Erik Stenman).
--- otp ------------------------------------------------------------
OTP-6605 Erlang/OTP is now also distributed with most platform
independent build results pre-built. For more information see
the README file in the top directory.
OTP-6742 The makefile variable ERL_FLAGS has been removed from all
makefiles in OTP, since it collided with the environment
variable ERL_FLAGS which is used by the Erlang runtime
system. The collision occurred when the user had the
environment variable ERL_FLAGS set while building OTP. The
environment variable ERL_FLAGS can now be used to pass flags
to the Erlang runtime system also when building OTP.
--- appmon-2.1.9 ------------------------------------------------------------
OTP-6683 Fixed dialyzer warning in appmon_info.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- asn1-1.4.5 ------------------------------------------------------------
OTP-6601 Merging modules by inline earlier disabled the driver (used
in modules generated with [ptimized]/[optimized,driver]
options). Now this is repaired.
OTP-6698 The compiler now handle all forms of ObjectSetSpec according
to ITU-T recommendation X.681 (ISO/IEC 8824-2:2002).
OTP-6702 Checking phase now aware of which module an INSTANCE OF is
declared in.
OTP-6707 Enhanced support of referencing object sets by
ObjectSetFromObjects.
OTP-6717 Support for parameterized object in an object set.
--- compiler-4.4.5 ------------------------------------------------------------
OTP-6630 The compiler would crash if you tried to combine to non-list
literals with '++' (for instance, an_atom++"string").
OTP-6689 Minor Makefile changes.
--- cosEvent-2.1.1 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- cosEventDomain-1.1.1 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- cosFileTransfer-1.1.3 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- cosNotification-1.1.5 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- cosProperty-1.1.4 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- cosTime-1.1.1 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- cosTransactions-1.2.2 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- crypto-1.5.1.1 ------------------------------------------------------------
OTP-6680 The linked in driver for the crypto application is now linked
statically against the OpenSSL libraries, to avoid
installation and runtime problems in connection to the
OpenSSL library locations.
OTP-6689 Minor Makefile changes.
--- debugger-3.1.1.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- dialyzer-1.7.0 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6736 Dialyzer can now use success typings to find discrepancies.
As a consequence significantly more discrepancies are
detected. The downside is that the analysis takes about 2 to
2.5 times longer than in previous versions, and may also
result in some warnings that might be harder to interpret
even though they are correct. This has been a major change,
worth of increasing the version number.
New command-line options:
--succ_typings Use the success typings analysis.
--dataflow (default) Use the previous analysis.
The new type unit() has been introduced to handle the return
type of non-terminating functions such as servers.
Dialyzer's code server uses a compressed representation and
the analysis requires significantly less memory than in
previous versions.
--- docbuilder-0.9 ------------------------------------------------------------
OTP-6641 New application: DocBuilder, providing functionality for
generating HTML documentation for Erlang modules and
Erlang/OTP applications from XML source code and/or EDoc
comments in Erlang source code.
This is the first version of DocBuilder to be released as
part of Erlang/OTP. Previously it has been used as an
internal tool only.
--- edoc-0.7.3 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6737 Dialyzer warnings were eliminated.
--- erts-5.5.4.1 ------------------------------------------------------------
OTP-6598 Setting the time on the system while using heart on a linux
machine where the emulator was built with clock_gettime
support (default from Linux 2.6/erts-5.5.4 and upwards),
could make the heart command fire. This was due to bug in the
heart executable which is now corrected.
--- erts-5.5.4.2 ------------------------------------------------------------
OTP-6580 The default stack size for threads in the async-thread pool
has been shrunk to 8 kilowords, i.e., 32 KB on 32-bit
architectures. This small default size has been chosen since
the amount of async-threads might be quite large. The default
stack size is enough for drivers delivered with Erlang/OTP,
but might not be sufficiently large for other dynamically
linked in drivers that use the driver_async()
functionality. A suggested stack size for threads in the
async-thread pool can be configured via the +a command
line argument of erl(1).
OTP-6602 When a port steals control over a file descriptor from
another port, the stealing port tests if the other port is
alive. This in order to be able to give an accurate error
message. In the runtime system with SMP support, this test
was done without appropriate locks held. This could in worst
case lead to an erroneous error message; therefore, this bug
is to be considered harmless.
--- erts-5.5.4.3 ------------------------------------------------------------
OTP-6592 process_flag/2 accepts the new flag sensitive.
OTP-6627 process_flag(trap_exit, Bad) where Bad was a
term not equal to true or false, didn't fail
with badarg as it should; instead, the failure was
silently ignored. This bug was introduced in
erts-5.5.2
OTP-6628 The minimum and default stack size for async-threads has been
increased to 16 kilowords. This since the previous minimum
and default stack size of 8 kilowords proved to be too small
(introduced in erts-5.5.4.2).
--- erts-5.5.5 ------------------------------------------------------------
OTP-6591 The functions in gzio.c have been renamed to avoid conflict
with drivers that indirectly linked with an external zlib
library.
OTP-6593 For scripts written using escript, there is a new function
escript:script_name/0, which can be used to retrieve the
pathame of the script. The documentation has been clarified
regarding pre-defined macros such as ?MODULE and the module
name.
OTP-6600 The section Guards in the chapter The Abstract Format of the
ERTS User's Guide has been updated.
OTP-6625 Corrected protocol layer flue for socket options SO_LINGER,
SO_SNDBUF and SO_RCVBUF, for SCTP.
OTP-6681 The behaviour of the inet option {active,once} on peer close
is improved and documented.
OTP-6684 The inet option send_timeout for connection oriented sockets
is added to allow for timeouts in communicating send requests
to the underlying TCP stack.
OTP-6685 The emulator without SMP support dumped core if an
async-thread finished a job after the emulator had begun
writing an erl_crash.dump.
OTP-6686 In bit syntax matching, integer fields with greater size than
16Mb would fail to match. (Thanks to Bertil Karlsson and
Francesco Pierfederici.)
Matching out a 32-bit integer not aligned on a byte boundary
from a binary could cause an heap overflow (and subsequent
termination of the emulator).
A module that contained bit syntax construction with a
literal field size greater than 16Mb would fail to load.
Several other similar bugs having to do with huge field sizes
were eliminated.
Attempting to construct a binary longer than 536870911 bytes
will now fail with a system_limit exception (rather than fail
in mysterious ways or construct an binary with incorrect
contents). Similarily, attempting to match a binary longer
than 536870911 bytes will now fail (instead of producing an
incorrect result). This limitation has been documented in the
Efficiency Guide. (The limit is in the 32-bit emulator; use
the 64-bit emulator if you need to handle larger binaries
than 536870911.)
OTP-6692 Bugs in rem and div of very large numbers are corrected.
OTP-6693 erlang:system_info({allocator, Alloc}) didn't allocate enough
heap when a bignum was part of the result which could cause
an emulator crash.
OTP-6697 The command line flag -args_file FileName, and the
environment variables ERL_AFLAGS, and ERL_ZFLAGS for the erl
command have been added. For more information see the erl(1)
documentation.
OTP-6699 It was previously not possible to pass erts_alloc the same
configuration via the command-line, as used by default.
A +M* command-line argument that configure a size of some
sort can now be passed a value that equals the size of the
address space. The value used, in this case, will be "the
size of the address space" - 1.
OTP-6729 SysIOVec* driver_peekq(ErlDrvPort port, int *vlen) did not
update *vlen if port was invalid. *vlen is now set to -1 if
the port is invalid.
The efile driver expects *vlen to be updated also when the
port is invalid. This situation occurs seldom, but when the
runtime system has async-threads enabled and ports are killed
it can. When it occured the runtime system crashed.
OTP-6731 The is_constant/1 type test has been deprecated.
is_constant/1 is improperly named and almost entirely
undocumented.
--- et-1.0.0.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- gs-1.5.7 ------------------------------------------------------------
OTP-6682 Fixed font size and some bugs in the generic file dialog,
which is undocumented and mainly intended for internal use
(today it is only used by Pman).
The file priv/bitmap/fup.bm has been added and the module
tool_genfd removed.
Also fixed dialyzer warning in gs_packer.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- hipe-3.6.3 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6738 Miscellanous updates.
--- ic-4.2.13 ------------------------------------------------------------
OTP-6701 Minor Makefile changes.
--- inets-4.7.12 ------------------------------------------------------------
OTP-6573 [httpd] - When calling httpd:restart there was a file
descriptor and ets table leek due to the fact that the
semantics of the function restart is not restart but reload.
OTP-6596 [tftp] Crash in tftp_engine:terminate/3 caused big crash
report. The file was however transferred as normal, but the
ugly printout is now gone.
--- inets-4.7.13 ------------------------------------------------------------
OTP-6642 [tftp] The TFTP client/server implements now a more relaxed
interpretation of the RFC 1350 regarding re-receive of data
packets. If multiple copies of the same data packet is
received the spurious ones are silently ignored.
--- inets-4.7.14 ------------------------------------------------------------
OTP-6691 [tftp] The TFTP client/server implements now a more relaxed
interpretation of the RFC 1350 regarding re-receive of
acknowledgments. If multiple copies of the same
acknowledgments is received the spurious ones are silently
ignored.
--- inets-4.7.15 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6706 [tftp] The TFTP client/server implements now a more relaxed
interpretation of the RFC 1350 regarding re-receive of
acknowledgments. If multiple copies of the same
acknowledgments is received the spurious ones are silently
ignored. This fix was intended for inets-4.7.14 but
accidently it was not included in that release.
--- inets-4.7.16 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- inviso-0.3 ------------------------------------------------------------
OTP-6677 In this release the first working version of the inviso_tool
is included. Updates and small bugfixes in the inviso
application.
--- inviso-0.4 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6703 A bug in inviso_rt_meta caused an ETS table containing
information on initiated (init_tpm) functions to be lost when
suspending tracing. Further an enhancement to inviso_rt has
been introduced making it possible to activate process trace
flags based on globally registered names. It is then not an
error to activate a global name on a node where the name does
not reside. The process count in the return value will simply
be set to zero (hence exactly one node in the NodeResult part
of the return value will indicate one matching process
found). A bug was found in fetch_log API. At the same time
the fetch_log functionality was enhanced to also offer flow
control making fetcher processes send chunks of transferred
file data at a slower pace.
--- kernel-2.11.4.1 ------------------------------------------------------------
OTP-6594 A bug in gen_udp:open that broke the 'fd' option has been
fixed.
--- kernel-2.11.4.2 ------------------------------------------------------------
OTP-6592 process_flag/2 accepts the new flag sensitive.
OTP-6627 process_flag(trap_exit, Bad) where Bad was a
term not equal to true or false, didn't fail
with badarg as it should; instead, the failure was
silently ignored. This bug was introduced in
erts-5.5.2
OTP-6628 The minimum and default stack size for async-threads has been
increased to 16 kilowords. This since the previous minimum
and default stack size of 8 kilowords proved to be too small
(introduced in erts-5.5.4.2).
--- kernel-2.11.5 ------------------------------------------------------------
OTP-6537 The shell has been updated to fix the following flaws: Shell
process exit left you with an unresponsive initial shell if
not using oldshell. Starting a restricted shell with a
nonexisting callback module resulted in a shell where no
commands could be used, not even init:stop/0. Fun's could not
be used as parameters to local shell functions (in
shell_default or user_default) when restricted_shell was
active.
OTP-6615 The undocumented feature gen_tcp:fdopen/2 was broken in
R11B-4. It is now fixed again.
OTP-6625 Corrected protocol layer flue for socket options SO_LINGER,
SO_SNDBUF and SO_RCVBUF, for SCTP.
OTP-6676 Corrected cancelation of timers in three places in the
inet_res module. (Problem found by Dialyzer.)
OTP-6681 The behaviour of the inet option {active,once} on peer close
is improved and documented.
OTP-6684 The inet option send_timeout for connection oriented sockets
is added to allow for timeouts in communicating send requests
to the underlying TCP stack.
OTP-6689 Minor Makefile changes.
OTP-6715 The documentation of process_flag(priority, Level) has been
updated, see the erlang(3) documentation.
--- megaco-3.6 ------------------------------------------------------------
Improvements and new features:
OTP-6609 Improved erl_dist codec handling of megaco_compressed codec
config.
OTP-6442 The behaviour megaco_transport have been updated to include
another legal return value for the send_message function.
OTP-6441 Add ability to decrement the timeout time for incremental
timers.
OTP-6185 Miscellaneous minor performance improvements of the text
codec's
Fixed bugs and malfunctions:
OTP-6578 Missing documentation link in module megaco_user.
Incompatibilities:
OTP-6609 The interface of the megaco_compressed callback module has been
changed, see the megaco_edist_compress behaviour module for more
details.
--- megaco-3.6.0.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- mnemosyne-1.2.7.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6728 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- mnesia-4.3.5 ------------------------------------------------------------
OTP-6587 The internal index tables on bag tables where not always
cleaned correctly. Thanks Christopher Faulet and Salazard
Remy.
OTP-6709 Changing the copy type with mnesia:change_table_copy/3 on a
node which was down was not handled correctly, that caused an
eternal table lock on the alive nodes. Thanks Hal Snyder.
--- mnesia_session-1.1.6.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6728 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- observer-0.9.7.4 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- odbc-2.0.8 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- orber-3.6.6 ------------------------------------------------------------
OTP-6696 It is now possible to configure incoming connections which
overrides some global configuration parameters. See
orber:add_listen_interface/2/3.
OTP-6701 Minor Makefile changes.
--- os_mon-2.1.2.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- otp_mibs-1.0.4.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- parsetools-1.4.1.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- pman-2.6 ------------------------------------------------------------
OTP-6012 Some maintenance work to replace deprecated guard expressions
etc. somehow grew into a larger rewrite of parts of the Pman
code, fixing some of the more blatant errors and removing
unused code.
The default font has been changed, so now the entire text on
buttons etc. should be visible on most platforms.
Saving and restoring trace options to/from file now works.
Selecting different sets of processes to hide/view should now
work in a more consistent and logical way.
It is now possible to select more than one module or process
to hide/show.
OTP-6689 Minor Makefile changes.
--- runtime_tools-1.6.6 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6700 An experimental tool called erts_alloc_config has been added.
erts_alloc_config is intended to be used to aid creation of
an erts_alloc configuration that is suitable for a limited
number of runtime scenarios. For more information see the
erts_alloc_config(3) documentation.
OTP-6703 A bug in inviso_rt_meta caused an ETS table containing
information on initiated (init_tpm) functions to be lost when
suspending tracing. Further an enhancement to inviso_rt has
been introduced making it possible to activate process trace
flags based on globally registered names. It is then not an
error to activate a global name on a node where the name does
not reside. The process count in the return value will simply
be set to zero (hence exactly one node in the NodeResult part
of the return value will indicate one matching process
found). A bug was found in fetch_log API. At the same time
the fetch_log functionality was enhanced to also offer flow
control making fetcher processes send chunks of transferred
file data at a slower pace.
--- sasl-2.1.5.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- snmp-4.9.3 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6712 Changing own [usm] passphrase when agent is multi-threaded
did not work.
--- ssh-0.9.9.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- ssl-3.1.1 ------------------------------------------------------------
OTP-6612 A bug in ssl_accept could cause all ssl connections to hang
when a connection attempt was closed by the client while the
server was in ssl_accept
--- ssl-3.1.1.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- stdlib-1.14.5 ------------------------------------------------------------
OTP-4738 Bugs have been fixed in Dets concerning comparison (==) and
matching (=:=).
The STDLIB manual pages have been updated as to more
carefully state when terms are matched and when they are
compared.
OTP-6537 The shell has been updated to fix the following flaws: Shell
process exit left you with an unresponsive initial shell if
not using oldshell. Starting a restricted shell with a
nonexisting callback module resulted in a shell where no
commands could be used, not even init:stop/0. Fun's could not
be used as parameters to local shell functions (in
shell_default or user_default) when restricted_shell was
active.
OTP-6585 The new compiler option warn_obsolete_guard can be used for
turning on warnings for calls to old type testing BIFs.
OTP-6590 A bug in QLC's parse transform has been fixed.
OTP-6593 For scripts written using escript, there is a new function
escript:script_name/0, which can be used to retrieve the
pathame of the script. The documentation has been clarified
regarding pre-defined macros such as ?MODULE and the module
name.
OTP-6606 A bug concerning lists:sort/1 and lists:keysort/2 and a mix
of floating point numbers and integers has been fixed.
OTP-6659 When calling erlang:garbage_collect/0 in the Erlang shell not
only the evaluator process (the one returned by calling
self() in the Erlang shell) is garbage collected, but also
the process holding the history list.
OTP-6689 Minor Makefile changes.
OTP-6711 Functions of the beam_lib module that used to catch
exceptions and return a tuple {'EXIT',Reason} now exit with
the reason Reason.
OTP-6714 The erl_eval module now calls the non-local function handler
whenever an operator is evaluated (exceptions are andalso,
orelse, and catch). The non-local function handler is now
also called when the function or operator occurs in a guard
test (such calls used to be ignored).
These changes affect the Erlang shell when running in
restricted mode: the callback function non_local_allowed/3 is
now called for operators such as '!'/2. This means that
non_local_allowed/3 may need to be changed as to let
operators through. Note that erlang:'!'/2 as well as
erlang:send/2,3 have to be restricted in order to stop
message passing in the shell.
--- toolbar-1.3.0.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- tools-2.5.5 ------------------------------------------------------------
OTP-6586 Minor updates of Xref.
OTP-6689 Minor Makefile changes.
--- tv-2.1.4.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6728 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- typer-0.1.0.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
--- webtool-0.8.3.1 ------------------------------------------------------------
OTP-6689 Minor Makefile changes.
OTP-6725 Obsolete guard tests (such as list()) have been replaced with
the modern guard tests (such as is_list()).
--- xmerl-1.1.3 ------------------------------------------------------------
OTP-6599 Memory consumption decreased: moved transforming from utf-8
to unicode from an extra pass of the document to the occasion
when a character is parsed. Removed use of lists:subtract.
Those changes also speeds up parsing in some scenarios.
--- xmerl-1.1.4 ------------------------------------------------------------
OTP-6679 An additional format is possible for the simple syntax: {Fun,
State}. The fun should retrieve the replacement in simple
syntax format. The semantics of fun: fun(State) -> code that
creates replacement, then returns {SimpleSyntax,NewState} |
done