aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2019-04-18erts: Fix cleanup of message factory undoLukas Larsson
2019-04-18erts: Make dump_SUITE:free_dump not dump via rpcLukas Larsson
Doing the dump via rpc can introduce all kins of strange timing issiues. So instead we dump 5ms after the exit has been started.
2019-04-18erts: Add extra debugging to dist frag testcasesLukas Larsson
2019-04-18erts: Run smaller dist frag test to 32 bit machinesLukas Larsson
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.
2019-04-18Fix broken ETS test caseKjell Winblad
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.
2019-04-17[socket|test] Timing and node startsMicael Karlberg
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.
2019-04-17[socket] CMsg header decode on darwinMicael Karlberg
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.
2019-04-17[socket|test] Make sure all evaluators are terminatedMicael Karlberg
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.
2019-04-17[socket] Building term with terms from different env (again)Micael Karlberg
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
2019-04-17[socket] Type maniaMicael Karlberg
Why can't we all just get along? Casting to shut the compiler up.
2019-04-17[socket] Debug fixesMicael Karlberg
When setting (otp) debug to true, some debug printouts could become "laaarge". Removed the data from those printout to avoid problems.
2019-04-17[socket|test] Test case tweakingMicael Karlberg
2019-04-17[socket] Building term with terms from different env (again)Micael Karlberg
When building the (recv) select message, used terms from different environments, which is not allowed. OTP-15496
2019-04-17[socket] Building term with terms from different envMicael Karlberg
When building the (accept) select message, used terms from different environments, which is not allowed. OTP-15496
2019-04-17[socket] Fixed acceptor environment leakMicael Karlberg
Did the free and assign new acceptor in the wrong order, thereby causing an (acceptor) environment leak. OTP-15496
2019-04-17[socket] Fixed various windows issuesMicael Karlberg
Building on windows broken again: * The 'inline' keywork needs som work on windows. * Function was outside of if-def. * Missing prototypes resulted in default prototypes. In this case, the actual problem was missing if-defs for win32 (that made functions exist on windows when they should not). Not sure why it compiled just fine on win32 but not win64 though.
2019-04-17[socket] Fixed beamsMicael Karlberg
Forgot about using 'otp_build update_preloaded --no-commit' when updating the preloaded and compiled with plain erlc... Caused problems for dyalizer... OTP-15658
2019-04-17[socket|test] Commented out setting debug during closeMicael Karlberg
2019-04-17[socket] Make use of the new select (read|write) functionsMicael Karlberg
Make use of the new select functions; enif_select_[read|write], for read and write select. These functions allows us to construct the select message ourseves: {'$socket', Socket, select, Ref} This is in preparations for when we introduce the 'nowait' (or something similar) value for the timeout argument (in accept, read and write funcions). It also solves (we hope) the term leakage problems (it was difficult to free the environment when there was only one/socket). OTP-15496
2019-04-17[socket|net] Make set|get options safe and type prefixMicael Karlberg
Firstly, make sure socket (and own) options manipulations are safe by adding a mutex that we take in the setopt and getopt functions. Secondly, change type prefix of various types from 'Socket' to 'ESock' (for instance; SocketDescriptor -> ESockDescriptor). OTP-15496
2019-04-17[socket] Restructure the close function(s)Micael Karlberg
To increase readability the close function has been slightly restructured.
2019-04-17[socket] Restructure the recvmsg result checkMicael Karlberg
To increase readability the recvmsg result check has been slightly restructured. In this case we made use of the error case function (fail) of the recv result check.
2019-04-17[socket] Restructure the recvfrom result checkMicael Karlberg
To increase readability the recvfrom result check has been slightly restructured. In this case we made use pf the error case function (fail) of the recv result check.
2019-04-17[socket] Restructure the recv result checkMicael Karlberg
To increase readability the recv result check has been slightly restructured.
2019-04-17[socket] Restructure the send result checkMicael Karlberg
To increase readability the send result check has been slightly restructured.
2019-04-17[socket] Messages from the nif code now has a proper socketMicael Karlberg
The messages sent from the nif code to an erlang process has been changed to: {'$socket', Socket :: socket(), Tag :: atom(), Info :: term()} This is in preparation for (using) the new enif select API. OTP-15496
2019-04-17[esock] Fixed socket close raceMicael Karlberg
Used ref from wrong environment when building reply.
2019-04-17Merge branch 'maint'Micael Karlberg
* maint: Updated OTP version Prepare release
2019-04-17Merge branch 'maint-20' into maintMicael Karlberg
* maint-20: Updated OTP version Prepare release # Conflicts: # OTP_VERSION # erts/doc/src/notes.xml # erts/vsn.mk # lib/common_test/doc/src/notes.xml # lib/common_test/vsn.mk # lib/erl_interface/doc/src/notes.xml # lib/erl_interface/vsn.mk # lib/snmp/doc/src/notes.xml # lib/snmp/vsn.mk # lib/ssh/doc/src/notes.xml # lib/ssh/vsn.mk # lib/tools/doc/src/notes.xml # lib/tools/vsn.mk # make/otp_version_tickets # otp_versions.table
2019-04-16Prepare releaseErlang/OTP
2019-04-16Merge branch 'rickard/make-fixes-20/OTP-15657' into maint-20Erlang/OTP
* rickard/make-fixes-20/OTP-15657: Remove own configured RM make variable
2019-04-16Merge branch 'rickard/make-fixes-20/OTP-15551' into maint-20Erlang/OTP
* rickard/make-fixes-20/OTP-15551: Fix install phase in build system
2019-04-16Merge branch 'sverker/doc-big-creation-tags/OTP-15766' into maint-20Erlang/OTP
* sverker/doc-big-creation-tags/OTP-15766: erts: Document NEW_PID, NEW_PORT, NEWER_REFERENCE erts: Add missing docs for DFLAG_MAP_TAG and DFLAG_BIG_CREATION
2019-04-16Merge branch ↵Erlang/OTP
'max-au/erts/maint-20/dirty_scheduler_shutdown/PR-2172/OTP-15690' into maint-20 * max-au/erts/maint-20/dirty_scheduler_shutdown/PR-2172/OTP-15690: erts: Use smp prefix on runq erts: release dirty runqueue lock before entering endless loop when BEAM is shutting down
2019-04-16Merge branch 'sverker/ets-no-mbuf-trapping/OTP-15660' into maint-20Erlang/OTP
* sverker/ets-no-mbuf-trapping/OTP-15660: erts: Remove ets traversal yielding if heap fragment
2019-04-15Merge branch 'bjorn/cuddle-with-tests'Björn Gustavsson
* 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
2019-04-15Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release # Conflicts: # OTP_VERSION # make/otp_version_tickets_in_merge
2019-04-15Prepare releaseErlang/OTP
2019-04-15Merge branch 'sverker/maint-21/doc-big-creation-tags/OTP-15766' into maint-21Erlang/OTP
* sverker/maint-21/doc-big-creation-tags/OTP-15766: erts: Document NEW_PID, NEW_PORT, NEWER_REFERENCE erts: Add missing docs for DFLAG_MAP_TAG and DFLAG_BIG_CREATION
2019-04-12Merge branch 'sverker/doc-big-creation-tags/OTP-15766'Sverker Eriksson
into sverker/maint-21/doc-big-creation-tags/OTP-15766
2019-04-12Merge 'maint' into 'master'Sverker Eriksson
2019-04-12Merge 'sverker/doc-big-creation-tags/OTP-15766' into 'maint'Sverker Eriksson
2019-04-12crash dump: Fix printing of "OldBinVHeap unused"Björn Gustavsson
During a garbage collection, there could have been an overflow in the old virtual heap.
2019-04-12crash dump: Include correct IP for a garbing processBjörn Gustavsson
Make sure that the instruction pointer is correct for a garbing process in a crash dump.
2019-04-12fun_SUITE: Make refc/1 test more reliableBjörn Gustavsson
Wait a little after to make sure that fun holding process to complete its termination.
2019-04-12Remove redundant rule from EmakefileBjörn Gustavsson
According to the comment, this rule was only needed when communication with R7B nodes was supported.
2019-04-12Turn off more optimizations for no_opt modulesBjörn Gustavsson
With the new compiler in OTP 22, we have to use more options to turn off optimizations. This commit also skips the match_huge_int/1 test case in the unoptimized clone of the bs_match_int module because it could crash on memory-constrained computers.
2019-04-12Merge branch 'maint'Hans Nilsson
* maint: Updated OTP version Prepare release # Conflicts: # OTP_VERSION # make/otp_version_tickets_in_merge
2019-04-12Prepare releaseErlang/OTP
2019-04-12Merge branch 'bjorn/erts/measure-process_main/OTP-15620'Björn Gustavsson
* bjorn/erts/measure-process_main/OTP-15620: Add benchmark Add erts_debug:interpreter_size/0