aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2019-05-06Merge branch 'maint'Sverker Eriksson
2019-05-06Merge branch 'sverker/process_info-reductions-fix/OTP-15793' into maintSverker Eriksson
* sverker/process_info-reductions-fix/OTP-15793: erts: Force process_info(reductions) as signal erts: Fix another bug in process_info(reductions)
2019-05-03erts: Force process_info(reductions) as signalSverker Eriksson
Not 100% sure this is needed to get correct reductions as the direct query is not done if process is RUNNING anyway.
2019-05-03Merge branch 'lukas/erts/distr-frag-fixes'Lukas Larsson
* lukas/erts/distr-frag-fixes: erts: Add documentation for distribution fragments
2019-05-03Merge branch 'lukas/OTP-22/misc-fixes/OTP-15791'Lukas Larsson
* lukas/OTP-22/misc-fixes/OTP-15791: erts: Fix so that non-oneshot pollset on OpenBSD works erts: Remove dead cpu info code in erlexec erts: Remove -instr from erlexec flags
2019-05-02erts: Fix so that non-oneshot pollset on OpenBSD worksLukas Larsson
The poll code for kevent on OpenBSD and NetBSD had not been fixed to work properly when disabling events in the scheduler poll-set. Because they use ONESHOT the delete operation was built into the trigger and thus a lot of code was not needed when doing oneshot, however it is needed when doing non-oneshot.
2019-05-02Merge branch 'sverker/tw-assert'Sverker Eriksson
* sverker/tw-assert: erts: Fix bug in timer wheel at cancel during bump yield erts: Tidy up some harmless code typos
2019-05-02erts: Add documentation for distribution fragmentsLukas Larsson
2019-05-02Merge branch 'bmk/erts/esock/20190430/configure_esock_include/OTP-15658'Micael Karlberg
2019-05-02Merge branch 'lukas/erts/distr-frag-fixes'Lukas Larsson
* lukas/erts/distr-frag-fixes: Update run-dialyzer script to be more generic and aggressive erts: Fix memory leak for down/exit message
2019-05-02Merge branch 'lukas/OTP-22/misc-fixes'Lukas Larsson
* lukas/OTP-22/misc-fixes: erts: Restart driver_SUITE:polling node at failure
2019-05-02erts: Restart driver_SUITE:polling node at failureLukas Larsson
2019-04-30[socket|net|test] Update test suites to handle disabled esockMicael Karlberg
2019-04-30[socket|net] Final prepMicael Karlberg
The config options --[en|dis]able-esock now works as expected.
2019-04-30[socket] Preliminary - make socket configurableMicael Karlberg
Preliminary work to make socket configurable (enable and disable). OTP-15658
2019-04-30Merge branch 'john/erts/alloc-header-packing-win64'John Högberg
* john/erts/alloc-header-packing-win64: erts_alloc: Fix header packing on Win64
2019-04-30erts: Fix memory leak for down/exit messageLukas Larsson
When a fragmented down/exit is sent to a non-existing process the message would just be dropped without being deallocated.
2019-04-29erts: Fix bug in timer wheel at cancel during bump yieldSverker Eriksson
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.
2019-04-29erts: Tidy up some harmless code typosSverker Eriksson
2019-04-29Merge branch 'rickard/dist-q-sz-fix'Rickard Green
* rickard/dist-q-sz-fix: Fix distribution queue size adjustment
2019-04-29Merge branch 'sverker/misc-fix'Sverker Eriksson
2019-04-29erts_alloc: Fix header packing on Win64John Högberg
2019-04-29Merge branch 'bmk/erts/esock/20190417/new_select_api/OTP-15496'Micael Karlberg
2019-04-24erts: Fix another bug in process_info(reductions)Sverker Eriksson
to disregard consumed virtual reductions which are not aggregated into p->reds and if included may cause reduction count go backwards.
2019-04-24erts: Simplify erts_get_port_namesSverker Eriksson
No need to pre-allocate a buffer before name length calculation.
2019-04-24Fix distribution queue size adjustmentRickard Green
2019-04-24Revert "Prepare release"Rickard Green
This reverts commit 425889ba69b69a9b6fb14bfbef121d51b78e853a.
2019-04-24erts_alloc: Fix incorrect header word packingJohn Högberg
2019-04-23Prepare releaseErlang/OTP
2019-04-18Merge branch 'kjell/emulator/persistent_term_yield/OTP-15615'Kjell Winblad
* kjell/emulator/persistent_term_yield/OTP-15615: Make persistent_term:put/2 and persistent_term:erase/1 yield
2019-04-18Merge branch 'rickard/dist-system-limit/OTP-15708'Rickard Green
* rickard/dist-system-limit/OTP-15708: Fail when we cannot encode term in binary
2019-04-18Make persistent_term:put/2 and persistent_term:erase/1 yieldKjell Winblad
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.
2019-04-18Merge branch 'lukas/OTP-22-rc2/misc-fixes/OTP-15773'Lukas Larsson
* 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
2019-04-18erts: Yield correctly when iterating over distr exit messagesLukas Larsson
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.
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.