aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-07-03Fix delete_object and write convergence in transaction.Daniil Fedotov
Fix a bug, when delete_object was deleting the record if it was written in the same transaction even if it was written to a different value. To verify: %% Create a set table mnesia:create_table(foo, []). %% Write and delete_object in transaction mnesia:transaction(fun() -> mnesia:write({foo, bar, one}), mnesia:delete_object({foo, bar, not_one}) end). {atomic, [{foo, bar, one}]} = mnesia:transaction(fun() -> mnesia:read(foo, bar) end). Added a section to isolation tests to check for non-matching delete_object requests.
2018-06-29pre-push: Add comment of how to do dry-run testingSverker Eriksson
2018-06-29pre-push: Make easier to add new OTP major releasesSverker Eriksson
by just adding to NEW_RELEASES
2018-06-29Merge branch 'maint-20' into maintSverker Eriksson
* maint-20: Updated OTP version Prepare release kernel: Fix tick count bug when pending writes kernel: Send tick to hidden node even if pending writes ic: Fix buffer overrun bug in oe_ei_encode_atom erl_interface: Fix simultaneous connection setup
2018-06-29Merge pull request #1842 from gomoripeti/erl_syntaxHans Bolinder
Small fixes in syntax_tools See also OTP-15165.
2018-06-29Merge pull request #1853 from gomoripeti/fix_type_unary_opHans Bolinder
Fix typo in erl_parse type unary_op()
2018-06-28Merge PR-1844 from arcz/ets_count OTP-15163Sverker Eriksson
Use erlang:system_info(ets_count) and improve docs
2018-06-28Merge branch 'sverker/cerl-fixing' into maintSverker Eriksson
* sverker/cerl-fixing: erts: Remove "-pz $PRELOADED" arguments added by cerl erts: Remove dead code in cerl script
2018-06-28Updated OTP versionOTP-20.3.8.2Erlang/OTP
2018-06-28Prepare releaseErlang/OTP
2018-06-28Merge branch 'john/erts/fix-process-schedule-after-free/OTP-15067/ERL-573' ↵Erlang/OTP
into maint-20 * john/erts/fix-process-schedule-after-free/OTP-15067/ERL-573: Don't enqueue system tasks if target process is in fail_state Fix erroneous schedule of freed/exiting processes Fix deadlock in run queue evacuation Fix memory leak of processes that died in the run queue
2018-06-28Merge branch 'sverker/ic/encode-atom-overrun/ERIERL-191/OTP-15160' into maint-20Erlang/OTP
* sverker/ic/encode-atom-overrun/ERIERL-191/OTP-15160: ic: Fix buffer overrun bug in oe_ei_encode_atom
2018-06-28Merge branch 'sverker/erl_interface/simultaneous-connect/OTP-15161' into ↵Erlang/OTP
maint-20 * sverker/erl_interface/simultaneous-connect/OTP-15161: erl_interface: Fix simultaneous connection setup
2018-06-28Merge branch 'sverker/kernel/tick-fixes/OTP-15162' into maint-20Erlang/OTP
* sverker/kernel/tick-fixes/OTP-15162: kernel: Fix tick count bug when pending writes kernel: Send tick to hidden node even if pending writes
2018-06-28kernel: Fix tick count bug when pending writesSverker Eriksson
2018-06-28kernel: Send tick to hidden node even if pending writesSverker Eriksson
as c-nodes need ticks to send ticks.
2018-06-28Support bitstrings as literals in erl_syntaxPéter Gömöri
Add support of non-whole-byte binaries to `abtract/1`, `concrete/1` and `is_literal/1`. (They are literals in the beam file)
2018-06-28ic: Fix buffer overrun bug in oe_ei_encode_atomSverker Eriksson
bug exists since OTP-20.3.4 1d3acb70debd134c8346b7e98347171d5cf6fc62
2018-06-28Merge pull request #1848 from christhekeele/patch-1Hans Bolinder
Add missing bracket to erlang:spawn_opt/4 docs priority tuple option
2018-06-28Fix typo in erl_parse type unary_op()Péter Gömöri
2018-06-28Merge branch 'hasse/stdlib/fix_erl_anno_usage' into maintHans Bolinder
* hasse/stdlib/fix_erl_anno_usage: stdlib: Add a few uses of erl_anno
2018-06-26Update allowed tags in pre-push hook after OTP-21 releaseJohn Högberg
2018-06-26Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Prepare release Fix unsafe optimization when running beam_block the second time Fix environment case sensitivity issues on Windows
2018-06-25Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release ssh: Report the signal name if there is an exit-signal to sftpd ssh: Bug fix sftp error codes ssh: Fix ssh_xfer decode_ATTR error for Vsn=4 syntax_tools: Fix a bug regarding reverting map types. Conflicts: OTP_VERSION lib/inets/doc/src/notes.xml lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/vsn.mk lib/syntax_tools/doc/src/notes.xml lib/syntax_tools/vsn.mk otp_versions.table
2018-06-25Merge branch 'hans/ftp/21socket_opts/ERIERL-192/OTP-15120' into maintHans Nilsson
* hans/ftp/21socket_opts/ERIERL-192/OTP-15120: ftp: Disallow 'packet_size' for low-level options ftp: Socket options
2018-06-25Merge branch 'john/erts/merge-OTP-15067' into maintJohn Högberg
* john/erts/merge-OTP-15067: Don't enqueue system tasks if target process is in fail_state Fix erroneous schedule of freed/exiting processes Fix deadlock in run queue evacuation Fix memory leak of processes that died in the run queue
2018-06-25Updated OTP versionOTP-21.0.1Erlang/OTP
2018-06-25Prepare releaseErlang/OTP
2018-06-25Merge branch 'bjorn/compiler/fix-beam_utils/ERL-650/OTP-15150' into maint-21Erlang/OTP
* bjorn/compiler/fix-beam_utils/ERL-650/OTP-15150: Fix unsafe optimization when running beam_block the second time
2018-06-25Merge branch 'john/erts/win32-case-insensitive-osenv/OTP-15147/ERL-644' into ↵Erlang/OTP
maint-21 * john/erts/win32-case-insensitive-osenv/OTP-15147/ERL-644: Fix environment case sensitivity issues on Windows
2018-06-25Fix unsafe optimization when running beam_block the second timeBjörn Gustavsson
The compiler would crash when compiling code such as: serialize(#{tag := value, id := Id, domain := Domain}) -> [case Id of nil -> error(id({required, id})); _ -> <<10, 1:16/signed, Id:16/signed>> end, case Domain of nil -> error(id({required, domain})); _ -> <<8, 2:16/signed, Domain:32/signed>> end]. The crash would look like this: Function: serialize/1 t.erl: internal error in block2; crash reason: {badmatch,false} in function beam_utils:live_opt/4 (beam_utils.erl, line 861) in call from beam_utils:live_opt/1 (beam_utils.erl, line 285) in call from beam_block:function/2 (beam_block.erl, line 47) in call from beam_block:'-module/2-lc$^0/1-0-'/2 (beam_block.erl, line 33) in call from beam_block:'-module/2-lc$^0/1-0-'/2 (beam_block.erl, line 33) in call from beam_block:module/2 (beam_block.erl, line 33) in call from compile:block2/2 (compile.erl, line 1358) in call from compile:'-internal_comp/5-anonymous-1-'/3 (compile.erl, line 349) The reason for the crash is an assertion failure caused by a previous unsafe optimization. Here is the code before the unsafe optimization: . . . {bs_init2,{f,0},7,0,0,{field_flags,[]},{x,1}}. {bs_put_string,3,{string,[8,0,2]}}. {bs_put_integer,{f,0},{integer,32},1,{field_flags,[signed,big]},{y,1}}. {move,{x,1},{x,0}}. {test_heap,4,1}. . . . beam_block:move_allocate/1 moved up the test_heap/2 instruction past the move/2 instruction, adjusting the number of live registers at the same time: . . . {bs_init2,{f,0},7,0,0,{field_flags,[]},{x,1}}. %% Only x1 is live now. {bs_put_string,3,{string,[8,0,2]}}. {bs_put_integer,{f,0},{integer,32},1,{field_flags,[signed,big]},{y,1}}. {test_heap,4,2}. %Unsafe. x0 is dead. {move,{x,1},{x,0}}. . . . This optimization is unsafe because the bs_init2 instruction killed x0. The bug is in beam_utils:anno_defs/1, which adds annotations indicating the registers that are defined at the beginning of each block. The annotation before the move/2 instruction incorrectly indicated that x0 was live. https://bugs.erlang.org/browse/ERL-650 https://github.com/elixir-lang/elixir/issues/7782
2018-06-25stdlib: Add a few uses of erl_annoHans Bolinder
With DEBUG=true in erl_anno, erl_parse, and erl_pp a few (harmless) non-opaque accesses of annotations were found.
2018-06-24Add missing bracket to erlang:spawn_opt/4 priority option docsChristopher Keele
2018-06-21Updated OTP versionOTP-20.3.8.1Erlang/OTP
2018-06-21Prepare releaseErlang/OTP
2018-06-21Merge branch 'hans/ssh/sftp_ver4_xfer/ERIERL-199/OTP-15149' into maint-20Erlang/OTP
* hans/ssh/sftp_ver4_xfer/ERIERL-199/OTP-15149: ssh: Fix ssh_xfer decode_ATTR error for Vsn=4
2018-06-21Merge branch 'hans/ssh/sftp_error_codes/ERIERL-194/OTP-15148' into maint-20Erlang/OTP
* hans/ssh/sftp_error_codes/ERIERL-194/OTP-15148: ssh: Report the signal name if there is an exit-signal to sftpd ssh: Bug fix sftp error codes
2018-06-21Merge branch 'hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177' into ↵Erlang/OTP
maint-20 * hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177: syntax_tools: Fix a bug regarding reverting map types.
2018-06-21Merge branch 'hans/ftp/socket_opts/ERIERL-192/OTP-15120' into maint-20Erlang/OTP
* hans/ftp/socket_opts/ERIERL-192/OTP-15120: ftp: Disallow 'packet_size' for low-level options ftp: Socket options
2018-06-21Update pre-push hook after OTP-21 releaseSverker Eriksson
(same as 7d1b8752a7a0cd66de6b3625b3b1f7afccb6147a)
2018-06-21Fix environment case sensitivity issues on WindowsJohn Högberg
2018-06-21ssh: Report the signal name if there is an exit-signal to sftpdHans Nilsson
2018-06-21ssh: Bug fix sftp error codesHans Nilsson
Report the signal name if the signal error message is "" Do not report a return code of 0 as an error.
2018-06-20Update system_info doc to include ets_countArtur Cygan
2018-06-20Use bif for other ets tables countingArtur Cygan
2018-06-20Use bif for counting ets tables in observer backendArtur Cygan
2018-06-20travis: Enable docs deploy for all branchesLukas Larsson
2018-06-20travis: Enable delivery of docsLukas Larsson
2018-06-20ssh: Fix ssh_xfer decode_ATTR error for Vsn=4Hans Nilsson
2018-06-20Merge branch 'hans/ftp/socket_opts/ERIERL-192/OTP-15120' into ↵Hans Nilsson
hans/ftp/21socket_opts/ERIERL-192/OTP-15120 Conflicts: lib/ftp/src/ftp.erl