The update R9B-1 is released

Kent Boortz <>
Wed Mar 5 16:31:01 CET 2003

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 (this file)

If you have access to the Ericsson intranet you can find the same files at

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

The documentation at will be updated. You can
also download the complete HTML documentation or the Unix manual files

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

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

    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

    OTP-4554  New function dets:is_compatible_bchunk_format/2 to be
              used in conjunction with the new info tag

    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
              <c>file_sorter</c> are now more unique than they used to be.

    OTP-4609  A bug in <c>Dets</c> 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

  -- mnesia -----------------------------------------------------------------

    OTP-4564  Nested transactions could be aborted with 

    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-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 

  -- 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

    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

    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

              gs:info() was changed not to crash when called with the wrong

  -- misc -------------------------------------------------------------------

    --------  Support for cursor keys in X/MacOS X was added.

  -- EOF --

More information about the erlang-questions mailing list