aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2019-01-15Fix "since" for all multi clause functionsSverker Eriksson
This is the result of going through all .xml files with "clause_i" attributes and make sure their "since" versions are correct.
2019-01-15erts: Remove dead gdb functions from codeLukas Larsson
2019-01-15erts: Make sure to take main lock when dumping proc infoLukas Larsson
If the main lock is not taken then any process running on a dirty scheduler may cause all kinds of problems.
2019-01-15Merge branch 'lukas/erts/set_logger_process/OTP-15375' into maintLukas Larsson
* lukas/erts/set_logger_process/OTP-15375: Update preloaded modules erts: Add erlang:system_flag(system_logger,_)
2019-01-11Merge branch 'rickard/dirty_scheduler_collapse/OTP-15509' into ↵Rickard Green
rickard/dirty_scheduler_collapse/maint-21/OTP-15509 * rickard/dirty_scheduler_collapse/OTP-15509: Fix bug causing dirty scheduler sleeper list inconsistency
2019-01-11Fix bug causing dirty scheduler sleeper list inconsistencyRickard Green
2019-01-11Merge branch 'maint-19' into maintJohn Högberg
* maint-19: Updated OTP version Prepare release
2019-01-10Update preloaded modulesLukas Larsson
2019-01-10erts: Add erlang:system_flag(system_logger,_)Lukas Larsson
This flag allows logger and other components to set the process which log messages from ERTS are to be sent.
2019-01-10Fix passing large integers as base to integer_to_X/2John Högberg
I noticed this seconds after merging... :(
2019-01-10Implement integer_to_list/2 and integer_to_binary/2 as CIFsStanislav Mayorov
This makes them roughly as fast as integer_to_list/1 and integer_to_binary/1.
2019-01-10Accept base in all integer-printing functionsStanislav Mayorov
2019-01-09Merge PR-2073 from josevalim/jv-counters-atomics-docsSverker Eriksson
Document cleanup semantics for atomics and counters
2019-01-09Merge branch 'john/erts/prim_file-init-restart/OTP-15495/ERL-821' into maintJohn Högberg
* john/erts/prim_file-init-restart/OTP-15495/ERL-821: Remove an unused variable Spawn prim_file helper as a system process
2019-01-08Prepare releaseErlang/OTP
2019-01-08Merge branch 'john/erts/spectre-configure-flag/OTP-15430/ERIERL-237' into ↵Erlang/OTP
maint-19 * john/erts/spectre-configure-flag/OTP-15430/ERIERL-237: Allow disabling retpoline in interpreter loop Add a ./configure flag for spectre mitigation
2019-01-08Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maint-19Erlang/OTP
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
2019-01-08Remove an unused variableJohn Högberg
2019-01-07Document cleanup semantics for atomics and countersJosé Valim
2019-01-07erts: Fix process_SUITE:max_heap testsLukas Larsson
Make sure to flush all queued emulator logger messages before starting the test. The trap_exit_badarg could sometimes leave messages and since the handler and messages now are handled in different processes this becomes a problem.
2019-01-07Merge branch 'lukas/erts/persistent_term_test_fix' into maintLukas Larsson
* lukas/erts/persistent_term_test_fix: erts: Fix persistent_term testcases
2019-01-07erts: Fix pollset test casesLukas Larsson
2019-01-07Spawn prim_file helper as a system processJohn Högberg
2019-01-03Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release
2018-12-28Prepare releaseErlang/OTP
2018-12-28Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maint-20Erlang/OTP
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
2018-12-21erts: Fix persistent_term testcasesLukas Larsson
2018-12-21Merge branch 'lukas/erts/inet_pktopts_old_linux/OTP-15494' into maintLukas Larsson
* lukas/erts/inet_pktopts_old_linux/OTP-15494: erts: Fix inet pktopts on very old linux kernels
2018-12-21Merge branch 'maint-21' into maintIngela Anderton Andin
* maint-21: Updated OTP version Prepare release
2018-12-20Prepare releaseErlang/OTP
2018-12-20Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maint-21Erlang/OTP
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
2018-12-20Merge branch 'sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486' into ↵Erlang/OTP
maint-21 * sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486: erts: Fix possible heap corruption getting atomics
2018-12-20Update preloaded modulesLukas Larsson
2018-12-20Merge branch 'lukas/erts/fix-seq_trace-reset_trace/OTP-15490' into maintLukas Larsson
* lukas/erts/fix-seq_trace-reset_trace/OTP-15490: erts: Fix seq_trace:reset_trace dirty gc bug erts: Use sys_memcpy in copy_one_frag
2018-12-19Merge tag 'OTP-20.2.0.1' into maintSverker Eriksson
=== OTP-20.2.0.1 === Changed Applications: - erts-9.2.0.1 Unchanged Applications: - asn1-5.0.4 - common_test-1.15.3 - compiler-7.1.4 - cosEvent-2.2.2 - cosEventDomain-1.2.2 - cosFileTransfer-1.2.2 - cosNotification-1.2.3 - cosProperty-1.2.3 - cosTime-1.2.3 - cosTransactions-1.3.3 - crypto-4.2 - debugger-4.2.4 - dialyzer-3.2.3 - diameter-2.1.3 - edoc-0.9.2 - eldap-1.2.3 - erl_docgen-0.7.2 - erl_interface-3.10.1 - et-1.6.1 - eunit-2.3.5 - hipe-3.17 - ic-4.4.3 - inets-6.4.5 - jinterface-1.8.1 - kernel-5.4.1 - megaco-3.18.3 - mnesia-4.15.2 - observer-2.6 - odbc-2.12.1 - orber-3.8.4 - os_mon-2.4.4 - otp_mibs-1.1.2 - parsetools-2.1.6 - public_key-1.5.2 - reltool-0.7.5 - runtime_tools-1.12.3 - sasl-3.1.1 - snmp-5.2.9 - ssh-4.6.3 - ssl-8.2.3 - stdlib-3.4.3 - syntax_tools-2.1.4 - tools-2.11.1 - wx-1.8.3 - xmerl-1.3.16 * tag 'OTP-20.2.0.1': Updated OTP version Prepare release
2018-12-19Prepare releaseSverker Eriksson
2018-12-18Merge branch 'sverker/big-band-bug/ERL-804/OTP-15487' into maintSverker Eriksson
* sverker/big-band-bug/ERL-804/OTP-15487: erts: Fix bug in 'band' of two negative numbers, one big
2018-12-18Merge branch 'sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486' into ↵Sverker Eriksson
maint * sverker/fix-atomics-get-large-unsigned/PR-2061/OTP-15486: erts: Fix possible heap corruption getting atomics
2018-12-18Merge branch 'sverker/erts/prim_file-perm-own-bigendian/OTP-15485' into maintSverker Eriksson
* sverker/erts/prim_file-perm-own-bigendian/OTP-15485: erts: Fix warning and potential big-endian-bug in prim_file
2018-12-17Add assertions to forker and erl_child_setupSverker Eriksson
2018-12-17erts: Fix bug in 'band' of two negative numbers, one bigSverker Eriksson
Similar bug as for bxor fixed by abc4fd372d476821448dfb9 Ex: 1> io:format("~.16B\n", [-16#1110000000000000000 band (-1)]). -1120000000000000000 Wrong result for (-X bsl WS) band -Y. where X is any positive integer WS is erlang:system_info(wordsize)*8*N where N is 1 or larger Y is any positive integer smaller than (1 bsl WS) Fix: The subtraction of 1 (for 2-complement conversion) must be carried along all the way to the last words.
2018-12-14Merge branch 'lukas/erts/fix_lit_msg_copy_in_gc' into maintLukas Larsson
* lukas/erts/fix_lit_msg_copy_in_gc: erts: Use ptr_val for pointer in gc msg copy
2018-12-13erts: Fix possible heap corruption getting atomicsTomas Abrahamsson
Due to comparison as a signed integer, when getting an unsigned atomic in the range 2^63-1..2^64-1 (when the most significant bit was set), the heap could get corrupted when the integer was retrieved: hsz would get set to zero, but the code proceeded to build a bignum. Steps to reproduce (at least on x86_64): $ erl 1> A = atomics:new(1,[{signed,false}]). 2> atomics:put(A,1,18446744073709551615). 3> atomics:get(A,1). At the last step, the shell would print some garbage and hang.
2018-12-13erts: Fix warning and potential big-endian-bug in prim_fileSverker Eriksson
for set_permission and set_owner.
2018-12-13Merge branch 'sverker/add-since-doc/OTP-15460' into maintSverker Eriksson
* sverker/add-since-doc/OTP-15460: Fill in since for multi-clause functions in erlang.erl Fix since attribute for troubled function docs Add empty 'since' attribute for old modules and functions Add since attribute to dtd Add "since" attributes in xml for new functions and modules erl_docgen: Generate "since" OTP version in html erl_interface: Fix doc for return type 'struct hostent'
2018-12-13Fill in since for multi-clause functions in erlang.erlSverker Eriksson
The ones marked since="?" are unknown (but newer than R13B03) monitor/2 port_info/2 process_flag/2 statistics/1 system_flag/2 system_info/1 trace_pattern/3
2018-12-13Merge PR-2050 from legoscia/atomics-counters-typosSverker Eriksson
Fix typos in atomics.xml and counters.xml
2018-12-13erts: Fix seq_trace:reset_trace dirty gc bugLukas Larsson
When seq_trace:reset_trace could be called while a process was doing a dirty GC. This triggered a race where all signals was moved to the internal signal queue during the GC which in turn caused the a heap overrun problem. This fix makes it so that the main and msgq lock are taken before the clear. This will make sure that we are allowed to do the clear.
2018-12-13erts: Use sys_memcpy in copy_one_fragLukas Larsson
2018-12-13Fix reading beyond end of bignum in integer squaringBjörn Gustavsson
The multiplication of two bignums is specially optimized when the two operands have the same address, because squaring can be done more efficiently than multiplication of two arbitrary integers. That is, expressions such as `I * I` will be calculated by squaring the value of `I`. The optimized function for squaring would read one word beyond the end of the bignum in the last iteration of a loop. The garbage value would never be used. In almost all circumstances that would be harmless. Only if the read word happened to fall on the start of an unmapped page would the runtime crash. That is unlikely to happen because most bignums are stored on a process heap, and since the stack is located at the other end of the block that the heap is located in, the word beyond the end of bignum is guaranteed to be readable.