aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2016-09-14erts: Improve nif_SUITE:upgrade testSverker Eriksson
to include upgrade from deleted (old) module instance
2016-09-14Don't leak old code when loading a modules with an on_load functionBjörn Gustavsson
Normally, calling code:delete/1 before re-loading the code for a module is unnecessary but causes no problem. But there will be be problems if the new code has an on_load function. Code with an on_load function will always be loaded as old code to allowed it to be easily purged if the on_load function would fail. If the on_load function succeeds, the old and current code will be swapped. So in the scenario where code:delete/1 has been called explicitly, there is old code but no current code. Loading code with an on_load function will cause the reference to the old code to be overwritten. That will at best cause a memory leak, and at worst an emulator crash (especially if NIFs are involved). To avoid that situation, we will put the code with the on_load function in a special, third slot in Module. ERL-240
2016-09-14Merge branch 'bjorn/erts/start-scripts/ERL-250' into maintBjörn Gustavsson
* bjorn/erts/start-scripts/ERL-250: Turn off parallel make for start scripts Makefile
2016-09-14Merge branch 'rickard/test-cuddle' into maintRickard Green
* rickard/test-cuddle: Ensure long enough sleep in driver_SUITE:timer_delay driver
2016-09-14Merge branch 'maint-19' into maintHenrik Nord
2016-09-13Prepare releaseErlang/OTP
2016-09-13Fix crash due to heap fragments left after GCRickard Green
Do not decode distribution messages as part of the GC operation. Distribution messages containing maps may generate heap fragments.
2016-09-13Turn off parallel make for start scripts MakefileBjörn Gustavsson
At least on macOS (OS X), /usr/bin/install does not seem to be thread-safe when creating directories. That is, if several invocations of /usr/bin/install attempts to create the same directory, one or more of the invocations may fail with an error, causing the build to fail. Avoid the problem by turning off parallel make for the Makefile in erts/start_scripts. Reported-by: https://bugs.erlang.org/browse/ERL-250
2016-09-09Fix restore of 'current' field when rescheduled NIF completesRickard Green
2016-09-07Merge branch 'egil/erts/start-scripts-dependency/ERL-241/OTP-13871' into maintBjörn-Egil Dahlberg
* egil/erts/start-scripts-dependency/ERL-241/OTP-13871: erts: Fix start scripts generation dependency in Makefile
2016-09-06Merge branch 'sverker/beam-too-few-functions/ERL-244/OTP-13848' into maintSverker Eriksson
* sverker/beam-too-few-functions/ERL-244: erts: Reject beam file with too few functions
2016-09-06erts: Fix start scripts generation dependency in MakefileBjörn-Egil Dahlberg
Reported-by: Kent Fredric
2016-09-06Merge branch 'hasse/doc/format_man_pages_utf8' into maintHans Bolinder
* hasse/doc/format_man_pages_utf8: doc: Use groff with -Tutf8
2016-09-06Merge branch 'rickard/thr-prgr-unmanaged-delay-bug/OTP-13869' into maintRickard Green
* rickard/thr-prgr-unmanaged-delay-bug/OTP-13869: Fix erts_thr_progress_unmanaged_delay()
2016-09-06Merge branch 'rickard/drv-send-term-thr-bug/OTP-13866' into maintRickard Green
* rickard/drv-send-term-thr-bug/OTP-13866: Fix thread calls to erl_drv_send_term()/erl_drv_output_term() Conflicts: erts/emulator/beam/io.c
2016-09-06doc: Use groff with -Tutf8Hans Bolinder
2016-09-05Fix erts_thr_progress_unmanaged_delay()Rickard Green
Thread progress leader update did not cache current unmanaged index when waiting for unmanaged threads. This caused erts_thr_progress_unmanaged_delay() to stop working until a new leader took over.
2016-09-05Merge branch 'lukas/erts/epmd_xmllint_fix' into maintLukas Larsson
* lukas/erts/epmd_xmllint_fix: epmd: Fix xmllint error in comsummary
2016-09-05Merge branch 'lukas/erts/fix_signalhandler_errno_restore/OTP-13868' into maintLukas Larsson
* lukas/erts/fix_signalhandler_errno_restore/OTP-13868: erts: Fix child setup signal hander bug
2016-09-05Merge branch 'lukas/erts/tracing/fix_sparc_align_issue/OTP-13803' into maintLukas Larsson
* lukas/erts/tracing/fix_sparc_align_issue/OTP-13803: erts: Immed tracer states also have to be alignable
2016-09-05Fix thread calls to erl_drv_send_term()/erl_drv_output_term()Rickard Green
2016-09-05erts: Reject beam file with too few functionsSverker Eriksson
2016-09-02Introduce literal sweep of native stack in new purge strategyRickard Green
2016-09-02Ensure long enough sleep in driver_SUITE:timer_delay driverRickard Green
2016-09-02erts: Fix child setup signal hander bugLukas Larsson
When running the signal handler, the errno has to be restored to its original value, otherwise code running in the same thread may misbehave.
2016-09-02Merge branch 'hasse/doc/fix_editorial_changes' into maintHans Bolinder
* hasse/doc/fix_editorial_changes: doc: Correct errors introduced by Editorial changes
2016-09-01Merge branch 'rickard/new-purge-strategy/OTP-13833' into maintRickard Green
* rickard/new-purge-strategy/OTP-13833: Fix reclaim of literal areas Conflicts: erts/emulator/beam/beam_bif_load.c
2016-09-01Fix reclaim of literal areasRickard Green
2016-09-01doc: Correct errors introduced by Editorial changesHans Bolinder
Fix some older errors as well.
2016-09-01Merge branch 'hasse/doc/fix_xmllint_warnings' into maintHans Bolinder
* hasse/doc/fix_xmllint_warnings: Fix xmllint-warnings
2016-08-31Merge branch 'rickard/mbuf_sz/OTP-13851' into maintRickard Green
* rickard/mbuf_sz/OTP-13851: Ensure correct mbuf_sz value in process structure
2016-08-31epmd: Fix xmllint error in comsummaryLukas Larsson
2016-08-31Merge branch 'rickard/premature-timeout/OTP-13698' into maintRickard Green
* rickard/premature-timeout/OTP-13698: Improve accuracy of timeouts using premature timeouts
2016-08-31Fix xmllint-warningsHans Bolinder
2016-08-30Fix is-dirty-cpu/is-dirty-io scheduler predicatesRickard Green
2016-08-30Ensure correct mbuf_sz value in process structureRickard Green
2016-08-30Merge branch 'rickard/time-unit/OTP-13735' into maintRickard Green
* rickard/time-unit/OTP-13735: Update test-cases to use new symbolic time units Replace misspelled symbolic time units Conflicts: erts/doc/src/erlang.xml erts/emulator/test/long_timers_test.erl
2016-08-30erts: Improve z_SUITE:core_filesSverker Eriksson
to print name of test log dir in same dir as core, which will indicate offending application.
2016-08-30Merge branch 'rickard/ds-win-32bit/OTP-13759' into maintRickard Green
* rickard/ds-win-32bit/OTP-13759: Fix dirty schedulers build on windows
2016-08-30Merge branch 'rickard/test-cuddle' into maintRickard Green
* rickard/test-cuddle: Fix dirty_nif_SUITE:dirty_call_while_terminated test case Adjust process_SUITE:no_priority_inversion2 Allow larger timeout delay in driver_SUITE Ignore long time failures during high CPU utilization Cleanup in statistics_SUITE:runtime_update test Improve timer tests in driver_SUITE Fix statistics_SUITE:scheduler_wall_time test Fix scheduler_SUITE:scheduler_suspend test Fix scheduler_SUITE:scheduler_threads test Fix scheduler_SUITE:update_cpu_info test Skip nif_SUITE:consume_timeslice test when debug compiled Increase time margin in timer_bif_SUITE:start_timer_1 test
2016-08-30Fix dirty_nif_SUITE:dirty_call_while_terminated test caseRickard Green
Prevent binary from being prematurely GCed
2016-08-30Adjust process_SUITE:no_priority_inversion2Rickard Green
2016-08-30Merge branch 'sverker/load-corrupt-beam/ERL-216/OTP-13848' into maintSverker Eriksson
* sverker/load-corrupt-beam/ERL-216: erts:: Unsignify a bunch of loader variables erts: Reject an invalid beam code header size erts: Fix load of beam with invalid imports and atom numbers
2016-08-29Merge branch 'rickard/ds-trace/OTP-13822' into maintRickard Green
* rickard/ds-trace/OTP-13822: Fix tracing of processes executing dirty
2016-08-29Merge branch 'rickard/ds-purge-module/OTP-13808' into maintRickard Green
* rickard/ds-purge-module/OTP-13808: Perform check_process_code while process is executing dirty Conflicts: erts/doc/src/erl_nif.xml
2016-08-29Merge branch 'rickard/fun-purge-bug/OTP-13809' and ↵Rickard Green
'rickard/new-purge-strategy/OTP-13833' into maint * rickard/fun-purge-bug/OTP-13809: Fix purge of code Reclaim literal area after purge has completed Separate literal area from code Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/erl_init.c erts/preloaded/ebin/init.beam
2016-08-29Fix tracing of processes executing dirtyRickard Green
2016-08-29Perform check_process_code while process is executing dirtyRickard Green
2016-08-29Fix purge of codeRickard Green
Ensure that we cannot get any dangling pointers into code that has been purged. This is done by a two phase purge. At first phase all fun entries pointing into the code to purge are marked for purge. All processes trying to call these funs will be suspended and by this we avoid getting new direct references into the code. When all processes has been checked, these processes are resumed. The new purge strategy now also completely ignore the existence of indirect references to the code (funs). If such exist, they will cause bad fun exceptions to the caller, but will not prevent a soft purge or cause a kill of a process having such live references during a hard purge. This since it is impossible to give any guarantees that no processes in the system have such indirect references. Even when the system is completely clean from such references, new ones can appear via distribution and/or disk.
2016-08-26Reclaim literal area after purge has completedRickard Green