Age | Commit message (Collapse) | Author |
|
* rickard/statistics/OTP-14484:
Fix statistics(wall_clock) and statistics(runtime) implementation
|
|
into maint-20
* lukas/erts/fix_outputv_port_task_cleanup/ERL-428/OTP-14481:
fixup! erts: Cleanup dropped port tasks correctly
erts: Add tests to detect port close race
erts: Cleanup dropped port tasks correctly
|
|
* john/erts/fix-port-leak/OTP-13939/ERL-193:
Add a testcase for OTP-13939/ERL-193
Mark socket disconnected on tcp_send_or_shutdown_error
# Conflicts:
# lib/kernel/test/gen_tcp_misc_SUITE.erl
|
|
|
|
|
|
|
|
|
|
OTP-14337
* rickard/t2b-latin1-atom:
Fix minor vsn 1 in term_to_binary/2 broken in this branch
|
|
|
|
OTP-14337
* rickard/t2b-latin1-atom:
Update primary bootstrap
Update preloaded modules
Fix erl_interface tests
Introduce minor vsn 2 in term_to_binary/2
Revert "kernel: Try mend disk_log whitebox tests"
Revert "erts: Do not generate atoms on old latin1 external format"
|
|
|
|
|
|
Before this fix, the extra data attached to a port task had to
be cleaned up by the calling function. This caused problems
because the outputv call, co-allocates the extra data with the
port task. So in rare circumstances the port task would be
free'd before the extra data was free'd which led to segfault
when looking at the port task.
This has been fixed by the generic PORT_TASK_ABORT behaviour
being used even for tasks dropped in the erts_schedule_proc2port_signal
API.
|
|
The socket left lingering due to {exit_on_close, false} will accept writes
in a confusing way, returning either enotconn or blocking. This fix allows
socket to know that it has been closed recently, and new writes won't pass.
|
|
This reverts commit 65b04e233e09e3cc2e0fda3c28e155b95c5a4baf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add z_SUITE:leaked_processes/1 to print the process information for
all new processes created during execution of the emulator test
suite. Test cases are not supposed leak processes, because that
could disturb later test cases.
|
|
|
|
|
|
|
|
|
|
Add enif_whereis_pid() and enif_whereis_port() functions
OTP-14453
|
|
* maint:
Updated OTP version
Update release notes
Update version numbers
erts: Fix so that 81b628 (sigterm=kill) works
Updated OTP version
Prepare release
Unconditionally clear IO buffers on send/shutdown errors
Conflicts:
OTP_VERSION
erts/emulator/sys/unix/sys.c
erts/vsn.mk
|
|
* rickard/purge-hibernated-20:
Update testcase to check that purge handle hibernated process correct
Do not GC hibernated process from other processes
Fix check_process_code() on hibernated process
|
|
* bjorn/cuddle-with-tests:
Stabilize call_with_huge_message_queue/1
same_time_yielding/1: Avoid failing if there are many schedulers
Remove obsolete old_scheduler_SUITE
Robustify process_SUITE:spawn_opt_max_heap_size/1
Contain damage cause by spawn_opt_max_heap_size failing
Make bulk_send_bigbig/1 purely informational
distribution_SUITE: Refactor bulk_send_bigbig/1
receive_SUITE: Remove ?line macros
Lengthen too short timetraps
Fix process_SUITE:low_prio/1
|
|
* bjorn/erts/fix-sys-task-cleanup:
Make sure that asynchronous replies are not lost
|
|
* lukas/erts/fix_zz_sigterm_kill/OTP-14451:
erts: Fix so that 81b628 (sigterm=kill) works
|
|
* rickard/purge-hibernated-19/ERIERL-24/OTP-14444:
Update testcase to check that purge handle hibernated process correct
Do not GC hibernated process from other processes
Fix check_process_code() on hibernated process
|
|
* john/erts/fix-zombie-tcp-ports/ERL-430/OTP-14441:
Unconditionally clear IO buffers on send/shutdown errors
|
|
* lukas/erts/sendfile_sunos_fix/OTP-14424:
erts: Fix sendfile closeduring scenario on sunos
|
|
On Solaris, giving a too long sfv_len results in an
EINVAL error, but data is still transmitted and len is
correctly. So we translate this to a success with that
amount of data sent. This may hide some other errors
that causes EINVAL, but it is the best we can do for now.
|
|
OTP-14451
|
|
Time measurements are always tricky, particulary on virtual hosts.
On one particular virtual host, the measured times were often 0.
Measuring the time for 100 calls instead of 10 calls helps, but
0 can still be returned, so we will also need to discard
measurements that return 0 and try again.
|
|
On a computer with 32 schedulers, there would be 9632 (301*32)
'timeout' message in the receive queue. Receiving them with a
selective receive (matching on the timer ID) is quite slow.
Change the test case to read out the queue in the order the
messages are stored in the queue.
|
|
old_scheduler_SUITE was written before the SMP emulator.
It does not test anything that scheduler_SUITE does not
test. Keeping it wastes time when running the emulator
test suite, and does not help us find any bugs that
scheduler_SUITE would find.
|
|
process_SUITE starts os_mon in init_per_suite/1. Therefore,
there may be occasional alarm info messages received. Make
sure that they are ignored and don't cause the test fail to
fail.
Also, get rid of the flush/0 function that discards all
messages in the message queue. Instead, be more selective
and only discard {error, ...} messages.
|
|
If process_SUITE:spawn_opt_max_heap_size/1 failed, the default
value for the maximum heap size could have been changed. That
would cause other test cases that spawned huge processes to
fail.
Contain the damage by always restoring the default value
for max_heap_size in end_per_testcase/2.
|
|
bulk_send_bigbig/1 sometimes fails even if there is nothing wrong.
Stop testing the ratio, and just return information about the speed
and number of monitor messages. The testcase will still serve as a
smoke test of the +zdbbl option.
|
|
Refactor bulk_send_bigbig/1 to make it somewhat easier to follow.
|
|
|
|
c062dfc485a added timetraps to test suites that had no timetraps.
Some of added timetraps are only 5 or 10 seconds, which is can be
too short time on some slow computers. Change those times to one
or two minutes.
|
|
It is expected that low-priority processes should be allowed
to run about 1/8 of the time of normal-priority processes.
The proportion calculated was usually considerably lower than
1/8. It seems that the main reason is the punishement in
reductions when sending to a process that alreday has many
messages in the message queue. I have verified that by running
the emulator with the +snsp to turn off the send punishment.
To avoid that punishment, let the server process run at high
priority so that it can keep its message queue short.
It seems that the proportion is now very close to 1/8. Therefore,
we can tighten the margins for the proportion.
|