summaryrefslogtreecommitdiff
path: root/erts/emulator/test/distribution_SUITE.erl
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint'Rickard Green2023-04-301-5/+122
|\ | | | | | | | | * maint: [erts] ensure no mix of external and internal identifiers
| * Merge branch 'rickard/creation-fix/24.3.4/OTP-18570' into ↵Rickard Green2023-04-291-5/+122
| |\ | | | | | | | | | | | | | | | | | | 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
| | * Merge branch 'rickard/creation-fix/23.3.4/OTP-18570' into ↵Rickard Green2023-04-291-2/+121
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * [erts] ensure no mix of external and internal identifiersRickard Green2023-04-291-2/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Fix whitebox testRaimo Niskanen2023-03-161-10/+47
|/ / /
* | | [erts] Support for truly asynchronous distributed signalingRickard Green2023-01-171-3/+277
| | |
* | | kernel|erts: Use memavailable for tests when availableLukas Larsson2022-10-211-2/+4
| | |
* | | erts: Improve node leak check in end_per_testcaseSverker Eriksson2022-10-041-3/+1
| | | | | | | | | | | | | | | Don't lose original failure reason, instead amend "Leaked connections".
* | | erts: Fix exit_dist_fragments testLukas Larsson2022-09-211-7/+10
| | | | | | | | | | | | | | | | | | | | | 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.
* | | erts: Fix distribution_SUITE:dyn_node_name_monitor_nodeSverker Eriksson2022-08-161-1/+2
| | | | | | | | | | | | It could leak peer node if failing.
* | | erts: Check for leaking peer nodes after testsSverker Eriksson2022-08-161-2/+19
| | |
* | | Merge branch 'sverker/24/fix-hopeful-fun-size-encoding/OTP-18104'Sverker Eriksson2022-06-081-67/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * \ \ Merge branch 'sverker/23/fix-hopeful-fun-size-encoding/OTP-18104'Sverker Eriksson2022-06-081-28/+62
| |\ \ \ | | |/ / | |/| | | | | | into sverker/24/fix-hopeful-fun-size-encoding/OTP-18104
| | * | erts: Fix fallback combo bug on pending connectionSverker Eriksson2022-05-201-29/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'rickard/global-fixes/25.0/OTP-17934' into maintRickard Green2022-05-311-2/+290
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * \ \ \ Merge branch 'rickard/global-fixes/24.3.3/OTP-17934' into ↵Rickard Green2022-05-251-2/+290
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * \ \ \ Merge branch 'rickard/global-fixes/23.3.4/OTP-17934' into ↵Rickard Green2022-05-251-2/+290
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * \ \ \ Merge branch 'rickard/global-fixes/22.3.4/OTP-17934' into ↵Rickard Green2022-05-251-2/+290
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | | * | | | [erts,kernel] Connection ID informationRickard Green2022-05-031-2/+290
| | | | | | | |
* | | | | | | | Merge branch 'rickard/is_alive-fix/OTP-18124' into maintRickard Green2022-05-311-2/+143
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rickard/is_alive-fix/OTP-18124: [erts] Dynamic node name alive fixes [erts, kernel] Fix erlang:is_alive()
| * | | | | | | | [erts] Dynamic node name alive fixesRickard Green2022-05-311-2/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | | [erts, kernel] Fix erlang:is_alive()Rickard Green2022-05-311-2/+61
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the erlang:is_alive() BIF doesn't return 'true' until the configured distribution service is available.
* | | | | | | | Merge branch 'sverker/24/hopeful-in-fun-env/OTP-18093' into ↵Sverker Eriksson2022-05-191-9/+29
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | sverker/25/hopeful-in-fun-env/OTP-18093
| * | | | | | | Merge branch 'sverker/23/hopeful-in-fun-env/OTP-18093' into ↵Sverker Eriksson2022-05-191-9/+29
| |\ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | / / | | | |_|_|/ / | | |/| | | | sverker/24/hopeful-in-fun-env/OTP-18093
| | * | | | | erts: Test Size field of NEW_FUN_EXT encoded for pending connectionSverker Eriksson2022-05-191-9/+29
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | by extending distribution_SUITE:test_hopefull_data_encoding
* | | | | | Merge branch 'lukas/24/erts/fix-dist-fragment-exit-leak/OTP-18077' into ↵Lukas Larsson2022-05-011-1/+165
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | lukas/25/erts/fix-dist-fragment-exit-leak/OTP-18077
| * | | | | Merge branch 'lukas/23/erts/fix-dist-fragment-exit-leak/OTP-18077' into ↵Lukas Larsson2022-05-011-1/+165
| |\ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | lukas/24/erts/fix-dist-fragment-exit-leak/OTP-18077
| | * | | | Merge branch 'lukas/22/erts/fix-dist-fragment-exit-leak/OTP-18077' into ↵Lukas Larsson2022-04-301-1/+165
| | |\ \ \ \ | | | |/ / / | | |/| | | | | | | | | lukas/23/erts/fix-dist-fragment-exit-leak/OTP-18077
| | | * | | erts: Add testcase for exit distr fragmentsLukas Larsson2022-04-301-1/+165
| | | | | |
| * | | | | Update copyright yearErlang/OTP2022-03-091-1/+1
| | | | | |
* | | | | | Use rand:bytes/1 for simplified data generationBjörn Gustavsson2022-04-051-10/+1
| | | | | |
* | | | | | Update copyright yearErlang/OTP2022-02-151-1/+1
| | | | | |
* | | | | | Merge branch ↵Rickard Green2022-02-061-34/+49
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '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
| * | | | | Merge branch ↵Rickard Green2022-02-061-34/+49
| |\ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '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
| | * | | | Merge branch ↵Rickard Green2022-02-061-34/+49
| | |\ \ \ \ | | | |/ / / | | |/| | / | | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | '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
| | | * | global: Preventing overlapping partitions fixRickard Green2022-02-061-34/+49
| | | |/
* | | | Fix typos in erts/emulator/testKian-Meng, Ang2021-12-021-2/+2
| | | |
* | | | Merge branch 'maint'Lukas Larsson2021-11-261-10/+18
|\ \ \ \ | |/ / /
| * | | kernel: Fix erl_epmd:address_pleaseLukas Larsson2021-11-261-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | emulator: replace test_server:start node with ?CT_PEERMaxim Fedorov2021-11-081-420/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'maint'Sverker Eriksson2021-07-021-0/+45
|\ \ \ \ | |/ / /
| * | | Merge 'sverker/23/dist-auto-connect-crash/GH-4964/OTP-17513'Sverker Eriksson2021-07-021-0/+45
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | into 'sverker/dist-auto-connect-crash/GH-4964' from 'maint'
| | * \ \ Merge 'sverker/22/dist-auto-connect-crash/GH-4964/OTP-17513'Sverker Eriksson2021-07-021-0/+45
| | |\ \ \ | | | |/ / | | |/| | | | | | | into 'sverker/23/dist-auto-connect-crash/GH-4964/OTP-17513'
| | | * | erts: Fix write-after-free bug for DistEntry (AGAIN)Sverker Eriksson2021-07-021-0/+45
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #4665 from max-au/max-au/fix-racesJohn Högberg2021-05-311-3/+3
|\ \ \ \ | |/ / / |/| | | alloc_SUITE, distribution_SUITE: fix race conditions
| * | | alloc_SUITE, distribution_SUITE: fix race conditionsMaxim Fedorov2021-03-231-3/+3
| |/ / | | | | | | | | | | | | 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}`
* | | distribution_SUITE: Add a test for the -no_epmd optionJérôme de Bretagne2021-04-121-3/+8
|/ /
* | erts: Fix distribution_SUITE:bad_dist_fragments test caseRickard Green2021-03-101-16/+34
| |
* | erts: Fix vector count for bit stringsLukas Larsson2020-12-151-30/+56
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Look up IOV_MAX instead of assuming 16Rickard Green2020-10-221-2/+48
| |