| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
* maint:
[erts] ensure no mix of external and internal identifiers
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
rickard/creation-fix/25.3.1/OTP-18570
* rickard/creation-fix/24.3.4/OTP-18570:
[erts] ensure no mix of external and internal identifiers
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
rickard/creation-fix/24.3.4/OTP-18570
* rickard/creation-fix/23.3.4/OTP-18570:
[erts] ensure no mix of external and internal identifiers
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Silently reject proposed creation and select another one when a node goes
alive if there are external identifiers in the system with the proposed
creation and the same node name that are to be used. Such identifiers would
not work as expected in various situations, and are not from the instance of
the node that are about to go alive.
|
|/ / / |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Don't lose original failure reason,
instead amend "Leaked connections".
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The gather_exited function worked incorrectly and could
linger after the test case failed interfering with other
test cases. So we link to it to make sure that it exits
and fix the spawned/out_exited accounting.
|
| | |
| | |
| | |
| | | |
It could leak peer node if failing.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
into sverker/25/fix-hopeful-fun-size-encoding/OTP-18104
This merge commit removes code that has to do with hopeful encoding
of export-funs and bit-strings, which is no longer supported in OTP-25.
|
| |\ \ \
| | |/ /
| |/| |
| | | | |
into sverker/24/fix-hopeful-fun-size-encoding/OTP-18104
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Sending a message on a pending connection containing both bitstring
and export fun {<<1:1>>,fun a:b/0} would either be encoded as-is or
with BOTH as fallbacks {{<<128>>,1},{a,b}}. Even if receiver only
supported one of either DFLAG_BIT_BINARIES or DFLAG_EXPORT_PTR_TAG.
For OTP this does not seem to be/been a practical problem as
erl_interface got support for both in OTP-22.0.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* rickard/global-fixes/25.0/OTP-17934:
[kernel] Replace rpc usage with erpc usage in global_group
[kernel] Introduce connect_all kernel parameter
[kernel] global fixes
[kernel] Monitor nodeup/nodedown directly from global
[kernel] Fix global group configuration
[erts,kernel] Connection ID information
kernel: Fix test case monitor_nodess_down_up
Guarantee nodedown before nodeup messages
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
rickard/global-fixes/25.0/OTP-17934
* rickard/global-fixes/24.3.3/OTP-17934:
[kernel] Introduce connect_all kernel parameter
[kernel] global fixes
[kernel] Monitor nodeup/nodedown directly from global
[kernel] Fix global group configuration
[erts,kernel] Connection ID information
kernel: Fix test case monitor_nodess_down_up
Guarantee nodedown before nodeup messages
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
rickard/global-fixes/24.3.3/OTP-17934
* rickard/global-fixes/23.3.4/OTP-17934:
[kernel] Introduce connect_all kernel parameter
[kernel] global fixes
[kernel] Monitor nodeup/nodedown directly from global
[kernel] Fix global group configuration
[erts,kernel] Connection ID information
kernel: Fix test case monitor_nodess_down_up
Guarantee nodedown before nodeup messages
|
| | | |\ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
rickard/global-fixes/23.3.4/OTP-17934
* rickard/global-fixes/22.3.4/OTP-17934:
[kernel] Introduce connect_all kernel parameter
[kernel] global fixes
[kernel] Monitor nodeup/nodedown directly from global
[kernel] Fix global group configuration
[erts,kernel] Connection ID information
kernel: Fix test case monitor_nodess_down_up
Guarantee nodedown before nodeup messages
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* rickard/is_alive-fix/OTP-18124:
[erts] Dynamic node name alive fixes
[erts, kernel] Fix erlang:is_alive()
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The monitor_node/2,3 and monitor/2,3 BIFs erroneously failed if called
prior to node name assignment when dynamic node name was used on the node.
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Ensure that the erlang:is_alive() BIF doesn't return 'true' until the
configured distribution service is available.
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | |
| | | | | | | | |
sverker/25/hopeful-in-fun-env/OTP-18093
|
| |\ \ \ \ \ \ \
| | |_|_|_|/ / /
| |/| | | | / /
| | | |_|_|/ /
| | |/| | | | |
sverker/24/hopeful-in-fun-env/OTP-18093
|
| | | |_|_|/
| | |/| | |
| | | | | |
| | | | | | |
by extending distribution_SUITE:test_hopefull_data_encoding
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | | |
lukas/25/erts/fix-dist-fragment-exit-leak/OTP-18077
|
| |\ \ \ \ \
| | |_|/ / /
| |/| | | |
| | | | | | |
lukas/24/erts/fix-dist-fragment-exit-leak/OTP-18077
|
| | |\ \ \ \
| | | |/ / /
| | |/| | |
| | | | | | |
lukas/23/erts/fix-dist-fragment-exit-leak/OTP-18077
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
'rickard/prevent-overlapping-partitions/24.2/ERIERL-732/OTP-17843' into rickard/prevent-overlapping-partitions/master/ERIERL-732/OTP-17843
* rickard/prevent-overlapping-partitions/24.2/ERIERL-732/OTP-17843:
global: Preventing overlapping partitions fix
global: Propagate and save version between all nodes
|
| |\ \ \ \ \
| | | |_|/ /
| | |/| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
'rickard/prevent-overlapping-partitions/23.3.4/ERIERL-732/OTP-17843' into rickard/prevent-overlapping-partitions/24.2/ERIERL-732/OTP-17843
* rickard/prevent-overlapping-partitions/23.3.4/ERIERL-732/OTP-17843:
global: Preventing overlapping partitions fix
global: Propagate and save version between all nodes
|
| | |\ \ \ \
| | | |/ / /
| | |/| | /
| | | | |/
| | | |/|
| | | | |
| | | | |
| | | | |
| | | | | |
'rickard/prevent-overlapping-partitions/22.3.4/ERIERL-732/OTP-17843' into rickard/prevent-overlapping-partitions/23.3.4/ERIERL-732/OTP-17843
* rickard/prevent-overlapping-partitions/22.3.4/ERIERL-732/OTP-17843:
global: Preventing overlapping partitions fix
global: Propagate and save version between all nodes
kernel: Fix a race condition in Global
|
| | | |/ |
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The initial check for ipv4 vs ipv6 did not use the
erl_epmd interface to lookup the address which caused
invalid addresses to not be resolvable by erl_epmd callback
modules.
Closes #5334
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Cleanup emulator application, sweep duplicate code that
was adding code path to the test suite module, make peer
node naming uniform, protect from rogue nodes left when
test case fails.
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
into 'sverker/dist-auto-connect-crash/GH-4964'
from 'maint'
|
| | |\ \ \
| | | |/ /
| | |/| |
| | | | | |
into 'sverker/23/dist-auto-connect-crash/GH-4964/OTP-17513'
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Symptom:
VM crash caused by write-after-free on reference counter of DistEntry
magic binary (GH-4964).
Problem:
DistEntry reference counter too low and is therefore decremented after
deallocation.
This problem was earlier tried to be fixed by 348b9ba8045c3d71d87f826d15fca145999a1593
with a call to erts_refc_inc_if() in erts_build_dhandle(), but that
was not race-free as this scenario shows:
Scenario:
0. DistEntry refc = 1
1. Thread A do lookup of DistEntry without refc++
2. Thread A calls erts_build_dhandle()
erts_refc_inc_if(0) does nothing as refc=1
3. Thread B do refc-- from 1 to 0 and schedules pending delete.
4. Thread A calls erts_mk_magic_ref() that does refc++ from 0 to 1
5. Thread B executes pending delete and does refc-- from 1 to 0.
DistEntry now has refc==0 while it's referred by a live dhandle term
which may later lead to write-after-free on the reference counter.
Solution:
Replace erts_refc_inc_if(0) in erts_build_dhandle()
with a combination of erts_refc_inctest()
followed by a conditional erts_refc_inc().
This is similar to the other places where we do an extra refc bump
for pending delete.
|
|\ \ \ \
| |/ / /
|/| | | |
alloc_SUITE, distribution_SUITE: fix race conditions
|
| |/ /
| | |
| | |
| | |
| | | |
Distribution suite suffers from the race between logger warning emitted, and "true" printed by the test code. There seems to be no specific order, logger may print before or after test suite outpit.
Alloc may fail when stop_node stops the node really fast, and linked process causes test case to exit with `{'EXIT', noconnection}`
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a bit string was preceeded by another term it would
incorrectly not increment the number of vectors needed to
contain the term during pending connect.
The testcase has been fixed to contain wrapped un-aligned
bit-strings and also to not sent the data across the
distribution port before the test as that destroys all
un-aligned bit-strings.
|
| | |
|