Age | Commit message (Collapse) | Author |
|
* bjorn/kernel/remove-deprecated/OTP-13449:
rpc: Remove functions deprecated in R12B
|
|
* bjorn/cuddle-with-tests:
inet_SUITE: Handle pointtopoint devices in getifaddrs/1
file_SUITE: Increase timetrap for large_write/1
gen_fsm_SUITE: Make abnormal1/1 stop failing
gen_fsm_SUITE: Use timer:sleep/1 instead of ct:sleep/1
inet_SUITE: Handle {error,enoent} in simple_netns_open
inet_SUITE: Handle missing SCTP support in simple_netns/1
asn1_SUITE: Remove temporary files
file_name_SUITE: Improve handling of missing permission for link creation
file_name_SUITE: Remove useless put/2 to process dictionary
file_name_SUITE: Handle the case that HOMEPATH may not be set
code_SUITE: Skip on_load_embedded/1 if no symlinks
gen_sctp_SUITE: Skip most SCTP test cases on Solaris before 5.12
heart_SUITE: Increase timeout in restart/1
heart_SUITE: Use unique node names
init_SUITE: Quote pathname that may contain a space
gen_tcp_misc_SUITE: Clean up send_timeout{_active}/1
Clean up the determination of the hostname
|
|
OTP-13458
* dcorbacho/dist_util_logs:
Keep error reasons for some common distribution errors
|
|
|
|
code:set_path/1 no longer returns {error,bad_path} (an exception
will be thrown instead).
|
|
Language cleaned up by technical writers from Combitech.
Proofreading and corrections by Björn Gustavsson and
Hans Bolinder.
|
|
|
|
In 9870d22b2401b, the timetrap for large_write/1 was accidentally
reduced from the default 30 minutes to only 1 minute. That is not
enough for some older computers.
|
|
Allow an open operation to fail with {error,enoent}. That will
happen if the executable has compiled-in support for netns,
but the computer has not been configured for netns.
|
|
|
|
On modern versions of Windows, creation of symlinks is supported,
but our test machines usually don't have permissions for creating
symlinks. Therefore, the has_links/0 that attempts to predict whether
link creation will work by testing version numbers will not do
any good.
Refactor the code so that test cases don't fail when links cannot
be created because of missing permissions.
|
|
There is never any corresponding get/1.
|
|
Seems that it can happen on Windows.
|
|
On Windows, we might not have permission to create symlinks.
Skip the test case instead of failing.
|
|
On old Solaris versions, many gen_sctp test cases fail. It is not
clear whether the implementation or the test cases or both must
be fixed.
The number of failed test cases is a problem, as other failed
test cases in the Kernel application might not be noticed.
For now, skip most test gen_sctp test cases on old Solaris platforms,
until the day that someone can mend the tests case and/or
implementation (or test machines die). Keep a few smoke test
cases.
|
|
|
|
Avoid interference between test cases.
|
|
On Windows, the pathname is likely to start with "C:/Program Files".
|
|
Eliminate gratuitous use of funs.
Don't limit the send attempts to 1000; it might not be enough.
Rely on four minut timetrap to fail the test case if there will
never be a send timeout error.
|
|
|
|
This is necessary for windows to perform correctly when writing
large files.
|
|
* lukas/kernel/error_logger_warn_fix/OTP-13184:
kernel: Fix progress check in error logger warn suite
|
|
On Windows, the pathnames for modules that are loaded early are
returned with mixed backslashes and slashes:
1> code:which(lists).
"C:\\Program Files\\erl8.0/lib/stdlib-2.7/ebin/lists.beam"
2>
Modules loaded later are fully normalized.
When starting the code_server, normalize the pathnames for all modules
that have been loaded so far.
|
|
=== OTP-18.3 ===
Changed Applications:
- asn1-4.0.2
- common_test-1.12
- compiler-6.0.3
- cosNotification-1.2.1
- cosTime-1.2.1
- cosTransactions-1.3.1
- crypto-3.6.3
- debugger-4.1.2
- dialyzer-2.9
- diameter-1.11.2
- edoc-0.7.18
- eldap-1.2.1
- erl_docgen-0.4.2
- erl_interface-3.8.2
- erts-7.3
- eunit-2.2.13
- hipe-3.15
- inets-6.2
- kernel-4.2
- mnesia-4.13.3
- observer-2.1.2
- orber-3.8.1
- public_key-1.1.1
- runtime_tools-1.9.3
- sasl-2.7
- snmp-5.2.2
- ssh-4.2.2
- ssl-7.3
- stdlib-2.8
- test_server-3.10
- tools-2.8.3
- webtool-0.9.1
- wx-1.6.1
- xmerl-1.3.10
Unchanged Applications:
- cosEvent-2.2
- cosEventDomain-1.2
- cosFileTransfer-1.2
- cosProperty-1.2
- et-1.5.1
- gs-1.6
- ic-4.4
- jinterface-1.6.1
- megaco-3.18
- odbc-2.11.1
- os_mon-2.4
- ose-1.1
- otp_mibs-1.1
- parsetools-2.1.1
- percept-0.8.11
- reltool-0.7
- syntax_tools-1.7
- typer-0.9.10
Conflicts:
OTP_VERSION
erts/vsn.mk
lib/test_server/doc/src/notes.xml
lib/test_server/vsn.mk
lib/webtool/doc/src/notes.xml
lib/webtool/vsn.mk
|
|
These error reasons can be seen in the logs after calling net_kernel:verbose(1).
|
|
* bjorn/kernel/rpc/OTP-13409:
Don't throw exceptions from rpc:call() and rpc:block_call()
Reduce code duplication in called_node_dies/1 and friends
|
|
* bjorn/clearer-startup-crashes/OTP-13294:
Make distribution failures during start-up easier to read
net_kernel: Separate exports into documented and non-documented groups
erl_distribution: Simplify start_link/0 and friends
Reorder and comment API functions
Clean up splitting of node names
|
|
When an attempt is made to start a distributed Erlang node with
the same name as an existing node, the crash reports for several
supervisors would be displayed. Only the first line contains
useful information. The verbiage is annoying for old hands and
could easily scare newcomers away for good.
For all the common distribution failures during start-up, write a
simple message and terminate the emulator using halt/1. Here is an
example of what will be printed:
Protocol 'inet_tcp': the name somename@somehost seems to be in use by another Erlang node
|
|
|
|
The documentation for rpc:call() says:
Evaluates apply(Module, Function, Args) on the node Node and
returns the corresponding value Res, or {badrpc, Reason} if
the call fails.
What is not said that rpc:call() can generate an exception if the
'rex' process on the other node is killed:
(kalle@host)1> Rex = rpc:call(arne@host, erlang, whereis, [rex]).
<6937.14.0>
(kalle@host)2> rpc:call(arne@host, erlang, exit, [Rex,kill]).
** exception exit: {killed,
{gen_server,call,
[{rex,arne@host},
{call,erlang,exit,[<6937.14.0>,kill],<0.33.0>},
infinity]}}
in function rpc:rpc_check/1 (rpc.erl, line 361)
On the other hand, if the other node shuts down for some other reason,
we'll get a {badrpc,nodedown} result:
(kalle@host)5> rpc:call(arne@host, erlang, halt, []).
{badrpc,nodedown}
There does not seem to be any reason to handle the two cases
differently. If the 'rex' process is terminated on the other node,
it will shut down shortly thereafter.
Therefore, change rpc:call() and rpc:block_call() to always return
{badrpc,Reason} is the call fails:
(kalle@host)1> Rex = rpc:call(arne@host, erlang, whereis, [rex]).
<6937.14.0>
(kalle@host)2> rpc:call(arne@host, erlang, exit, [Rex,kill]).
{badrpc,{'EXIT',{killed,{gen_server,call,
[{rex,arne@host},
{call,erlang,exit,[<7126.14.0>,kill],<0.33.0>},
infinity]}}}}
|
|
|
|
* rickard/doc-fix:
Fix doc build
|
|
* rickard/ds-sched-suspend:
Improved scheduler suspend functionality
|
|
|
|
start_link/0 and friends are too convoluted for me.
|
|
Move all functions meant to be called from other modules before
the internal functions. Comment them to make it clearer what their
purpose are.
|
|
|
|
* bjorn/kernel/modernize-tests:
Remove ?line macros
Fix comments
gen_tcp_misc_SUITE: Use unique node names
Eliminate use of the ?t macro
Eliminate use of doc and suite clauses
Replace use of test_server:capture*/0 with ct:capture*/0
Eliminate use test_server:format()
Eliminate use of test_server:sleep/1
Eliminate use of test_server:fail/0,1
Eliminate use of ?config() macro
Modernize timetraps
disk_log_SUITE: Remove vestiges of VxWorks support
Conflicts:
lib/kernel/test/code_SUITE.erl
|
|
- The calling process is now suspended while synchronizing
scheduler suspends via erlang:system_flag(schedulers_online, _)
and erlang:system_flag(multi_scheduling, _), instead of blocking
the scheduler thread in the BIF call waiting for the operation
to synchronize. Besides releasing the scheduler for other work
(or immediate suspend) it also makes it possible to abort the
operation by killing the process.
- erlang:system_flag(schedulers_online, _) now only wait for normal
schedulers to complete before it returns. This since it may take
a very long time before all dirty schedulers suspends.
- erlang:system_flag(multi_scheduling, block_normal|unblock_normal)
which only operate on normal schedulers has been introduced. This
since there are use cases where suspend of dirty schedulers are
not of interest (hipe loader).
- erlang:system_flag(multi_scheduling, block) still blocks all
dirty schedulers as well as all normal schedulers except one since
it is hard to redefine what multi scheduling block means.
- The three operations:
- changing amount of schedulers online
- blocking/unblocking normal multi scheduling
- blocking/unblocking full multi scheduling
can now be done in parallel. This is important since otherwise
a full multi scheduling block would potentially delay the other
operations for a very long time.
|
|
While we are it, also re-ident the files.
|
|
Remove out-commented code. Make sure that comments that are not
at the end of a line starts with two '%' characters and not just
one. That will become important later when we'll remove all
?line macros and ask Emacs to re-indent the files.
|
|
Use unique node names to ensure that one failed test case will
not cause other test cases to fail if a slave node was left.
|
|
|
|
|
|
Those clause are obsolete and never used by common_test.
|
|
|
|
Replace with io:format/2 or ct:pal/3.
|
|
|
|
* bjorn/multiple-load/OTP-13111:
erl_prim_loader_SUITE: Add debug printout
Skip erl_prim_loader_SUITE:get_modules/1 when cover-compiled
multi_load_SUITE: Clarify failure reasons
multi_load_SUITE: Don't fail on non-HiPE systems
|
|
|