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.