1 Erl_interface Release Notes
This document describes the changes made to the Erl_interface application.
1.1 Erl_Interface 3.6.3
1.1.1 Fixed Bugs and Malfunctions
-
The manual states that erl_receive() return the reason in
the ErlMessage struct. This was not the case and
the function is now corrected.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-4969
-
In send_exit.c an errorneous size of memory
allocation could occur when reallocating a buffer.
In ei_decode_trace.c the index could be updated
when the decoding failed.
In ei_printterm.c the index could be updated when
the decoding failed in lists and tuples.
In ei_decode_term.c when decoding a double
(ERL_FLOAT_EXT) no check was done to ensure that the last
of the 31 bytes was null terminated.
In ei_decode_term.c when decoding references, only
the first 3 bytes are read, but the index did not
increment by the total size.
In ei_decode_fun.c no check of correct buffer
allocation or data length was done.
In ei_decode_string.c the integer list string case
did not decode the NIL tail correctly.
These errors has now been fixed. (Thanks to Romain
Lenglet, Paul Mineiro and Paul Guyot).
Own Id: OTP-6117
-
ei_decode_big could be decoded with a garbage
byte.
ei_encode_big and ei_x_encode_big is now
available.
Own Id: OTP-7554
-
The function erl_init_resolve() did not conform to
C99 standard which caused a build error on some
platforms. This has now been fixed.
Own Id: OTP-8093
-
Makefile.in has been updated to use the LDFLAGS
environment variable (if set). (Thanks to Davide
Pesavento.)
Own Id: OTP-8157
1.1.2 Improvements and New Features
-
Added support for 64-bit integers in encoding/decoding.
Added support for better printouts of binaries.
Own Id: OTP-6091
1.2 Erl_Interface 3.6.2
1.2.1 Fixed Bugs and Malfunctions
-
A problem with gethostbyname in erl_start.c
could cause a buffer overflow. This has now been fixed.
Clean up of code and removed compiler warnings.
Own Id: OTP-7978
1.3 Erl_Interface 3.6.1
1.3.1 Fixed Bugs and Malfunctions
-
A faulty validation in ei_reg_getpval caused it
to never return the key-value. This has now been fixed.
(Thanks to Matt Stancliff)
Own Id: OTP-7960
1.3.2 Improvements and New Features
-
Minor update to the configure script.
Own Id: OTP-7959
1.4 Erl_Interface 3.6.1
1.4.1 Improvements and New Features
-
Minor update to the configure script.
Own Id: OTP-7959
1.5 Erl_Interface 3.6
1.5.1 Improvements and New Features
-
Nodes belonging to different independant clusters can now
co-exist on the same host with the help of a new
environment variable setting ERL_EPMD_PORT.
Own Id: OTP-7826
1.6 Erl_Interface 3.5.9
1.6.1 Fixed Bugs and Malfunctions
-
A type-casting bug in ei_skip_term and ei_printterm on
64bit platforms rendering undefined results is now
corrected.
Own Id: OTP-7577
-
A bug in the hostent copying code of erl_interface on
MacOS X/Darwin is now corrected.
Own Id: OTP-7593
-
A problem with building erl_interface on
FreeBSD has been fixed (Thanks to Akira Kitada).
Own Id: OTP-7611
1.7 Erl_Interface 3.5.8
1.7.1 Fixed Bugs and Malfunctions
-
Fixed bug in erl_interface when decoding broken data
Own Id: OTP-7448
1.8 Erl_Interface 3.5.7
1.8.1 Fixed Bugs and Malfunctions
-
An errornous freeing of memory could occur when using
ei_x_format_wo_ver in erl_interface, resulting in
a segmentation fault.
Own Id: OTP-6795
-
A faulty compare in erl_marshal has now been
fixed. (Thanks to Simon Cornish and Paul Mineiro)
Own Id: OTP-7368
1.9 Erl_Interface 3.5.6
1.9.1 Fixed Bugs and Malfunctions
-
Minor documentation fixes.
Own Id: OTP-7183 Aux Id: OTP-7118
1.10 Erl_Interface 3.5.5.4
1.10.1 Fixed Bugs and Malfunctions
-
The symbol __erl_errno was undefined in the single thread
version of the ei library, but is now defined.
Own Id: OTP-6887
-
Corrected FreeBSD build error.
Own Id: OTP-7093
1.11 Erl_Interface 3.5.5.3
1.11.1 Improvements and New Features
-
Calls to alloca in erl_marshal.c have been removed. A
static buffer is now used instead to store node names
temporarily.
Own Id: OTP-6331 Aux Id: seq10468
-
ei_print_term interprets a list of integers with values
from 0 to 255 as a string. If the original list contains
the integer 0, this is considered terminator of the
string. This is incorrect. The function has now been
modified to not look for '\0' in a string, but always
print all characters.
Own Id: OTP-6339 Aux Id: seq10492
1.12 Erl_Interface 3.5.5.2
1.12.1 Fixed Bugs and Malfunctions
-
The combination of xeon processors with 64bit x86
extensions and a 32bit linux could cause ei_decode_long
and ei_decode_longlong to fail for the value LONG_MIN and
LONGLONG_MIN. The conversion is now made more portable.
Own Id: OTP-6216
1.13 Erl_Interface 3.5.5.1
1.13.1 Improvements and New Features
-
Portability enchancements.
Own Id: OTP-6132
1.14 Erl_Interface 3.5.5
1.14.1 Fixed Bugs and Malfunctions
-
Different (and old) config.guess files in the
erts and erl_interface applications would
cause build problems on the new Intel-based iMacs.
(Thanks to Sebastion Strollo.)
Own Id: OTP-5967
-
pthread header and library mismatch on linux systems (at
least some SuSE and Debian) with both NPTL and
Linuxthreads libraries installed.
Own Id: OTP-5981
1.14.2 Improvements and New Features
-
Support for a C node to connect to an Erlang node on a
standalone host has been added.
Own Id: OTP-5883 Aux Id: seq10170
1.15 Erl_interface 3.5.2
1.15.1 Improvements and New Features
-
A configuration test error caused erl_interface to be
built without support for threads. This has been
corrected.
Own Id: OTP-5456
1.16 Erl_interface 3.5.1
1.16.1 Improvements and New Features
-
Changes and improvements have been made to the build and
test environment to solve problems with failing
erl_interface test cases.
Own Id: OTP-5295 Aux Id: OTP-5387
1.17 Erl_interface 3.5
1.17.1 Improvements and New Features
-
Process identifiers and port identifiers have been
made more unique. Previously 18 bits were used as id in
the internal representation of process and port
identifiers. Now 28 bits are used.
The maximum
limit on the number of concurrently existing processes
due to the representation of pids has been increased to
268435456 processes. The same is true for ports. This
limit will at least on a 32-bit architecture be
impossible to reach due to memory shortage.
NOTE: By default, the ERTS, and the
erl_interface, ei, and jinterface
libraries are now only guaranteed to be compatible with
other Erlang/OTP components from the same release. It is
possible to set each component in compatibility mode of
an earlier release, though. See the documentation for
respective component on how to set it in compatibility
mode.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-4968 Aux Id: OTP-4196
1.18 Erl_interface 3.4.5
1.18.1 Fixed Bugs and Malfunctions
-
Corrections for mistakes done for patch erl_605/OTP-4874.
Own Id: OTP-4995 Aux Id: OTP-4874
1.19 Erl_interface 3.4.4
1.19.1 Fixed Bugs and Malfunctions
-
A small optimization in ei_rpc*() was added and a bug in
ei_decode_longlong() was corrected.
Own Id: OTP-4784
1.20 Erl_interface 3.4.2
1.20.1 Fixed Bugs and Malfunctions
-
Strings longer than 65535 bytes were encoded wrong in
ei/erl_interface.
Own Id: OTP-4865 Aux Id: EABln07451
1.21 Erl_interface 3.4.1
1.21.1 Fixed Bugs and Malfunctions
-
erl_call -a parsed erlang terms incorrectly due to a bug
in ei_format, which is now corrected.
Own Id: OTP-4777 Aux Id: seq8099
erl_interface 3.6.3
Copyright © 1991-2009
Ericsson AB