Age | Commit message (Collapse) | Author |
|
Ensure that we cannot get any dangling pointers into code that
has been purged. This is done by a two phase purge. At first
phase all fun entries pointing into the code to purge are marked
for purge. All processes trying to call these funs will be suspended
and by this we avoid getting new direct references into the code.
When all processes has been checked, these processes are resumed.
The new purge strategy now also completely ignore the existence of
indirect references to the code (funs). If such exist, they will
cause bad fun exceptions to the caller, but will not prevent a
soft purge or cause a kill of a process having such live references
during a hard purge. This since it is impossible to give any
guarantees that no processes in the system have such indirect
references. Even when the system is completely clean from such
references, new ones can appear via distribution and/or disk.
|
|
|
|
|
|
|
|
|
|
maint-19
* egil/compiler/fix-literal-binary-match/ERL-190/OTP-13738:
Update primary bootstrap
Revert "beam_dead: Improve optimization of literal binary matching"
compiler: Test literal binary matching
|
|
* sverker/update_counter-deadlock/ERL-188/OTP-13731:
erts: Add test ets_SUITE:update_counter_table_growth
erts: Fix deadlock in ets:update_counter/4
erts: Optimize db_finalize_dbterm_hash
|
|
* sverker/bsl-gc-overflow/OTP-13732:
erts: Fix GC overrun bug in 'bsl' op with small Op1
|
|
* hasse/stdlib/fix_shell_records/ERL-182/OTP-13719:
stdlib: Correct a bug regarding records in the shell
|
|
|
|
This reverts commit 105c5b0071056dc062797e58772e098d2a3a4627.
|
|
The following regression was introduced in 19.0:
foo(bar, <<"x">>) -> 1;
foo(_, <<"x">>) -> 2;
foo(_, <<"y">>) -> 3;
foo(_, _) -> fail.
The call foo(bar,<<"y">>) would errorneous return 'fail' instead of 3.
A testcase in match_SUITE has been added to verify this.
|
|
|
|
in 'set' with 'write_concurrency'
when inserting default object causes table to grow
and the bucket to split is protected by same lock as the key.
|
|
Always free term after WUNLOCK_HASH
|
|
Symptom: VM abort "Overrun stack and heap"
Problem: The temporary bignum created in buffer tmp_big[] will be
part of the GC initiated by TestHeapPreserve, but its size is not
included which can cause the GC to overflow if very unlucky.
Solution: Do not include tmp_big in the GC.
|
|
See also ERL-182.
|
|
|
|
|
|
|
|
* rickard/set-gl-fix/OTP-13716:
Fix group_leader/2
|
|
* hans/ssh/ssh_patches/OTP-13715:
ssh: Update ssh version
ssh: Remove possible hanging in TCs when server and client is on the same node
ssh: added dbg keys to ssh:connection_info/2 and ssh:channel_info/3
ssh: Extend experimental ssh_dbg.erl
ssh: remove 'sync sleeps'
|
|
* hans/ssh/retry_passwd_patch/OTP-13674:
ssh: update vsn.mk
ssh: polishing of password prompt's linefeed
ssh: Fix a hazard bug in ssh_auth
ssh: Some code cuddling in ssh_io
ssh: Fix type error in args of ssh_auth:sort_selected_mthds
ssh: Make client send a faulty pwd only once, ssh_connection_handler part
ssh: Make client send a faulty pwd only once, ssh_auth part
ssh: test cases for no repetition of bad passwords
|
|
* hans/inets/ftp_debug_printout/OTP-13712:
inets: updated version
inets: unused var in ftp.erl anonymized
inets: ftp debug printout removed
|
|
* hasse/tools/fix_xref/ERL-173/OTP-13708:
tools: Fix a bug adding multiple modules to an Xref server
|
|
maint-19
* margnus1/dialyzer/fix_map_bug/ERL-177/PR-1115/OTP-13709:
erl_types: Normalise X:=none() pairs in t_map/3
|
|
maint-19
* dgud/observer/fix-no-scheduler-change/ERL-171/OTP-13702:
Reset data when changing node or no schedulers change
|
|
|
|
|
|
|
|
|
|
1) extend ssh_dbg:message with second arg, a fun/1 that is intended to replace pids in the trace printouts with better descriptions.
2) printout improvments
|
|
|
|
|
|
|
|
|
|
The bug when introduced in OTP-19.0.
Optimize adding multiple modules to an Xref server
|
|
t_map/3 previously required callers to perform this normalisation, but
as t_from_form/5 would sometimes fail to do so, this requirement is
relaxed.
Bug (ERL-177) reported and shrunk by Luke Imhoff.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
lib/ssh/src/ssh_connection_handler.erl
|
|
|
|
Caused a crash in 19, see ERL-171.
Data was never reset so the number of schedulers didn't match the
previous collected data.
|
|
|
|
|
|
|