Age | Commit message (Collapse) | Author |
|
The example of how to create a first target system, which is located
in the System Principles document, is now extended to also include an
example of code upgrade.
A new chapter is added to System Principles explaining different
issues when upgrade includes new versions applications within
Erlang/OTP.
|
|
In ref man for appup and in system documentation, design prinsiples,
add a warning related to upgrade when version of erts, kernel, stdlib
or sasl is changed. This will cause an emulator restart where new
version of emulator and core applications will startup together with
old versions of other applications. Care must be taken to avoid
problems due to backwards incompatibility.
|
|
* dumbbell/function_clause-in-systools_make-format_error:
sasl: Fix crash in systools_make:format_error/1
OTP-11819
|
|
The crash occurred when systools:make_script/2 raises the
'duplicate_modules' error. Depending on the 'silent' option,
systools_make:format_error/1 is called to either format and display an
error message, or return a tuple containing the error properties.
When displaying a 'duplicate_modules' error message, format_error/1
receives a list of applications providing the same module(s):
[
{{Mod,App1,_}, {Mod,App2,_}},
...
]
However, before this fix, format_error/1 expected the following
structure, leading to a 'function_clause' exception:
[
{{Mod,_,App1,_,_}, {Mod,_,App2,_,_}},
...
]
The crash never occurred with the 'silent' option, because the error and
its properties are returned as is to the caller.
|
|
Most dependencies introduced are exactly the dependencies to other
applications found by xref. That is, there might be real dependencies
missing. There might also be pure debug dependencies listed that
probably should be removed. Each application has to be manually
inspected in order to ensure that all real dependencies are listed.
All dependencies introduced are to application versions used in
OTP 17.0. This since the previously used version scheme wasn't
designed for this, and in order to minimize the work of introducing
the dependencies.
|
|
These tests start new nodes, and they frequently timed out on some
slow test hosts.
|
|
* siri/restart_app-type/OTP-11716:
[sasl] Use restart type from .rel when restarting apps during upgrade
|
|
* siri/appup_tests_17/OTP-11534:
Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib
Update appups and appup tests for kernel, stdlib and sasl
|
|
Earlier the 'restart_application' upgrade instruction always cause the
application to be restarted as permanent. This could cause the system
to end up in an unexpected state after an upgrade. This is now
corrected.
|
|
|
|
Appups now only support one major release back, and the tests are
updated accordingly.
Support is also added in tests for giving previous releases in a ct
config file, e.g.
{otp_releases,[{r15,"/path/to/r15/bin/erl"},
{r16,"/path/to/r16/bin/erl"},
{'17',"/path/to/17/bin/erl"}]}.
|
|
Quoting on Windows is strange
|
|
* siri/appup_tests_17/OTP-11534:
Update sasl appup test to work for OTP release 17
Update stdlib appup test to work for OTP release 17
Update kernel appup test to work for OTP release 17
|
|
|
|
|
|
|
|
The R16B03 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
|
|
OTP-11529
|
|
|
|
A previous refactoring messed up the paths used in the start.boot
file used in intermediate releases generated for emulator upgrades.
|
|
|
|
* richcarl/fix-sasl-handler-docs:
Fix confusing documentation about error handlers in SASL
OTP-11507
|
|
Conflicts:
erts/etc/win32/Install.c
|
|
* dgud/sasl/no_dot_erlang_boot/OTP-8479:
sasl: Add no_dot_erlang documentation and tests
sasl: Add no_dot_erlang start script
|
|
The SASL documentation confusingly talks about a handler 'error_logger_mf_h'
which doesn't actually exist. The handler is named 'log_mf_h', and it and
all other error handlers used by SASL are part of stdlib, not SASL itself.
This patch makes the documentation clearer.
|
|
|
|
The functions add_error_logger_mf/1 and delete_error_logger_mf/1 in sasl.erl
are designed to do nothing if the handler configuration as returned by
get_error_logger_mf/0 is 'undefined'. However, that function returns a
triple {undefined,undefined,undefined} when the error_logger_mf_*
configurations have not been set. This makes SASL always try to add the
log_mf_h handler on startup, passing 'undefined' for each of the Dir, MaxB
and MaxF parameters. The gen_event callback function log_mf_h:init/1 will
then crash with a function_clause error, causing the handler to be silently
removed again. This patch fixes the problem by making get_error_logger_mf/0
return the single atom 'undefined' as it is expected to do.
|
|
|
|
Sometimes it is wanted to start erlang without loading the user dependent
.erlang file, for example in scripts and configure tests.
|
|
The R16B02 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
|
|
|
|
rb was only accepting physical filenames as log file.
This patch allow rb to accept now any io_device, valid registered name,
except standard_error which is replaced by standard_io.
Creation of two new exported functions : rb:log_list/0-1
that print in log file if existing, otherwise on standard_io.
Add new functions documentation and tests in rb_SUITE.
|
|
|
|
This is to avoid lingering files after test runs on windows, since the
cleanup script often does not succeed in removing files with unicode
characters.
|
|
The R16B01 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
* siri/unmatched_returns/OTP-10908:
Fix unmatched_return warnings in release_handler
|
|
* siri/install-otp-in-unicode-path:
[sasl] Remove priv dir after release_handler_SUITE
Update preloaded init.beam
Allow unicode characters for boot and config in init:make_permanent
[sasl] Clean priv_dir after systools_SUITE
[reltool] Use unicode characters in work dir for unicode test
[sasl] Use unicode characters in priv dir name also on windows
[reltool] Write erl.ini as UTF-8
[sasl] Update tests to run under unicode path
[sasl] Rewrite release_handler_SUITE:clean_priv_dir to work on unicode paths
[sasl] Update example/target_system.erl to handle unicode
[sasl] Write erl.ini as utf8, allowing unicode path for root dir and bin dir
|
|
* siri/spawn-and-space:
[sasl] In test, quote erlsrv executable in call to open_port/2
[test_server] Quote path to erl executable when starting slave nodes
Quote path to erl executable in slave to allow space in path
[sasl] Quote path to program run with open_port({spawn,...
[os_mon] Quote path to programs run with open_port({spawn,...
Conflicts:
lib/os_mon/src/nteventlog.erl
|
|
* dgud/win32_unicode:
erts: Windows, convert erlsrv to use widestring
erts: Window start_erl now uses widechars/unicode
Quote windows paths with spaces
Handle space in paths in test Makefiles
erts: Fix windows widestring args and paths in tools
erts: Windows, use widechars for all paths during startup
OTP-11135
|
|
Since introducing unicode paths, the name of the priv_dir will include
"unicode characters" and on some platforms (e.g. Windows) these are
not so easily removed by the daily cleanup scripts. To avoid lingering
directories, the priv_dir is now completly removed by the suite itself
(unless there are failed testcases and logs must be saved).
|
|
|
|
|
|
Using the low-level BEAM instructions, we can loop over each message in
the process queue and removes the first message that matches, without
receiving them all to later send them back to itself.
The function prim_eval:'receive'/2 is equivalent to the
following pseudo-code:
'receive'(F, T) ->
RESET MESSAGE QUEUE POINTER,
LOOP:
case PEEK CURRENT MESSAGE WITH TIMEOUT T of
{ok,Msg} ->
case F(Msg) of
nomatch ->
DECREMENT TIMEOUT T,
ADVANCE MESSAGE QUEUE POINTER,
GOTO LOOP;
Result ->
RESET MESSAGE QUEUE POINTER,
Result
end;
timeout ->
RESET MESSAGE QUEUE POINTER,
timeout
end.
To not break Dialyzer and other tools, we use a stub Erlang module which
abstract code is forcefully inserted into prim_inet.erl afterwards
compilation.
|
|
Some files with icky names (unicode) can not be deleted with the
cleanup scripts after daily tests. Therefore it is better to clean up
directly from the erlang node after test is run.
|
|
|