Bug fix release : otp_src_R9B-1
Build from snapshot : 2003-03-05
This is a bug fix release R9B-1. You can download the full source
distribution from
http://www.erlang.org/download/otp_src_R9B-1.tar.gz
http://www.erlang.org/download/otp_src_R9B-1.readme (this file)
If you have access to the Ericsson intranet you can find the same files at
http://erlang.ericsson.se/opensource/download/
Note that to unpack the TAR archive you need a GNU TAR compatible
program. For example on MacOS X you need to 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.
There is no support for building a Windows version from source.
The Windows binary distribution can be downloaded from
http://www.erlang.org/download/otp_win32_R9B-1.exe
The documentation at http://www.erlang.org will be updated. You can
also download the complete HTML documentation or the Unix manual files
http://www.erlang.org/download/otp_html_R9B-1.tar.gz
http://www.erlang.org/download/otp_man_R9B-1.tar.gz
For some OTP applications there are more detailed release notes in the
HTML documentation.
We also want to thank those that sent us patches, suggestions and bug
reports,
The OTP Team
-- erts -------------------------------------------------------------------
OTP-4555 A seq_trace token on an unread message in a process that did
a garbage collect that caused the heap to be reallocated to a
new address, caused the garbage collector to read freed
memory, which caused a segmentation fault. This bug is now
corrected
OTP-4563 The emulator sometimes mixed up port identities when many
ports had been closed, so an old (dead) port identity could
be used, but accessed another (new) port.
OTP-4571 The possibility to allocate binaries with sl_alloc has been
added. The command line switch "+Sb true" enables this
feature. See the sl_alloc man page for more information.
OTP-4578 The maximum number of ports can now be changed to an arbitrary
value using the environment variable ERL_MAX_PORTS on windows,
corresponding to the behaviour on other operating systems.
The maximum number of simultaneously open
i.e. sockets or port programs is now only limited by operating
system imposed limits.
OTP-4603 An unneccessary garbage collection at process exit for
processes with heap fragments is removed.
OTP-4612 The script 'start' now spawns off an run_erl that's
completely disconnected from the controlling terminal
and that ignores sighup (run_erl -daemon)
OTP-4625 Some internal memory allocation routines (used in BIFs) would
allocate more memory than necessary, especially if the
default mininum heap size had been raised. Corrected.
OTP-4626 A mixup of read buffers in the inet driver could
cause unpredictable results when communicating over TCP
and for distributed erlang.
-------- An bug in the parsing of GET request on the form semi broken
HTTP 0.9 requests was corrected.
-------- Missing driver symbols is now exported for Windows DLL
Erlang drivers.
-- compiler ---------------------------------------------------------------
OTP-4557 Three compiler problems fixed: 1) Constant expression were
not evaluated at compile time as they should be (unless
inlining was turned on). 2) In unusual cases, incorrect code
would be generated for "," or "and" in guards. 3) A floating
point expressions that failed (e.g. with overflow) and whose
value was not used would cause the next floating point
expression to fail on some Pentium platforms (Linux, possibly
FreeBSD; not on Windows).
-- kernel & stdlib --------------------------------------------------------
OTP-4516 A bug in sofs:partition/2 has been fixed.
OTP-4519 c:memory() only reported half of the amount of
ets memory allocated on 64-bit architectures. This bug
has now been fixed.
OTP-4530 The disk_log module has been slightly changed for the
purpose of reducing the risk of memory problems due to
corrupt files. The chunk commands have been optimized
by increasing the chunk size from 8 kilobytes to 64
kilobytes.
OTP-4554 New function dets:is_compatible_bchunk_format/2 to be
used in conjunction with the new info tag
bchunk_format.
OTP-4568 If a naughty child process did unlink(Supervisor), and then
the supervisor decides to terminate that child, it would hang
forever. The supervisor now uses erlang:monitor instead of
waiting for exit-signals, so that naughty child processes can
not make a supervisor hang.
OTP-4585 Fixes bug introduced in patch erl_458 that might have
damaging effects on the supervisor causing unwanted behavior
in the node.
OTP-4600 The names of temporary files created by the module
file_sorter are now more unique than they used to be.
OTP-4609 A bug in Dets that could cause a loop has been fixed.
OTP-4641 A file descriptor leak was removed in the
error logger.
-- odbc -------------------------------------------------------------------
OTP-4593 API function commit/3 is now exported.
OTP-4605 Improved error messages so that the implementation not shall
shine through.
Added possibility to let a connection return rows as tuples
instead of lists.
OTP-4606 If an ODBC API function times out it will cause the client to
exit with reason timeout. If this exit was caught and the
client continued using the connection, the next request could
get the answer meant for the previously timed out request,
this is no longer the case.
OTP-4624 Scrollable cursors are nice but causes some overhead. For
some connections speed might be more important than flexible
data access and then you can disable scrollable cursor for a
connection, limiting the API but gaining speed.
OTP-4636 Some error messages originating from the sql-driver where
corrupted so that odbc only returned the end of the error
message. This has now been fixed.
OTP-4639 The erlang odbc process will now die normally if a connection
can not be established. No connection no process it is
expected. And as the client has already received the error
message that would be the reason with which the erlang
process would be stopped, the supervisor report will be
superfluous. Naturally you may still get supervisor reports
if the erlang process is stopped for any other reason than
the above.
-- os_mon -----------------------------------------------------------------
OTP-4223 A configurable "helper timeout" has been added to
memsup. It defines how long timeout time, in
seconds, the memsup process should use when
communicating with the memsup_helper process
(an application internal server). The default is 30
seconds. The "helper timeout" can be set with the
memsup_helper_timeout configuration parameter,
or the memsup:set_helper_timeout/1 function.
memsup:get_helper_timeout/0 can be used to
retrieve the currently used "helper timeout".
OTP-4515 A bug which could cause memsup to be erroneously
initialized has been fixed. The erroneous initialization
could in turn cause the system_memory_high_watermark
alarm to be set too early.
-- orber ------------------------------------------------------------------
OTP-4577 If a call-back module illegally caused an EXIT, clients
residing on another ORB was not notified (hanged).
OTP-4576 The stub/skeleton-files generated by IC have been improved,
i.e., depending on the IDL-files, reduced the size of the
erl- and beam-files and decreased dependencies off Orber's
Interface Repository. It is necessary to re-compile all
IDL-files and use COS-applications, including Orber,
compiled with IC-4.2.
OTP-4541 It is now possible to configure Orber to use the host name
in exported IOR:s instead of the IP-number.
OTP-4542 When Orber acted as server-side ORB and one tried to setup a
SSL-connection and using native Interceptors at the same time
it failed.
OTP-4543 Oneway operations, using a multi-node Orber, failed for inter-node
communication.
-- mnesia -----------------------------------------------------------------
OTP-4564 Nested transactions could be aborted with
{aborted,{node_not_running,Node}}.
OTP-4524 Mnesia could not load dets files of old format
over the network.
OTP-4565 mnesia:change_table_copy_type/3 failed to copy
data when changing storage type from disc_only_copies
to ram_copies.
OTP-4596 Calls to mnesia:transaction() which makes a badarg,
e.g. calls to mnesia:select/2 with a bad match spec
as argument, loops forever.
OTP-4597 Mnesia could be deadlocked during start of several nodes.
OTP-4599 Mnesia used table names as the name on opened disk_log files,
which could cause strange behavoiurs if the name interfered
with other opened disk_log files.
OTP-4610 Mnesia-4.1.2 couldn't load tables from mnesia-3.10.* nodes.
-- megaco -----------------------------------------------------------------
-------- Added support for the Megaco mib.
OTP-4566 Result of catch gen_udp:open not properly handled.
OTP-4632 Service change reason text encoding now always
quoted string.
-- inets ------------------------------------------------------------------
OTP-4549 FTP client now supports chunked receive. Proposal
of Luke Gorrie provided inspiration but not algorithm.
OTP-4552 HTTP client updated to jnets-0.1, now supporting proxy.
Author: Johan Blom of Mobile Arts AB.
OTP-4548,
OTP-4207 Body length calculation incorrect.
OTP-4550 HTTP-request with a BODY length longer than 0 does not work.
OTP-4551 Calculation of remaining chunk size incorrect.
OTP-4556 Wrong module name used when attempting to stop the security
server (mod_sec_server instead of mod_security_server).
OTP-4588 HTTP client now updated to jnets-0.1.
OTP-4628 HTTP client called undefined function in HTTP server
(httpd_response:send_status/3).
-- asn1 -------------------------------------------------------------------
OTP-4559 It was an internal failure when permitted alphabet constraint
existed together with for instance a size constraint. E.g. when
a referenced type is constrained by a size constraint and the
defined type in turn is constrained by a permitted alphabet
constraint.
OTP-4560 Record is generated in hrl file for a CHOICE with extension
mark that has an internal SEQUENCE/SET definition.
OTP-4590 Now is the length of a SEQUENCE/SET OF correctly
encoded/decoded (PER).
OTP-4591 The problem with unordered decoded terms when a component is a
ObjectClassFieldType has been solved.
OTP-4592 To gain performance in decode the runtime module now makes use
of a driver to do the tlv decode.
OTP-4631 More complex definitions with TableConstraints where the
SimpleTable and ComponentRelation are on different levels
is now fully supported.
OTP-4633 Now is the Default value for an ENUMERATED returned as the
name from the NamedList when decoding.
-- ic ---------------------------------------------------------------------
OTP-4521 Operation names were always scoped in C server backend,
irrespective of the setting of the option scoped_op_calls.
OTP-4532 IDL-files containing 'result' or 'Result' as,
for example, parameter name, caused an exit with reason
bad_match.
OTP-4537 Uninitialized variables were used in ic_init_ref for
C backends.
OTP-4538 CORBA_Environment_alloc() left some fields
uninitialized in the returned pointer to an
CORBA_Environment for C backends.
OTP-4539 The function ic_compare_refs() for C backends
could find two unequal references to be equal.
OTP-4576 The CORBA stub/skeleton-files generated by IC have been improved,
i.e., depending on the IDL-files, reduced the size of the
erl- and beam-files and decreased dependencies off Orber's
Interface Repository. It is necessary to re-compile all IDL-files
and use COS-applications, including Orber, compiled with IC-4.2.
-- crypto -----------------------------------------------------------------
-------- 'des_ede3_cbc_encrypt' was added
-- tools ------------------------------------------------------------------
OTP-4572 The make option 'par' is removed
Emakefiles can now contain compiler options
-- observer ---------------------------------------------------------------
OTP-4527 Missing priv dir in observer application
-- gs ---------------------------------------------------------------------
OTP-4522 The communication between Erlang and the external Tcl/Tk
process was improved.
Compatibility problems with the Microsoft Windows version of
Tcl/Tk 8 and menu handling was solved.
The grid handing code was corrected to avoid intermittent
crashes.
gs:info() was changed not to crash when called with the wrong
argument.
-- misc -------------------------------------------------------------------
-------- Support for cursor keys in X/MacOS X was added.
-- EOF --