aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-08-31Fix an endless rescheduling loop when a process is executing ↵Maxim Fedorov
process_info(self(), ...) It is possible that a process has to yield before completing process_info BIF when it runs out of reductions. If this BIF is called by the process itself, it does not send a signal but executes in the context of a process. If it has to yield, it turns F_LOCAL_SIGS_ONLY flag on, which means new signals won't be fetched from the outer message queue. When the same process needs to execute dirty system code (e.g. dirty GC) it has to be run on a dirty scheduler. However signals enqueued into outer queue cause it to be rescheduled on a normal scheduler. F_LOCAL_SIGS_ONLY prevent outer queue signals delivery, creating an endless rescheduling loop. This commit disengages F_LOCAL_SIG_ONLY if process needs to execute dirty code in order to complete signal delivery and allow process to be moved to dirty run queue.
2018-08-29Updated OTP versionOTP-21.0.7Erlang/OTP
2018-08-29Update release notesErlang/OTP
2018-08-29Update version numbersErlang/OTP
2018-08-29Merge branch 'rickard/running-trace-fix/ERL-713/OTP-15269' into maint-21Erlang/OTP
* rickard/running-trace-fix/ERL-713/OTP-15269: Fix missing 'in' trace events during 'running' trace
2018-08-29Merge branch 'rickard/fix-suspend-monitor-down/OTP-15237/ERL-704' into maint-21Erlang/OTP
* rickard/fix-suspend-monitor-down/OTP-15237/ERL-704: Fix incoming suspend monitor down
2018-08-27Fix missing 'in' trace events during 'running' traceRickard Green
'in' trace events could be lost when a process had to be rescheduled on another scheduler type (normal <-> dirty).
2018-08-23Updated OTP versionOTP-21.0.6Erlang/OTP
2018-08-23Prepare releaseErlang/OTP
2018-08-23Merge branch 'lars/crypto/multiple-engine-load-21/OTP-15233' into maint-21Erlang/OTP
* lars/crypto/multiple-engine-load-21/OTP-15233: Updated the engine load functionality
2018-08-23Merge branch 'ingela/maint-21/inets/status-501/ERIERL-218/OTP-15215' into ↵Erlang/OTP
maint-21 * ingela/maint-21/inets/status-501/ERIERL-218/OTP-15215: inets: Prepare for release inets: Use status code 501 when no mod_* handles the request ssl: Make sure that a correct cipher suite is selected
2018-08-23Merge branch 'ingela/ssl/maint-21/ECC/ERIERL-210/OTP-15203' into maint-21Erlang/OTP
* ingela/ssl/maint-21/ECC/ERIERL-210/OTP-15203: ssl: Prepare for release ssl: Make sure that a correct cipher suite is selected
2018-08-23Updated the engine load functionalityLars Thorsen
- engine_load/3/4 can be called multiple times for same engine if it allows it (eg doesn't contain global data) - ensure_engine_loaded/2/3 is new functions that guarantees that the engine is just loaded once by adding it to OpenSSL internal engine list and check that before loading. - ensure_engine_unloaded/1/2 is new functions that is used to unload engines loaded with ensure_engine_loaded (remove it from OpenSSL internal engine list and then unload). - new utility functions engine_by_id/1, engine_add/1, engine_remove/1, engine_get_id/1 and engine_get_name/1 Conflicts: lib/crypto/c_src/crypto.c
2018-08-20Fix incoming suspend monitor downRickard Green
An incoming suspend monitor down wasn't handled correct when the local monitor half had been removed with an emulator crash as result.
2018-08-15inets: Prepare for releaseIngela Anderton Andin
2018-08-15inets: Use status code 501 when no mod_* handles the requestIngela Anderton Andin
Conflicts: lib/inets/test/httpd_SUITE.erl
2018-08-13ssl: Prepare for releaseIngela Anderton Andin
2018-08-10Updated OTP versionOTP-21.0.5Erlang/OTP
2018-08-10Update release notesErlang/OTP
2018-08-10Update version numbersErlang/OTP
2018-08-10Merge branch 'john/crypto/fix-segfault-on-badarg/OTP-15194/ERL-673' into ↵Erlang/OTP
maint-21 * john/crypto/fix-segfault-on-badarg/OTP-15194/ERL-673: crypto: Fix crash in compute_key(ecdh, ...) on badarg
2018-08-10Merge branch ↵Erlang/OTP
'john/compiler/fix-deterministic-include-paths/OTP-15204/ERL-679' into maint-21 * john/compiler/fix-deterministic-include-paths/OTP-15204/ERL-679: Omit include path debug info for +deterministic builds # Conflicts: # lib/compiler/test/compile_SUITE.erl
2018-08-10Merge branch 'rickard/full-cache-nif-env/OTP-15223/ERL-695' into maint-21Erlang/OTP
* rickard/full-cache-nif-env/OTP-15223/ERL-695: Fix caching of NIF environment when executing dirty # Conflicts: # erts/emulator/beam/erl_nif.c
2018-08-10Merge branch 'dotsimon/ref_ordering_bug/OTP-15225' into maint-21Erlang/OTP
* dotsimon/ref_ordering_bug/OTP-15225: Fixed #Ref ordering bug Test #Ref ordering in lists and ets
2018-08-09crypto: Fix crash in compute_key(ecdh, ...) on badargJohn Högberg
When term2point was passed a non-binary argument, `my_ecpoint` would be left uninitialized and the cleanup code would free a garbage pointer.
2018-08-09ssl: Make sure that a correct cipher suite is selectedIngela Anderton Andin
The keyexchange ECDHE-RSA requires an RSA-keyed server cert (corresponding for ECDHE-ECDSA), the code did not assert this resulting in that a incorrect cipher suite could be selected. Alas test code was also wrong hiding the error.
2018-08-09ssl: Make sure that a correct cipher suite is selectedIngela Anderton Andin
The keyexchange ECDHE-RSA requires an RSA-keyed server cert (corresponding for ECDHE-ECDSA), the code did not assert this resulting in that a incorrect cipher suite could be selected. Alas test code was also wrong hiding the error.
2018-08-09Omit include path debug info for +deterministic buildsJohn Högberg
Compiling the same file with different include paths resulted in different files with the `+deterministic` flag even if everything but the paths were identical. This was caused by the absolute path of each include directory being unconditionally included in a debug information chunk. This commit fixes this by only including this information in non-deterministic builds.
2018-08-09Fix caching of NIF environment when executing dirtyRickard Green
2018-08-09Fixed #Ref ordering bugSimon Cornish
2018-08-09Test #Ref ordering in lists and etsSimon Cornish
2018-07-18Updated OTP versionOTP-21.0.4Erlang/OTP
2018-07-18Update release notesErlang/OTP
2018-07-18Update version numbersErlang/OTP
2018-07-18Merge branch 'john/erts/kqueue-stdin-polling/OTP-15169/ERL-647' into maint-21Erlang/OTP
* john/erts/kqueue-stdin-polling/OTP-15169/ERL-647: Use fallback pollset for stdin and friends when using kqueue
2018-07-18Merge branch 'john/erts/fix-literal-map-elements/OTP-15184' into maint-21Erlang/OTP
* john/erts/fix-literal-map-elements/OTP-15184: Fix a rare crash when matching on literal maps
2018-07-18Merge branch 'john/erts/fix-read_file_info-crash/OTP-15196/ERL-674' into ↵Erlang/OTP
maint-21 * john/erts/fix-read_file_info-crash/OTP-15196/ERL-674: Fix node crash on passing bad arguments to file:read_file_info/2
2018-07-18Fix node crash on passing bad arguments to file:read_file_info/2John Högberg
2018-07-13Fix a rare crash when matching on literal mapsJohn Högberg
When matching on a literal map, the map is placed into the general scratch register first. This is fine in isolation, but when the key to be matched was in a Y register it would also be placed in the scratch register, overwriting the map and crashing the emulator.
2018-07-12Updated OTP versionOTP-21.0.3Erlang/OTP
2018-07-12Update release notesErlang/OTP
2018-07-12Update version numbersErlang/OTP
2018-07-12Merge branch 'john/erts/fix-dirty-reschedule-bug/OTP-15154' into maint-21Erlang/OTP
* john/erts/fix-dirty-reschedule-bug/OTP-15154: Move to a dirty scheduler even when we have pending system tasks
2018-07-12Merge branch 'john/erts/fix-21.0.2-release-notes' into maint-21Erlang/OTP
* john/erts/fix-21.0.2-release-notes: Fix release notes for OTP-21.0.2
2018-07-12Merge branch 'rickard/trace-info-bug/OTP-15183' into maint-21Erlang/OTP
* rickard/trace-info-bug/OTP-15183: Fix trace_info/2
2018-07-12Merge branch 'rickard/corba-build/OTP-15176' into maint-21Erlang/OTP
* rickard/corba-build/OTP-15176: Provide build support for standalone corba repo
2018-07-12Fix trace_info/2Rickard Green
2018-07-12Provide build support for standalone corba repoRickard Green
2018-07-04Fix release notes for OTP-21.0.2John Högberg
The release notes generated in the README and notes.xml were out of sync, and notes.xml erroneously listed a fixed bug as open.
2018-07-03Use fallback pollset for stdin and friends when using kqueueJohn Högberg
This is a hack to make the "noshell" option work; kqueue can poll these fds but will not report EV_EOF. This may be common to all all pipes but we have no way to tell whether an fd is a pipe or not.