Bug fix release : otp_src_R11B-1
Build date : 2006-08-29
This is bug fix release 1 for the R11B release.
You can download the full source distribution from
http://www.erlang.org/download/otp_src_R11B-1.tar.gz
http://www.erlang.org/download/otp_src_R11B-1.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-1.exe
On-line documentation can be found at http://www.erlang.org/doc.html.
You can also download the complete HTML documentation or the Unix manual files
http://www.erlang.org/download/otp_doc_html_R11B-1.tar.gz
http://www.erlang.org/download/otp_doc_man_R11B-1.tar.gz
We also want to thank those that sent us patches, suggestions and bug
reports,
The OTP Team
--- documentation ------------------------------------------------------------
OTP-6161 Minor correction in Getting Started chapter 2.10
--- asn1-1.4.4.11 ------------------------------------------------------------
OTP-6143 When copiling an asn1 source that reference a type in another
source the compiler uses the asn1db file of the other source
to resolve the reference. It also tests whether the other
source has been updated since the asn1db file was generated.
This last test was to brutal in that it exits compilation
when no source was found, even though a asn1db file existed.
Changed behaviour from a brutal exit to a warning.
--- compiler-4.4.1 ------------------------------------------------------------
OTP-6121 The compiler used to crash if a module contained code similar
to 'fun(1=0) -> ok end'. (Thanks to Richard Carlsson.)
The compiler would spend really long time compiling bit
syntax expressions such as '<<1:(50*1024*1024)>>' and produce
a huge .beam file. Corrected.
The compiler would compile list comprehensions with many
generators really, really slow. (Thanks to Thomas Raes.)
Module attributes would be stored in reverse order compared
to the order in the source code. (Thus,
M:module_info(attributes) would also return the attributes in
reversed order.)
Defining a fun in an after block of a try would cause the
compiler to crash or generate incorrect code. (Thanks to
Martin Bjorklund.)
The combination of binary pattern and a guard with
andalso/orelse could cause the compiler to crash.
--- dialyzer-1.4.2 ------------------------------------------------------------
OTP-6128 Improvements in PLT management.
--- erl_interface-3.5.5.1 ------------------------------------------------------------
OTP-6132 Portability enchancements.
--- erts-5.5.1 ------------------------------------------------------------
OTP-6119 The smp runtime system now automatically detects the number
of logical processors on MacOSX (darwin) and OpenBSD.
The smp runtime system is now built by default on MacOSX
(darwin) on x86.
OTP-6124 The emulator could dump core when reading a file over nfs
which was simultaneously written.
OTP-6126 The -smp command line argument now take the following
options: enable, auto, or disable.
Especially the -smpauto argument is useful since it starts
the Erlang runtime system with SMP support if it is available
and more than one logical processor are detected; otherwise,
it starts the Erlang runtime system without SMP support. For
more information see the erl(1) man page.
OTP-6142 Complex pattern matching of strings would fail in the 64 bits
emulator because of a bug in the loader. (Thanks to Igor
Goryachev.)
OTP-6154 -134217728 div 134217728 and -134217728 rem 134217728 would
be calculated incorrectly. abs(-2147483648) could in unlucky
circumstances cause a heap overflow, as could size(Binary)
when size of the binary was larger than 128Mb.
OTP-6156 erlang:display/1 displayed erroneous values for negative
integers.
Big integers (both positive and negative) were previously
displayed in hexadecimal form while small integers were
displayed in decimal form. All integers are now displayed in
decimal form.
NOTE: erlang:display/1 should only be used for debugging.
OTP-6175 A call to erlang:trace/3 with erroneous flags caused the SMP
emulator to deadlock instead of exiting the calling process
with badarg.
OTP-6180 A bug causing the emulator to hang when exiting a process
that is exception traced has been fixed.
OTP-6196 Increased the reduction cost for sending messages in the SMP
emulator so it behaves more like the non-SMP emulator.
OTP-6198 ets:rename/1 could deadlock, or crash the SMP emulator when
the table wasn't a named table.
ets:next/2, and ets:prev/2 could return erroneous results on
the SMP emulator.
OTP-6199 A memory allocation bug could cause the SMP emulator to crash
when a process had executed a receive after with a larger
timeout than 10 minutes.
OTP-6202 The runtime system with SMP support did not slowly adjust
it's view of time when the system time suddenly changed.
Timeouts could sometimes timeout too early on the runtime
system with SMP support.
OTP-6204 A port running a dynamically linked-in driver that exits due
to the driver being unloaded now exits with exit reason
driver_unloaded. Previously the port exited with exit reason
-1.
OTP-6208 Changed name of the erlang:system_info/1 argument scheduler
to scheduler_id. This since the scheduler argument so easily
could be mixed up with the schedulers argument (both
returning integers).
OTP-6211 The changes below were made by Mikael Pettersson, HiPE.
HiPE runtime system:
Reduce overheads in the HiPE runtime system's BIF glue code.
Fix bug when exceptions are thrown from BEAM to HiPE.
Support SPARC on Linux.
Support x86 on FreeBSD.
Floating-point exceptions:
Reduce overheads in checking results of floating-point
operations.
Minor bug fix in SSE2 floating-point exception handling.
Support SSE2 floating-point exceptions on 32-bit x86
machines.
Make FP exceptions work in the SMP runtime system on
FreeBSD/x86.
Support floating-point exceptions on SPARCs running Linux.
Runtime system:
Minor scheduler optimisation in the non-SMP runtime system.
Substantial reduction of I/O thread overheads in the SMP
runtime system if the separate timer thread is used. (In
R11B-1, the separate timer thread is not used.)
--- hipe-3.5.6 ------------------------------------------------------------
OTP-6127 Improved compilation of receives for the SMP runtime system.
Improved code quality in HiPE compiler on ARM.
Fix bug in handling of re-raised exceptions in try-catch.
(HiPE loader) When native code is incompatible with the
current runtime system, fall back to loading the BEAM code.
--- inets-4.7.5 ------------------------------------------------------------
OTP-6018 [FTP] Change documentation so that it agrees with the default
behaviour of the code regarding use of transfer type, which
is right according to rfc959.
OTP-6035 [ftp] The application handles the case if the owning process
terminates with the reason 'shutdown'.
OTP-6036 [ftp] Handle file errors from the FTP server.
OTP-6135 Added an application interface module (inets.erl).
OTP-6145 Header parsing of reply from cgi script incorrect.
OTP-6184 The timeout given in the ftp:open call was not properly used,
which could leave the caller hanging forever.
OTP-6189 HTTPD request handler does not handle unexpected info
properly, which causes an unneccessarily obscure error
message.
OTP-6191 Misc fixes in the URI parsing module.
--- kernel-2.11.1 ------------------------------------------------------------
OTP-6163 In R11B-0, the erl_ddll server process is always started.
Despite that, the configuration parameter start_ddll for the
Kernel application was still obeyed, which would cause the
erl_ddll server to be started TWICE (and the system shutting
down as a result). In this release, start_ddll is no longer
used and its documentation has been removed.
OTP-6197 Late arriving tcp_closed and udp_closed messages are now
removed from the message queue of a process calling
gen_tcp:close/1, gen_udp:close/1, and inet:close/1.
OTP-6200 The kernel option {dist_auto_connect,once} could block out
nodes that had never been connected, causing persistent
partitioning of networks. Furthermore, partial restarts of
networks could cause inconsistent global name databases. Both
problems are now solved.
--- megaco-3.4.2 ------------------------------------------------------------
OTP-5769 Added support for another pre version of v3 (prev3c). This is
basically the complete v3 with exception of segments.
OTP-5980 The SDP support has received a major updated. Added two new
function's to decode and encode SDP.
OTP-6030 Added the possibillity to conditionally request immediate
acknowledgement of a reply.
OTP-6048 Modify the way the stack handles the reply-timer. Now, if an
incremental timer is used, every time there is an
intermediate timeout, the timer is restarted (just as before)
but the reply is also resent!
OTP-6051 Added another config option long_request_resend. The purpose
of this option is to make the megaco application to continue
re-sending requests, even after having received a pending
message, until it receives the reply or it gives up
(timeout).
OTP-6052 Add possibillity to override send options when sending reply
messages. This is done by adding another return alternative
to the handle_trans_request callback function.
OTP-6055 Handling failure to send reply. Previously, when megaco was
unable to send a reply (built from the action list returned
by handle_trans_request), nothing was done, except for
sending an error message. This has now been changed so that
the error will be returned to the user via a call to the
callback function, handle_trans_ack (unless ack_action =
discard_ack).
OTP-6089 Bad formated debug printout in transaction sender.
OTP-6090 Removed unnecessary error report. In a special case two
(error_logger) error reports could be sent: When receiving a
transaction request for which an reply, with
immediade-ack-requested, has already been send, the reply is
resent. But if the sending failes, two (error_logger) error
reports is sent. This has been corrected (so that only one is
sent).
OTP-6108 Fix release notes history.
OTP-6113 Incorrect version string(s) in appup file. Most of the
version strings in the appup file was malformed, which most
likely made up-/downgrade impossible.
OTP-6148 Pending limit exceeded error message was incorrectly composed
as a message error instead of a TransactionReply
(transactionError) error.
--- megaco-3.4.3 ------------------------------------------------------------
OTP-6170 Added a number of v3 related error codes (defined in H248.08)
OTP-6171 Added check for the illegal option reply_data in the Options
(third) argument to the megaco:call function. The valid
options was documented but never checked.
OTP-6172 Miscellaneous documentation fixes
--- mnesia-4.3.2 ------------------------------------------------------------
OTP-6193 Mnesia sometimes failed to remove [d]ets table fixation, when
using mnesia:first/1,mnesia:next/2 or qlc this could cause
that deleted records are not actually deleted in the [d]ets
table and mnesia:[dirty_]first/1 reported the wrong key.
--- os_mon-2.1.1 ------------------------------------------------------------
OTP-6136 Did not build on Mac OS X.
Added support for IRIX. (Thanks to Michel Urvoy and Daniel
Solaz.)
OTP-6153 disksup: Now using round(T*100) instead of trunc(T*100) when
setting the threshold value given a float T.
--- sasl-2.1.3 ------------------------------------------------------------
OTP-6162 release_handler:upgrade_app/2 and
release_handler:downgrade_app/2,3 -- used for testing
application upgrade and downgrade according to the .appup
file -- now update application configuration parameters
correctly. (Thanks to Serge Aleynikov)
--- snmp-4.8 ------------------------------------------------------------
OTP-6137 Added a config option, sndbuf, for the net_if-module(s).
OTP-6149 Improve error handling of the log_to_txt function(s).
[snmpm|snmpa]:log_to_txt on a non-existing log-file causes an
obscure error reason.
OTP-6150 [compiler] Allow empty definitions for SMI-II mibs, i.e. mibs
are allowed to only contain the MODULE-IDENTITY construct.
OTP-6164 Performance improvement when converting audit trail logs.
--- snmp-4.8.1 ------------------------------------------------------------
OTP-6177 Removed an io:format in mini mib utility (used when
converting logs).
--- ssh-0.9.3 ------------------------------------------------------------
OTP-6138 Added way for cli to get peer name
--- ssh-0.9.4 ------------------------------------------------------------
OTP-6183 Unnecessary explicit start of crypto application in ssh
application. This has been removed. The app-file specifies
that ssh depends on the crypto app. This is enough. Also
changed some error reports to info reports.
--- stdlib-1.14.1 ------------------------------------------------------------
OTP-6140 The functions c:y/1,2 which call yecc:file/1,2 are now listed
by c:help/0.
Documentation of c:y/1,2 has been added to c(3).
The fact that the control sequence character s recognizes
binaries and deep character lists has been documented in
io(3). This feature was added in R11B-0 (OTP-5403).
OTP-6166 The shell command rr() sometimes failed to read record
definitions from file(s). This problem has been fixed.
OTP-6169 The nonlocal function handler in erl_eval, which is used for
implementing the restricted mode of the Erlang shell, did not
handle calls to erlang:apply/3 correctly. This bug has been
fixed.
OTP-6198 ets:rename/1 could deadlock, or crash the SMP emulator when
the table wasn't a named table.
ets:next/2, and ets:prev/2 could return erroneous results on
the SMP emulator.
OTP-6206 When closing a Dets table the space management data was
sometimes saved in such a way that opening the table could
not be done without repairing the file. This bug has been
fixed.
--- tools-2.5.1 ------------------------------------------------------------
OTP-6152 eprof now works somewhat better in the SMP emulator.