Bug fix release : otp_src_R10B-1a Build from snapshot : 2004-11-11 The R10B-1a releases fixes a problem on Windows that the emulator could not be started if Erlang/OTP was installed in a directory with a short name, such as C:\Program\erl5.4.2 This is a bug fix release 1a for the R10B release. You can download the full source distribution from http://www.erlang.org/download/otp_src_R10B-1a.tar.gz http://www.erlang.org/download/otp_src_R10B-1a.readme (this file) Note: To unpack the TAR archive you need a GNU TAR compatible program. For instance, 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. The Windows binary distribution can be downloaded from http://www.erlang.org/download/otp_win32_R10B-1a.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_doc_html_R10B-1a.tar.gz http://www.erlang.org/download/otp_doc_man_R10B-1a.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 --- compiler -------------------------------------------------------- OTP-5198 A few minor issues code generation issues were corrected. Although the generated code was correct, it was slightly slower and larger than it needed to be. A debug printout (that could be seen in rare circumstances) has been removed. not record_test(not_a_tuple, RecordTag) and similar expressions in a guard would fail. New options basic_validation and strong_validation to do a quick check of the code of a module. (Mainly useful for code generators.) The inline option was not recognized if it appeared in a -compile() directive inside the module. Corrected some bugs in the undocumented feature "parameterized modules". OTP-5224 When the undocumented feature "parameterized modules" was used, the ?MODULE macro did not work correctly. --- erts ------------------------------------------------------------ OTP-5203 The ethread library was unnecessarily rebuilt multiple times during the build process, also a debug version of the library was build during the install phase. These unnecessary builds have now been removed. Note, the content of the installed Erlang/OTP system is not effected at all by this change. OTP-5211 The emulator could fail to clear the memory segment cache. This could potentially cause memory allocation to unnecessarily fail when memory usage was close to its maximum. This bug has now been fixed. OTP-5216 std_alloc (std short for standard) was sometimes called def_alloc (def short for default). std_alloc is now everywhere refered to as std_alloc. OTP-5217 A documentation bug has been corrected in the erts_alloc(3) documentation. It was stated that some of the memory allocators present were by default disabled. This is true for Erlang/OTP R9C, but is not true for Erlang/OTP R10B. In R10B all memory allocators present are enabled by default. OTP-5221 The emulator now closes all open files and sockets immediately after receiving an USR1 signal. This causes the emulator to unregister at epmd as early as possible. OTP-5229 Try/catch support in the emulator slightly updated. OTP-5209 If one used select/3 and select/1 on a non-fixed table and deleted objects simultaneously, the emulator could crash. Note that the result of such simultaneous operations on tables that are not in a fixed state is still undefined, but the emulator crash is, needless to say, fixed. OTP-5233 Arithmetic with big numbers could crash the emulator. The HiPE native code compiler and run-time code in the emulator has been updated. (Note: Native code is still not supported.) Eliminated a few bugs that could crash the hybrid emulator (which is not supported). OTP-5210, You can now start Erlang with the -remsh flag which gives you a OTP-5248 remote initial shell instead of a local one. Example: erl -sname this_node -remsh other_node@other_host --- hipe ------------------------------------------------------------ OTP-5233 The HiPE native code compiler and run-time code in the emulator has been updated. (Note: Native code is still not supported.) Eliminated a few bugs that could crash the hybrid emulator (which is not supported). --- kernel ------------------------------------------------------------ OTP-5208 The documentation for the auth:open/1 function which no longer exists has been removed. (Thanks to Miguel Barreiro.) OTP-5212 If /etc/hosts specified two hosts with the same IP address (on separate lines), only the last host would be registered by inet_db during inet configuration. This has been corrected now so that both aliases are registered with the same IP address. OTP-5214 The top level group leader used to be listed as job #1 in the job list in JCL mode. Since there is no shell associated with this process that can be connected to, it will no longer be listed. OTP-5218 The possibility to start the erlang shell in parallell with the rest of the system has been reintroduced for backwards compatibility. Note that this old behaviour is error prone and should not be used unless for some reason necessary. OTP-5222 The documentation for BIFs that take I/O lists have been clarified. Those are list_to_binary/1, port_command/2, port_control/3. Documentation for all is_* BIFs (such as is_atom/1) has been added. Removed the documentation for erlang:float_to_binary/2 which was removed from the run-time system several releases ago. OTP-5226 The shell commands rr/1,2,3 now accepts wildcards when reading record definitions from BEAM files. OTP-5227 Corrected the crc32/3 function in the undocumented and unsupported zlib module. --- megaco ------------------------------------------------------------ OTP-5193 Minor error handling improvement to the text encoder. OTP-5186 The megaco text codec failed to properly encode a message containing no or an empty terminationAudit list or possibly a terminationAudit list with only an "empty" emptyDescriptor (e.g. an AuditDescriptor without any values; auditToken is either asn1_NOVALUE or []). This effected AmmsReply and auditOther (AuditResult) and both v1 and v2. OTP-5201 Version 2 codec corrections: Incorrectly transformed (encoded and decoded) IndAudStreamDescriptor (binary), encoded IndAudMediaDescriptor and IndAudStreamDescriptor (text). Incorrectly decoded IndAudMediaDescriptor (text). --- pman ------------------------------------------------------------ OTP-5191 The pman 'trace shell' functionality was broken as has now been fixed. Furthermore, pman could not correctly find the pid of the active shell if more than one shell process was running on the node. This has also been corrected. --- snmp ------------------------------------------------------------ OTP-5187 [agent] Added functions to get a list of all mibs loaded into an agent (see snmpa:which_mibs) and to get the (full path) file name of a loaded mib (see snmpa:whereis_mib). OTP-5196 [manager] The wrong default value (1024) was used for the net-if option recbuf. If no value is specified, then the OS default shall be used. Improvements and new features: OTP-5242 [manager] When the net_if process failed to send a message, for whatever reason, this is just dropped. And the user is "left hanging". Now, if the request is syncroneous, it will return with a proper reason (see snmpm:g, snmpm:gn and snmpm:s), and if the request was asynchroneous, the new callback function, handle_error (see snmpm_user) is called. Reported Fixed Bugs and Malfunctions: OTP-5225 [manager] The arguments CtxName and Port was swapped in the function snmpm:g/6. OTP-5241 [manager] TRAP receive failes for unknown agent due to failing message size calculation. Incompatibilities: OTP-5242 [manager] Introduced a new callback function in the behaviour snmpm_user. --- stdlib ------------------------------------------------------------ OTP-5213 The man page for the lists module has been updated with decscription of the new zip, unzip, and partition/2 functions (introduced in R10B-1). OTP-5214 The top level group leader used to be listed as job #1 in the job list in JCL mode. Since there is no shell associated with this process that can be connected to, it will no longer be listed. OTP-5218 The possibility to start the erlang shell in parallell with the rest of the system has been reintroduced for backwards compatibility. Note that this old behaviour is error prone and should not be used unless for some reason necessary. OTP-5226 The shell commands rr/1,2,3 now accepts wildcards when reading record definitions from BEAM files. OTP-5209 If one used select/3 and select/1 on a non-fixed table and deleted objects simultaneously, the emulator could crash. Note that the result of such simultaneous operations on tables that are not in a fixed state is still undefined, but the emulator crash is, needless to say, fixed.