Age | Commit message (Collapse) | Author |
|
|
|
This fixes a fault introduced in 19.0 where an invalid
tracer would block setting of a new tracer on a process.
|
|
|
|
to include upgrade from deleted (old) module instance
|
|
* rickard/test-cuddle:
Ensure long enough sleep in driver_SUITE:timer_delay driver
|
|
|
|
|
|
* 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
|
|
* 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
|
|
Prevent binary from being prematurely GCed
|
|
|
|
* rickard/ds-trace/OTP-13822:
Fix tracing of processes executing dirty
|
|
* rickard/ds-purge-module/OTP-13808:
Perform check_process_code while process is executing dirty
Conflicts:
erts/doc/src/erl_nif.xml
|
|
'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
|
|
|
|
|
|
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.
|
|
|
|
|
|
* margnus1/erts/fix-hipe-literal-gc/PR-1122/OTP-13777:
check_process_code: Sweep HiPE stack for literals
|
|
|
|
|
|
Regression from OTP-13770 (84549af1c996657aedee1263afec28b21bfa42a4)
|
|
|
|
|
|
* lukas/erts/tracing/bif_return_to_trace_fix/OTP-13734:
erts: After a call to a tracer nif, reset htop
erts: Check if return_to trace is enabled for bif
|
|
* lukas/erts/spawn_driver_relative_cd/ERL-175/OTP-13733:
erts: Add port_SUITE:cd invalid dir testcase
erts: Fix spawn driver with relative cd option
erts: Fix HARD_DEBUG printouts in erl_child_setup
erts: Improve error printouts in erl_child_setup
Conflicts:
erts/emulator/test/port_SUITE.erl
|
|
We have to do an extra check if the return_to trace is enabled here
as it may have been cleared by the bif after the flags where
created by the call_trace.
|
|
Because check_process_code neglected checking the HiPE stack for
references to the literal area, such references would survive the purge
and subsequent deletion of a module and its literal area. These dangling
references would then cause incorrect behaviour or even hard crashes of
the VM.
By simply adding a scan of the HiPE stack to check_process_code and
erts_garbage_collect_literals, this problem is fixed.
In order to support full stack walks without deleting the graylimit
trap, a new stack walking interface function,
nstack_walk_init_sdesc_ignore_trap() was introduced.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for 9f779819f6bda734c595.
|
|
* lukas/erts/nif_allow_port_command_in_non_sched_thread/OTP-13442:
erts: Allow enif_port_command in non-sched thread
|
|
* lukas/erts/testfixes-19:
erts: Increase bif and nif call_time trace test
erts: Fix distribution_SUITE:bulk_send_bigbig on windows
erts: Ensure bs_add_overflow test has enough memory
kernel: Better explain controlling_process' tcp behaviour
kernel: Fix t_recv_delim on bsd
os_mon: Make sure to start/stop os_mon in tests correctly
ssl: Fix use_interface dist_SSL test
erl_interface: Fix signed int overflow tc bug
erts: fix atom_roundtrip_r15b tc
erts: Require more memory for debug tests
|
|
This makes the time that the tests execute longer, which means
that on systems with low resolution on timers (e.g. windows)
the test is less likely to fail.
|
|
The granualarity of the windows time sometimes makes timer:tc
return 0 as the time taken for the test. Change this to use
the most common time instead.
|
|
|
|
if node fails to start, just skip testcase
|
|
It has to be possible to send trace messages to a port
from non-schedulers threads (specifically from the
sys_msg_dispatcher).
|
|
* kvakvs/erts/monitor_port/OTP-11384:
erts: Add port monitors
|
|
* erlang:monitor/2 with port argument is added, erlang:demonitor, using port task API and avoiding locking;
* port_info and process_info support for monitored ports (with named port monitors support);
* Exit signals contain type 'process' or 'port';
* Propagation of port exit signals;
* Self-cleaning when origin process dies with monitor on;
* 8 test cases + testcase for port driver crashing;
* Documentation for all of the above (monitor, demonitor, port_info and process_info) updated
|
|
* egil/lttng-change-domain:
runtime_tools: Change LTTng dyntrace domain
erts: Change LTTng otp domain
|