Age | Commit message (Collapse) | Author |
|
* lukas/OTP-22/misc-fixes:
erts: Restart driver_SUITE:polling node at failure
|
|
|
|
The net module uses socket, but when the system has
been built with --disable-esock, there is no socket...
|
|
|
|
Forgot about using 'otp_build update_preloaded --no-commit'
when updating the preloaded and compiled with plain erlc...
Caused problems for dyalizer...
OTP-15658
|
|
OTP-15658
|
|
The config options --[en|dis]able-esock now works as
expected.
|
|
The optional socket module is now not included in
the app file if esock is not enabled.
OTP-15658
|
|
Preliminary work to make socket configurable (enable and disable).
OTP-15658
|
|
* john/erts/alloc-header-packing-win64:
erts_alloc: Fix header packing on Win64
|
|
When a fragmented down/exit is sent to a non-existing process the message
would just be dropped without being deallocated.
|
|
Symptom:
Failed debug assert in find_next_timeout
ERTS_TW_ASSERT(tiw->yield_slot == ERTS_TW_SLOT_INACTIVE);
Problem:
If remove_timer() was called in between yielding erts_bump_timers()
tiw->true_next_timeout_time could be set to 0 leading to
find_next_timeout() being called before all bumping is done.
Solution:
Don't clear tiw->true_next_timeout_time in remove_timer()
if tiw->yield_slot is active.
Does not seem this bug could cause other more harmful symptoms,
but not sure.
|
|
|
|
The -name option already computes a default
hostname if none is given. This PR adds the
same behaviour to -remsh. Now we can run:
erl -name foo -remsh bar
erl -sname foo -remsh bar
This simplifies deployment scripts as otherwise
they have to compute the hostname by hand or
start an Erlang VM instance only to do so.
|
|
* rickard/dist-q-sz-fix:
Fix distribution queue size adjustment
|
|
|
|
|
|
|
|
to disregard consumed virtual reductions
which are not aggregated into p->reds
and if included may cause reduction count go backwards.
|
|
|
|
No need to pre-allocate a buffer before name length calculation.
|
|
where
$argc does not exists
"if $undefined_variable" evaluates as true !?
|
|
|
|
This reverts commit 425889ba69b69a9b6fb14bfbef121d51b78e853a.
|
|
|
|
|
|
* kjell/emulator/persistent_term_yield/OTP-15615:
Make persistent_term:put/2 and persistent_term:erase/1 yield
|
|
* rickard/dist-system-limit/OTP-15708:
Fail when we cannot encode term in binary
|
|
Prior to this commit, the functions put/2 and erase/1 in the
persistent_term module did not yield even if the persistent term table
was large (the persistent term table is copied every time put/2 or
erase/1 is called). Furthermore, a call to put/2 or erase/1 did only
consume a single reduction. This commit fixes these problems.
|
|
* lukas/tools/overhead_benchmark:
etp: Fix free de processes check
tools: Add overhead benchmark
|
|
|
|
* lukas/OTP-22-rc2/misc-fixes/OTP-15773:
erts: Yield correctly when iterating over distr exit messages
erts: Fix cerl -rr to use correct etp file
erts: Fix etp-process-info to print exiting and free processes
tools: Adjust instrument abort tc to better trigger faults
erts: Fix cleanup of message factory undo
erts: Make dump_SUITE:free_dump not dump via rpc
erts: Add extra debugging to dist frag testcases
erts: Run smaller dist frag test to 32 bit machines
erl_docgen: Remove accidentally merged debug printout
erts: Fix z_SUITE to always look for cerl in ERL_TOP
otp: make top Makefile app target respect TYPE variable
vxworks: Make vxworks configure use environment CFLAGS
erts: Make erts_free debug failure easier to diagnose
erts: Fix gcc warning in to_erl
|
|
Before this fix the process would continue to process
more distributed down or exit messages until it
ran out of reductions instead of being suspended
immediately.
|
|
|
|
|
|
|
|
Doing the dump via rpc can introduce all kins of strange
timing issiues. So instead we dump 5ms after the exit has
been started.
|
|
|
|
Because of fragmentation of memory it is not always possible
to allocate enough 320 MB segments on 32-bit so we only sent
smaller packets there.
|
|
This commit fixes an ETS test case that tests the decentralized memory
counter in tables of type ordered_set with the write_concurrency
option turned on. The test case assumed that the memory consumption of
the table would only grow monotonically when terms are
inserted. However, this was not the case when the emulator was
compiled in debug mode as random splits and joins of CA tree nodes
could happen. This commit fixes the test case by disabling random
splits and joins in the tested table.
|
|
1) Improved time calculations
When measuring the time something takes,
use monitonic time instead (of os:timestamp()).
2) Make sure we do not hang when the node start
hangs. We start new (slave) nodes via a starter process.
The point of that is that it can be killed when it
takes to long.
|
|
The cmsg header (decode) problems on darwin was because the
CMSG_FIRSTHDR macro is "faulty" on old versions (of darwin).
I *think* it should return a NULL-pointer if there are no
cmsg headers (but it does not). So, instead of punishing all
platforms with an explicit test
(msg_controllen >= sizeof(struct cmsghdr)) we only do this
on darwin.
|
|
When an evaluator skips (issue a exit or throw skip),
we must make sure all the other also terminates, before
the TC can end.
This was not done which cause the TC to fail when one
of the other evaluators (tester) terminated later.
|
|
When building the (activate next) select message, used terms
from different environments, which is not allowed.
This was during cancel of one request, we tries to activate
next, and then building the select message (with terms from
different environments). Arg! Details...
OTP-15496
|
|
Why can't we all just get along? Casting to shut the compiler up.
|
|
When setting (otp) debug to true, some debug printouts
could become "laaarge". Removed the data from those
printout to avoid problems.
|
|
|
|
When building the (recv) select message, used terms
from different environments, which is not allowed.
OTP-15496
|
|
When building the (accept) select message, used terms
from different environments, which is not allowed.
OTP-15496
|
|
Did the free and assign new acceptor in the wrong order,
thereby causing an (acceptor) environment leak.
OTP-15496
|