Age | Commit message (Collapse) | Author |
|
* poroh/erts/sched-stuck-fix/OTP-15941:
Infinite cycle fixed on try to change run queue (if it has already changed concurrently)
|
|
* sverker/system_info-procs-bug/ERL-979/OTP-15909:
Fix fatal bug in erts_proc_sig_signal_size
|
|
* john/erts/lists_subtract_fixes/OTP-15938/OTP-15939:
erts: Fix integer overflow in loader
erts: Fix integer overflow in list subtraction
|
|
qsort expects the comparison function to return an int; returning
an `Sint` may yield nonsensical results.
|
|
CMP_TERM returned an `Sint`, which overflowed the `int` used in
erl_rbtree for storing the comparison, causing list subtraction to
behave strangely.
|
|
concurrently)
|
|
called by
erlang:process_info(memory)
erlang:system_info(procs)
crash dump
break menu
Will crash VM if process has a pending monitor DOWN signal in its queue.
|
|
* rickard/dist-exit2/22/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
into maint-22
* john/erts/fix-xxx_to_existing_atom-overflow/ERL-944/OTP-15819:
erts: Fix buffer overflow in xxx_to_existing_atom
|
|
rickard/dist-exit2/22/OTP-15867
* rickard/dist-exit2/21/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
rickard/dist-exit2/21/OTP-15867
* rickard/dist-exit2/20/OTP-15867:
Don't disconnect on remote exit/2 with old incarnation as recipient
|
|
|
|
'sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865' into maint-22
* sverker/erts/process-info-reductions-idle-proc/ERL-964/OTP-15865:
erts: Improve test of process_info(reductions)
Revert "erts: Force process_info(reductions) as signal"
|
|
* sverker/erts/break-p-segv/ERL-965/OTP-15873:
erts: Fix SEGV crash on shell break (p)roc info
|
|
The following sequence would be wrongly optimized into a
i_get_tuple_element2 instruction, reading an element from the
wrong tuple:
{get_tuple_element,{x,0},1,{x,0}}.
{get_tuple_element,{x,0},2,{x,1}}.
|
|
esdp==NULL if run by non scheduler thread.
|
|
This reverts commit 70dbf671a8196110d2aee2e7507afc2c2c75183f.
As the comment of 70dbf671a8 itself indicates, that "fix" is not really
necessary. It has, however, the bad effect of always consuming reductions of the
process you want to know reduction from, that is you can't meassure reduction
count without affecting it.
|
|
* bjorn/erts/fix-wrong-class/ERIERL-367/OTP-15834:
Fix sticky class in exception
|
|
When catching an exception re-throwing with a changed
class, the class could be changed to the original class
if the exception got caught and rethrown in (for example)
an after block:
sticky_class() ->
try
try
throw(reason)
catch
throw:Reason:Stack ->
erlang:raise(error, Reason, Stack)
end
after
ok
end.
|
|
|
|
|
|
After calculating the length of a list, length/1 would accidentally
bump all remaining reductions, forcing the process to yield. Correct
the calculation.
|
|
* sverker/process_info-reductions-fix/OTP-15793:
erts: Force process_info(reductions) as signal
erts: Fix another bug in process_info(reductions)
|
|
|
|
* sverker/process_info-reductions-fix/OTP-15793:
erts: Force process_info(reductions) as signal
erts: Fix another bug in process_info(reductions)
|
|
Not 100% sure this is needed to get correct reductions
as the direct query is not done if process is RUNNING anyway.
|
|
* lukas/erts/distr-frag-fixes:
erts: Add documentation for distribution fragments
|
|
* sverker/tw-assert:
erts: Fix bug in timer wheel at cancel during bump yield
erts: Tidy up some harmless code typos
|
|
|
|
* lukas/erts/distr-frag-fixes:
Update run-dialyzer script to be more generic and aggressive
erts: Fix memory leak for down/exit message
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
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/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.
|
|
|
|
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.
|
|
* bjorn/cuddle-with-tests:
crash dump: Fix printing of "OldBinVHeap unused"
crash dump: Include correct IP for a garbing process
fun_SUITE: Make refc/1 test more reliable
Remove redundant rule from Emakefile
Turn off more optimizations for no_opt modules
test_server_node: Bump compiler compatibility version to OTP 20
erts_test_utils: Bump compiler compatibility version to OTP 20
distribution_SUITE: Remove irrelevant test atom_roundtrip_r16b
bs_construct_SUITE: Rename bs_add_overflow/1 to bs_append_overflow/1
bs_construct_SUITE: Remove troublesome test huge_binary/1
bs_construct_SUITE: Remove incorrect purpose line
|