Bug fix release : otp_src_R15B03 Build date : 2012-11-26 This is R15B03, the third maintenance release for the R15B major release. You can find the README file for the release at http://www.erlang.org/download/otp_src_R15B03.readme (this file) The source distribution and binary distributions for Windows can be downloaded from http://www.erlang.org/download/otp_src_R15B03.tar.gz http://www.erlang.org/download/otp_win32_R15B03.exe http://www.erlang.org/download/otp_win64_R15B03.exe Note: To unpack the TAR archive you need a GNU TAR compatible program. For installation instructions please read the README file that is part of the distribution. The on-line documentation can be found at: http://www.erlang.org/doc/ You can also download the complete HTML documentation or the Unix manual files http://www.erlang.org/download/otp_doc_html_R15B03.tar.gz http://www.erlang.org/download/otp_doc_man_R15B03.tar.gz We also want to thank those that sent us patches, suggestions and bug reports, The OTP Team --- common_test-1.6.2.1 ------------------------------------------------- OTP-10414 The interactive mode (ct_run -shell) would not start properly. This error has been fixed. --- common_test-1.6.3 --------------------------------------------------- OTP-10466 A new test case group search functionality has been implemented that makes Common Test search automatically through the group definitions tree (the return value of groups/0) and create tests for all paths of nested groups that match the specification. It also allows for specifying unique paths to sub groups in order to avoid execution of unwanted tests. This new feature can be used whenever starting a test run by means of the ct_run program, the ct:run_test/1 API function, or a Test Specification. Details can be found in the Test Case Group Execution section in the Running Tests chapter. OTP-10495 The ct:run_test/1 option 'config' only worked with a single config file, not a list of files. This has been fixed. OTP-10510 ct_netconfc:close_session sometimes returned {error,closed} because the ssh connection was closed (from the server side) before the rpc-reply was received by the client. This is normal and can not be helped. It has been corrected so the return will be 'ok' in this case. Other error situations will still give {error,Reason}. OTP-10570 ct_netconfc:close_session sometimes returned {error,closed} or (if the connection was named) {error,{process_down,Pid,normal}} because the ssh connection was closed (from the server side) before the rpc-reply was received by the client. This is normal and can not be helped. It has been corrected so the return will be 'ok' in this situation. OTP-10572 Fix bug where ct:require of same name with same config would return name_in_use. --- compiler-4.8.2 ------------------------------------------------------ OTP-10567 The compiler would crash when attempting to compile a function head that did binary matching and had a complex guard using 'andalso' and 'not'. (Thanks to Jose Valim for reporting this bug.) --- dialyzer-2.5.3 ------------------------------------------------------ OTP-10464 Fix a crash in race condition detection Remove old untested experimental extension Respect {plt_check,false} option when using dialyzer:run/1 Fix handling of tuple set remote types appearing in tuple sets --- diameter-1.2.1 ------------------------------------------------------ OTP-10550 Accept that diameter may not exist on all nodes. Such a node would previously have prevented new peer connections from being established. OTP-10461 Fix a fault that caused service failure when resending requests at peer failover. --- diameter-1.3 -------------------------------------------------------- OTP-10440 Fix faulty handling of Origin-State-Id and faulty config values. The former was expected in a list despite the documentation requiring (correctly) an integer. A bare value for a list-valued capability was not handled. OTP-10441 Let prepare_request, prepare_retransmit and handle_request callbacks return a function to be invoked on outgoing messages after encode. This allows encoded messages to be logged for example. OTP-10443 Add service_opt() 'restrict_connections' to allow multiple transport connections with the same peer. OTP-10445 Add service_opt() 'sequence' to allow the masking of a constant onto the topmost bits of End-to-End and Hop-by-Hop identifiers. This allows the same service on different nodes to use distinct values in outgoing request messages. OTP-10459 Fix timing of up/down events. Previously, a call to diameter:call/4 following a peer_up callback might incorrectly return {error, no_connection}, depending on timing. Both events now follow the corresponding callbacks. OTP-10460 Make diameter:service_info/2 usable in peer_up, peer_down and pick_peer callbacks. Except for in pick_peer when {call_mutates_state, false}, it would previously hang indefinitely. OTP-10470 Add diameter:service_info(PeerRef) to return the transport_ref() and transport_opt() list of the corresponding transport. This allows easy access to these from diameter_app callbacks that only get peer_ref() as an argument. OTP-10471 Add reference pages diameter_codec(3) and diameter_make(3). OTP-10492 Add events for service start and stop. OTP-10493 Add transport_opt() 'disconnect_cb' to make the sending of DPR configurable. Whether or not DPR should be sent at application stop, service stop or transport removal is determined by the value returned by the callback, as is the Disconnect-Cause and timeout if DPA is not received. OTP-10554 Add transport_opt() 'capx_timeout' for the timeout associated with non-reception of CER/CEA. OTP-10565 Verify that End-to-End and Hop-by-Hop Identifiers in an incoming CEA/DPA match those sent in the corresponding CER/DPR. The values were previously ignored. Answers whose identifiers do not match are handled as unexpected. OTP-10566 Allow a handle_request callback to return a #diameter_packet{}. This allows an answer to set transport_data and header fields. OTP-10568 Update documentation for RFC 6733. RFC 3588 is now obsolete. OTP-10583 Fix formatting problems in PDF documentation. In particular, text corresponding to links in HTML was omitted in preformatted blocks. There are still issues with indentation but this is not diameter-specific. --- erl_docgen-0.3.3 ---------------------------------------------------- OTP-9040 A possibility to configure erl_docgen so it can generate documentation for other products than Erlang/OTP. --- erl_interface-3.7.9 ------------------------------------------------- OTP-10581 Teach lib/erl_interface/configure.in to look for pthreads support in libc (where it can be found on QNX) A minor tweak such that this configure *fails* if you pass --enable-threads and no pthreads support can be found. (Thanks to Per Hedeland) --- erts-5.9.3 ---------------------------------------------------------- OTP-10265 Improve support for building and testing in embedded ppc environments. OTP-10325 Due to a race condition on Windows, sometimes when printing to standard output and then immediately terminating erlang all data would not be printed. The emulator now waits for all data to be printed before exiting. OTP-10395 Fix linking in OpenBSD. (Thanks to Matthew Dempsky) OTP-10418 Fix bug causing fallback atomics to be used even though healthy gcc atomics or libatomic_ops was detected. OTP-10422 Ensure 'erl_crash.dump' when asked for it. This will change erl_crash.dump behaviour. * Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam immediately on a crash without writing a crash dump file. * Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate beam immediately on a crash without writing a crash dump file, i.e. same as not setting ERL_CRASH_DUMP_SECONDS environment variable. * Setting ERL_CRASH_DUMP_SECONDS to a negative value will let the beam wait indefinitely on the crash dump file being written. * Setting ERL_CRASH_DUMP_SECONDS to a positive value will let the beam wait that many seconds on the crash dump file being written. A positive value will set an alarm/timeout for restart both in beam and in heart if heart is running. OTP-10476 The frequency with which sleeping schedulers are woken due to outstanding memory deallocation jobs has been reduced. OTP-10481 Fix bug where MSVRT100.dll was not included in the windows installer. OTP-10524 In the expression <>, if Bin was a bitstring with a size not a multiple of 8, either no exception was generated or an incorrect exception was generated. (Thanks to Adam Rutkowski for reporting this bug.) OTP-10556 The runtime system could crash while scheduling a port task. The port task was scheduled either due to an external I/O event being triggered, a driver timeout being triggered, or data being sent over a distribution channel. OTP-10557 Clearer warnings about the dangers of misuse of native functions and drivers have been added to the documentation. OTP-10558 erlang:memory(ets) erroneously included the size of each ETS-table main structure twice. OTP-10577 Fix compile error in generated file hipe_amd64_bifs.S for Solaris. OTP-10584 A faulty spec for process_info/2 could cause false dialyzer warnings. The spec is corrected. OTP-10590 In very rare cases, the VM could crash if a garbage collector was called while executing an appending bit syntax instruction. The symptom was a core when reallocating memory in the function erts_bs_append. The garbage collector bug is now corrected. --- hipe-3.9.3 ---------------------------------------------------------- OTP-10584 A faulty spec for process_info/2 could cause false dialyzer warnings. The spec is corrected. --- inets-5.9.2 --------------------------------------------------------- OTP-10392 Minimum bytes per second New option to http server, {minimum_bytes_per_second, integer()}, for a connection, if it is not reached the socket will close for that specific connection. Can be used to prevent hanging requests from faulty clients. --- kernel-2.15.3 ------------------------------------------------------- OTP-10422 Ensure 'erl_crash.dump' when asked for it. This will change erl_crash.dump behaviour. * Not setting ERL_CRASH_DUMP_SECONDS will now terminate beam immediately on a crash without writing a crash dump file. * Setting ERL_CRASH_DUMP_SECONDS to 0 will also terminate beam immediately on a crash without writing a crash dump file, i.e. same as not setting ERL_CRASH_DUMP_SECONDS environment variable. * Setting ERL_CRASH_DUMP_SECONDS to a negative value will let the beam wait indefinitely on the crash dump file being written. * Setting ERL_CRASH_DUMP_SECONDS to a positive value will let the beam wait that many seconds on the crash dump file being written. A positive value will set an alarm/timeout for restart both in beam and in heart if heart is running. --- percept-0.8.7 ------------------------------------------------------- OTP-10439 Add missing modules in app-file --- public_key-0.17 ----------------------------------------------------- OTP-9361 ssh_decode now handles comments, at the end of the line, containing withe spaces correctly OTP-9362 Add missing references to sha224 and sha384 OTP-10509 public_key now supports PKCS-10 and includes exprimental support for PKCS-7 --- ssh-2.1.2 ----------------------------------------------------------- OTP-10429 SSH quiet mode A new option to ssh:connect/3,4, quiet_mode. If true, the client will not print out anything on authorization. OTP-10498 Restrict which key algorithms to use A new option to ssh:connect/3,4 is introduced, public_key_algs, where you can restrict which key algorithms to use and in which order to try them. OTP-10511 Confidentiality of client password Unsets clients password after authentication. OTP-10513 Fixed user interaction for SSH It's now available to accept hosts and input password --- ssl-5.1.1 ----------------------------------------------------------- OTP-10569 ssl:recv/3 could "loose" data when the timeout occurs. If the timout in ssl:connect or ssl:ssl_accept expired the ssl connection process was not terminated as it should, this due to gen_fsm:send_all_state_event timout is a client side time out. These timouts are now handled by the gen_fsm-procss instead. OTP-10574 Better termination handling that avoids hanging. --- stdlib-1.18.3 ------------------------------------------------------- OTP-10591 Minor test updates --- test_server-3.5.3 --------------------------------------------------- OTP-10571 test_server_h will now recognize info_reports written by ct connection handlers (according to the description in cth_conn_log) and ignore them as they will be completely handled by by ct_conn_log_h. Earlier test_server_h would print a tag (testcase name) before forwarding the report to error_logger_tty_h. This would cause lots of tags in the log with no info report following (since error_logger_tty_h did not handle them). --- tools --------------------------------------------------------------- OTP-10439 Add missing modules in app-file