aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2018-06-07Merge branch 'sverker/ets-auto-unfix-delete-race/OTP-15109'Sverker Eriksson
* sverker/ets-auto-unfix-delete-race/OTP-15109: erts: Fix race between ets table deletion and auto-unfix
2018-06-07erts: Fix race between ets table deletion and auto-unfixSverker Eriksson
Bug exists since ets-refs were introduced in 20.0 0d6dc895744c34c9c52fd42f4801a8a941864ae3. Problem: 1. Process A fixates table T. 2. Process B starts deleting table T (either by ets:delete or exit) and does tid_clear(). 3. Process A exits and does proc_cleanup_fixed_table() and get NULL from btid2tab() and deallocates DbFixation. 4. Process B continues deleting table in free_fixations_locked() and finds the deallocated DbFixation in the fixing_procs tree. Solution: Wait with tid_clear() until after free_fixations_locked() has traversed the fixing_procs tree.
2018-06-05Merge branch 'sverker/broken-sig-queue'Sverker Eriksson
* sverker/broken-sig-queue: erts: Cleanup in proc_queue_signal erts: Fix broken signal queue
2018-06-05erts: Cleanup in proc_queue_signalSverker Eriksson
* Remove 'last' arg to sig_enqueue_trace_cleanup * Only notify 'rp' if enqueue succeeded
2018-06-05erts: Fix broken signal queueSverker Eriksson
broken on master by 613cde66c25464121f2f6dace99782bad0e07d9b Scenario: proc_queue_signal() fails to send switched pending signal due to state & ERTS_PSFLG_FREE, and then calls erts_proc_sig_send_monitor_down() to enqueue to self followed by sig_enqueue_trace_cleanup() that destroyed 'next' pointer of enqueued signal. Solution: Switch order and do sig_enqueue_trace_cleanup() first.
2018-06-05Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release inets: Gracefully handle bad headers
2018-06-05Prepare releaseErlang/OTP
2018-06-05Merge branch 'sverker/system-profile-bug/OTP-15085' into maint-20Erlang/OTP
* sverker/system-profile-bug/OTP-15085: erts: Fix bug in system_profile
2018-06-05Merge branch 'sverker/enif_binary_to_term-bug/OTP-15080' into maint-20Erlang/OTP
* sverker/enif_binary_to_term-bug/OTP-15080: erts: Fix bug in enif_binary_to_term for immediates
2018-06-05mikpe/erts-port_task-invalid-call/PR-1828/ERL-621/OTP-15108Lukas Larsson
do not call abort_signal_task() with invalid data
2018-06-04Merge branch 'sverker/pooled-age-order'Sverker Eriksson
* sverker/pooled-age-order: erts: Let allocator pooled_tree also use Age Order
2018-06-04Merge branch 'sverker/erlang-memory-fix'Sverker Eriksson
* sverker/erlang-memory-fix: erts: Purge unused allocation types erts: Fix erlang:memory for 'processes' and 'processes_used'
2018-06-04Merge branch 'sverker/ets-count/OTP-14987'Sverker Eriksson
* sverker/ets-count/OTP-14987: erts,stdlib: Improve docs about obsolete ets_limit erts: Reduce test log noise from ets_SUITE erts: Increase scalability of ets name lookup erts: Rename one of delete_trap to select_delete_trap erts: Refactor usage of am_atom_put to ERTS_MAKE_AM erts: Add system_info(ets_count) erts: Fix narrow race between ets:new and ets:delete
2018-06-04erts,stdlib: Improve docs about obsolete ets_limitSverker Eriksson
2018-06-04erts: Increase scalability of ets name lookupSverker Eriksson
by expanding the default size of the hash table and increase number of locks.
2018-06-04erts: Rename one of delete_trap to select_delete_trapSverker Eriksson
2018-06-04erts: Refactor usage of am_atom_put to ERTS_MAKE_AMSverker Eriksson
and let compiler determine string lengths. These were actually wrong in erl_db.c: count_trap\0 replace_tra select_tra
2018-06-04erts: Add system_info(ets_count)Sverker Eriksson
2018-06-04Merge branch 'hasse/dialyzer/improve_contract_warnings/OTP-14982'Hans Bolinder
* hasse/dialyzer/improve_contract_warnings/OTP-14982: erts: Improve contracts of zlib kernel: Improve contracts erts: Improve a contract stdlib: Improve a contract compiler: Improve a contract dialyzer: Refine the test for overspecified functions
2018-06-04Merge pull request #1806 from bitnitdit/erlang-xml-typosLukas Larsson
Fix typos in erlang.xml
2018-06-04Merge branch 'lukas/erts/fix-scheduler-data-sched-out-bug/OTP-13123'Lukas Larsson
* lukas/erts/fix-scheduler-data-sched-out-bug/OTP-13123: erts: Make sure scheduler_data is set
2018-06-04Merge branch 'lukas/otp/fix-mkdir-makefile-error'Lukas Larsson
2018-05-29do not call abort_signal_task() with invalid dataMikael Pettersson
2018-05-29Revert "Prepare release"Henrik
This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
2018-05-29erts: Improve contracts of zlibHans Bolinder
2018-05-28erts: Improve a contractHans Bolinder
2018-05-25erts: Make sure scheduler_data is setLukas Larsson
If scheduler_data is not set correctly on normal schedulers the code in erts_schedule_time_break and possibly others will trigger asserts.
2018-05-25Prepare releaseErlang/OTP
2018-05-24Merge branch 'siri/logger-fix'Siri Hansen
* siri/logger-fix: Update documentation of logger and error_logger Change type name logger:log() to logger:log_event() Update preloaded Update primary bootstrap Rename module logger_simple to logger_simple_h Change env var logger_log_progress to logger_progress_reports Remove HandlerId from handler callback functions and add it to Config Change handler id for sasl handler from sasl_h to sasl Change Compare parameter to logger_filters:domain/2 Update Logger documentation Rename reset_module_level to unset_module_level Allow chars_limit to limit strings Add logger:update_formatter_config/2,3 Set legacy_header=true for kernel's default handler only Improve documentation of logger and error_logger Use system_time instead of monotonic_time as timestamp in logger
2018-05-23configure.in: Add back accidentally deleted AC_SUBST(FPE)Björn Gustavsson
AC_SUBST(FPE) was accidentally deleted in 13bcae12947603.
2018-05-23Update preloadedSiri Hansen
2018-05-23Use system_time instead of monotonic_time as timestamp in loggerSiri Hansen
2018-05-23make: Don't call mkdir with empty argumentLukas Larsson
2018-05-22erts: Purge unused allocation typesSverker Eriksson
2018-05-22erts: Fix erlang:memory for 'processes' and 'processes_used'Sverker Eriksson
to include links and monitors which were lost at 4bc282d812cc2c49aa3e2d073e96c720f16aa270 where these fix_alloc types changed names.
2018-05-22erts: Let allocator pooled_tree also use Age OrderSverker Eriksson
if configured for the allocator. This was not implemented and pooled_tree always used address order first fit. The "problem" was as a carrier can be part of both the pooled tree (of its owner) and the allocation tree (of a foreign instance) at the same time. Solved by duplicating 'birth_time' in both AOFF_RBTree_t nodes for each carrier. Blocks still cannot use age order and does not pay any memory cost for birth_time.
2018-05-21Merge branch 'lukas/erts/cpu_time_thread/OTP-15090'Lukas Larsson
* lukas/erts/cpu_time_thread/OTP-15090: erts: Make cpu_timestamp use per thread on Linux
2018-05-18erts: Fix narrow race between ets:new and ets:deleteSverker Eriksson
of same named table. If other process does ets:delete before ets:new has completely finished and done save_owned_table then ets:delete might do delete_owned_table and deref wild pointers in tb->common.owned.
2018-05-18erts: Add some missing doxygen docsSverker Eriksson
2018-05-18Merge branch 'sverker/ets-delete_all_objects-trap/OTP-15078'Sverker Eriksson
* sverker/ets-delete_all_objects-trap/OTP-15078: erts: Rename untrapping db_free_*empty*_table erts: Make ets:delete_all_objects yield on fixed table erts: Optimize ets delete all in fixed table erts: Refactor ets select iteration code erts: Cleanup ets code erts: Optimize ets hash object deallocactions erts: Refactor pseudo deleted ets objects erts: Make atomic ets:delete_all_objects yield erts: Fix reduction bump for ets:delete/1
2018-05-18Merge branch 'sverker/system-profile-bug/OTP-15085'Sverker Eriksson
* sverker/system-profile-bug/OTP-15085: erts: Fix bug in system_profile
2018-05-18erts: Fix bug in system_profileSverker Eriksson
seen to cause redundant {profile,_,active,_,_} messages when process is terminating.
2018-05-18Merge branch 'rickard/delete_process_schedule/OTP-15081'Rikard Green
* rickard/delete_process_schedule/OTP-15081: Do not hold runq lock while deleting a process
2018-05-17Merge branch 'sverker/maps-iterator-order' againSverker Eriksson
2018-05-17Merge PR-1819 from sverker/enif_binary_to_term-bug/OTP-15080Sverker Eriksson
Fix bug in enif_binary_to_term for immediates
2018-05-17tverlaan/add_dns_alternative_to_tcp_dist/PR-1694/OTP-15086Lukas Larsson
epmd: allow alternative to dns resolving for nodename
2018-05-16epmd: allow alternative to dns resolving for nodenameTimmo Verlaan
This makes it possible to create a custom integration with a key-value store for example. The key would then point to the actual address. You would have to write your own epmd module to make use of that feature.
2018-05-16erts: Silence gcc warningsSverker Eriksson
‘res’ may be used uninitialized in this function
2018-05-16Merge branch 'richcarl/eliminate_lib_module/PR-1786/OTP-15072'Hans Bolinder
* richcarl/eliminate_lib_module/PR-1786/OTP-15072: Fix minor issues Eliminate call to ct:get_progname() in ts_erl_config Use \n escape instead of integer 10 Move error formatting to erl_error.erl and delete lib.erl Move extended parse functions in lib.erl to erl_eval.erl Move lib:eval_str/1 into mod_esi.erl Remove lib:progname/0 Eliminate call to lib:progname/1 in slave.erl Add ct:get_progname/0 Remove lib:error_message/2 Remove lib:flush_receive/0 Remove lib:send/2 and lib:sendw/2 Move lib:nonl/1 into yecc.erl
2018-05-16erts: Fix bug in enif_binary_to_term for immediatesSverker Eriksson
Symptom: Heap corruption Expanded test case to provoke this bug and test some more term types.