Age | Commit message (Collapse) | Author |
|
Make it clear for the user what has happened and how to fix it when
an attempt is made to load a BEAM file containing new instructions
that the current run-time system cannot handle.
Suggested-by: Thomas Lindgren
|
|
|
|
|
|
* lukas/kernel/tc_fixes:
Kill nodes inbetween tests
|
|
OTP-9673
|
|
* lukas/erts/large_float_cmp/OTP-9497:
Update documentation after changes in integer and float comparison
Do small optimisation on platforms with 32 bit Eterm
Add tests for equality checking
Optimize comparison of huge floats and smaller bignums
Add tests for comparing large floats and small bignums
Cleanup double_to_bignum conversion code
Update size of tmp cmp bignum buffer
Expand tests for float and number comparison
Update heauristic to work on halfword
Add heauristics bignum vs float checks
Optimise bugnum and small comparison
Add float vs integer comparison tests
Update integer and floating point number comparisons
|
|
* lukas/megaco/remove_driver_warning/OTP-9672:
Remove the warning that driver option is replaced by nif
|
|
Affects enif_inspect_iolist_as_binary() on iolists
and enif_inspect_binary() on byte-unaligned binaries.
Also need to allocate inspection buffers in ERTS_ALC_T_NIF for
process independent environments, as we don't know when and where
the environment will be freed.
|
|
|
|
* siri/observer/ttb-test-cleanup-slave-nodes/OTP-9644:
Adjust ttb_SUITE to work better on windows
Cleanup after testcases in ttb_SUITE
|
|
* siri/observer/close-ip-to-file-trace-port/OTP-9665:
Close ip_to_file trace port in ttb:stop
|
|
and some added comments
|
|
These dependency files was once used when building the documentation,
but are no longer needed.
|
|
Some applications still have support for an ancient documentation
build system. Eliminate the DOCSUPPORT define in otp.mk.in and the
not taken arm of the ifdefs in the Makefiles.
|
|
* bjorn/eliminate-regexp-usage:
erl_tidy: Eliminate two references to 'regexp' in the documentation
erts/z_SUITE: Eliminate use of deprecated regexp module
erts/nt_SUITE: Eliminate use of deprecated regexp module
erl_html_tools: Eliminate mention of deprecated regexp module
erl_interface tests: Eliminate use of deprecated regexp module
tools test suite: Eliminate compilation warnings for the eed module
tools test suite: Eliminate use of deprecated regexp module
xmerl test suite: Eliminate use of deprecated regexp module
appmon: Eliminate use of deprecated regexp module
tv: Eliminate use of deprecated regexp module
gs: Eliminate use of deprecated regexp module
inviso: Eliminate use of deprecated regexp module
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also extend the test suite so that the changed code will be
executed.
|
|
|
|
This is a relay port opened from the IP trace client when tracing
diskless nodes. The port was not closed properly in ttb:stop, which
caused problems on windows since the file could not be moved to the
upload directory before the file descriptor was closed.
|
|
There is a problem with long paths on windows, which causes some of
the ttb logs in this suite not to be created. To go around this, the
original priv_dir from the Config is no longer used for writing the
logs. Instead a new priv_dir is created in the data_dir - which makes
the path much shorter.
There is also a problem caused by the lower resolution of the system
clock on windows. It makes the test cases for sorting trace messages
fail. To get around this a sleep of 2 ms is added in "appropriate
places", and also the messages sent between client and server when
creating the trace log for these test cases is now better synched.
The cleanup functions, which terminate slave nodes, was called in
end_per_testcase. However, it seems to be a bug in the test_server
which causes this to hang if the test case failed with a
timetrap_timeout. Workaround for this is to do the cleanup in
init_per_testcase instead - i.e. make sure that nodes that are to be
started by the test case do not already live when the test case
starts.
|
|
Slave nodes were earlier stopped inside each test case. If a test case
failed before this point, a slave node would survive and it might
interfere with the next test case causing multiple failures. This
commit moves the stopping of slave nodes out to a separate function
for each test case - called during end_per_testcase.
A minor correction is also done in ttb:ensure_no_overloaded_nodes -
the reply message sent back from the ttb process is tagged so only the
expected message will be picked from the message queue. Otherwise, for
instance nodedown messages from the monitoring of slave nodes (by the
test cases) could be received here.
Finally, the sleep timer when waiting for trace messages to arrive
over tcp/ip is extended a bit since test cases sometimes failed with
missing trace messages here.
|
|
'siri/runtime_tools/dbg-flush-trace-file-driver-before-stop/OTP-9651'
* siri/runtime_tools/dbg-flush-trace-file-driver-before-stop/OTP-9651:
Flush trace file driver before stopping dbg
|
|
This is a work-around as there are hipe BIFs that return untagged
integers that may be intepreted as THE_NON_VALUE (24).
Hipe bifs that return offsets as untagged integers:
hipe_bs_put_utf8
hipe_bs_put_utf16be
hipe_bs_put_utf16le
Hipe bifs that return raw pointers:
hipe_find_na_or_make_stub
hipe_nonclosure_address
|
|
Add hipe_debug_bif_wrapper() as a wrapper for every BIF
called by native code.
|
|
|
|
This is a workaround as hipe code upgrade/unloading does not work properly.
|
|
|
|
For cleanliness, store the trap address in p->i instead of in
p->def_arg_reg[3].
|
|
Store arguments for a trap in the X register array to allow
traps to have any number of arguments.
|
|
These primops use the standard_bif_interface_X macros in
hipe_bif_list.m4 and must therefor be implemented as bifs for things to work.
Maybe there is room for optimization here to call the primops more directly
with arguments in registers without having to push them on stack to emulate
bif calls.
|
|
x86 and amd64: Push BIF__ARGS array on C-stack.
ppc, sparc and arm: Write BIF__ARGS array to P->def_arg_reg[]
Just the simplest solution with limited assembler knowledge,
probably room for improvements.
|
|
|
|
|
|
|
|
|
|
No semantic change.
Just easier to debug when jumps are spelled out
and not obscured by yet another layer of macros.
|
|
A first step to adapt hipe to the new BIF calling convention.
|
|
Taking advantage of the new calling convention for BIFs, we
only need one instruction to handle BIFs with any number of
arguments. This change eliminates the limit of three arguments
for BIFs, but traps are still limited to three arguments.
|
|
The current calling convention for BIFs makes it necessary to
handle each arity specially, since each argument for the BIF
also becomes an argument for the C function implementing the BIF,
which makes it hard to allow BIFs with any number of arguments.
Change the calling convention for BIFs, so that BIF arguments are
passed in an array to the C function implementing the BIF.
|
|
As a preparation for changing the calling convention for
BIFs, make sure that all BIFs use the macros. Also, eliminate
all calls from one BIF to another, since that also breaks
the calling convention abstraction.
|
|
* egil/eprof-doc:
otp: Update profiling doc with eprof
eprof: Fix invalid references to removed functions
OTP-9656
|
|
|
|
profile tool.
|
|
|
|
A wrong decryption key would cause a badmatch in
generic_block_cipher_from_bin/2. The try in block_decipher/5 was
probably intendend to deal with that, but was misplace for this.
Additionaly, generating a failure alert erly, without computing the
record MAC, creates vector for a timing attack on CBC padding (for
details check TLS 1.2 RFC 5246, Sect. 6.2.3.2.). This attach vector
and the counter meassure applies to all SSL/TLS versions.
As a counter messure, compute the MAC even when decryption or padding
checks fail. A invalid padding will force a MAC failure by intentionaly
invalidating the content.
|