Age | Commit message (Collapse) | Author |
|
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
|
|
* bjorn/erts/start-scripts/ERL-250:
Turn off parallel make for start scripts Makefile
|
|
* bjorn/compiler/beam_validator/OTP-13863:
beam_validator: Handle unreachable instructions
|
|
* rickard/test-cuddle:
Ensure long enough sleep in driver_SUITE:timer_delay driver
|
|
|
|
* ingela/ssl/packet-tests:
ssl: Add timetrap scale calls
ssl: Add nodelay to packet=0|raw tests
|
|
|
|
|
|
* rickard/dist-map-gc-fix/OTP-13889:
Fix crash due to heap fragments left after GC
|
|
|
|
Do not decode distribution messages as part of the GC operation.
Distribution messages containing maps may generate heap fragments.
|
|
ab03678e introduced an optimization in the beam_z pass that could
introduce unreachable code in BEAM files (a 'jump' instruction is
removed after a 'raise' instruction, but the code following the
target of the 'jump' is not removed).
Since this situation happens very rarely, there is no point in adding
another pass that can remove unreachable code after beam_z. Instead we
will make sure that beam_validator can skip the unreachable code.
Skipping unreachable code is already done in valfun_1/2 (for
historical reasons), but we will also need to do it in val_dsetel/2.
|
|
|
|
* hasse/parsetools/suppress_dialyzer_warnings/OTP-13681:
parsetools: Suppress Dialyzer-warnings
|
|
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
|
|
* anders/diameter/19.1/OTP-13838:
vsn -> 1.12.1
Update appup for 19.1
Fix xmllint errors in documentation
Remove documentation overkill
Don't run traffic tests in parallel when {string_decode, true}
Remove copyright from generated dictionary modules
Fix dictionary function typo
Fix dictionary typo in relay example
|
|
* anders/diameter/failover/OTP-13412:
Make peer failover more efficient
|
|
* anders/diameter/min_heap_size/OTP-13796:
Let unfortunate min_heap_size setting be disabled
|
|
* anders/diameter/19/listen/OTP-13787:
Close listening sockets at service death
|
|
* ferd/bypass-pem-cache/PR-1143/OTP-13883:
ssl: Add documentation of bypass_pem_cache application environment configuration
ssl: Add new benchmarks to skip file for normal testing
Adding PEM cache bypass benchmark entries
Fixing CRL searching in cache bypass
Add option to bypass SSL PEM cache
|
|
* ingela/snmp/ipv6-tests:
snmp: Use ipv6 common test configuration check
|
|
The test for ipv6 could return false positives which resulted in failing
test cases due lack of full ipv6 support.It could be nice with a working
run-time check but this will do for now.
|
|
* ingela/ssl/clean-env:
ssl: Make sure tests get a clean start
|
|
|
|
* lars/xmerl-anchor-problems/OTP-13880:
[xmerl] Fix link problems in documentation
|
|
When using Yecc's operator precedence declarations (Right, Nonassoc,
Left), it is possible that some clauses of the generated code are
unreachable. Dialyzer complains, at least if SET_LIMIT in erl_types is
set sufficiently high (to avoid sets of integers to collapse to the
integer() type). Rather than trying to figure out exactly which
clauses are unreachable, Yecc generates a Dialyzer suppression.
|
|
into maint
* margnus1/dialyzer/fix_maps_opaque/ERL-249/PR-1161/OTP-13878:
erl_bif_types: Properly unopaque maps:merge/2 args
|
|
|
|
|
|
OTP-13412 more efficient peer failover
OTP-13787 close listening sockets
OTP-13796 min_heap_size
OTP-13838 typo in diameter_traffic
No load order requirements.
|
|
The setting in all diameter server processes has existed since the
beginning of time. Whether it's actually useful is questionable, but it
does lead to increased memory usage, especially if there are many peer
connections whose processes wouldn't otherwise be large. Let the setting
be disabled with -diameter min_heap_size false. (Or any value that isn't
a non-negative integer.)
The diameter application itself only calls
diameter_lib:spawn_opts(server, []), but let other arguments remain for
backwards compatibility, since diameter_lib:spawn_opts/2 has been abused
from outside of diameter.
|
|
* ingela/snmp/app-test:
snmp: Uncomment compiler files in app.src file
snmp: Use built-in support for testing application files
|
|
The files are not used in runtime of the snmp app, but they are still
part of the application and beam files are generated. Not including them
will make the general app test fail.
|
|
|
|
* ingela/diameter/cuddle-tests:
diameter: Do not test SCTP on sparc-sun-solaris2.10
|
|
The SCPT stack has a different behavior in solaris2.10 then in later versions
and linux. Diameter implementation does not support this behavior.
|
|
* rickard/nif-restore-current/OTP-13877:
Fix restore of 'current' field when rescheduled NIF completes
|
|
|
|
maint
* michaesc/crypto/honour-OPENSSL_NO_DES/ERL-203/OTP-13783:
Add '_cfb' alias for misspelled '_cbf' cipher
Fix badarg -> notsup and test cases
Honour OPENSSL_NO_DES
Conflicts:
lib/crypto/c_src/crypto.c
|
|
erl_bif_types:type/5 was calling erl_types:map_pairwise_merge/3 directly
with its (potentially opaque) arguments, causing Dialyzer crashes.
Bug (ERL-249) reported and minimised test case provided by Felipe
Ripoll.
|
|
|
|
* egil/hipe/fix-match-order-opaque-types/OTP-13876:
hipe: Fix erl_types opaque match order
|
|
* egil/erts/start-scripts-dependency/ERL-241/OTP-13871:
erts: Fix start scripts generation dependency in Makefile
|
|
* bjorn/compiler/lc-internal-failure/OTP-13863:
sys_core_fold: Don't move a fun into a guard
|
|
* lars/utf-8-path-bugs/ERL-179/OTP-13718:
[snmp] Correct bug when path to mib contains UTF-8 characters
[ic] Fix but when UTF-8 character in path to idl spec
|
|
|
|
The path is only used when writing a comment so the correction
just allowed UTF-8 characters in that io_lib:format call.
IC don't support UTF-8 in the specs or their names
(generated modules contains coding: latin-1) but the path is
only used in a comment so it's not a problem if it can't be
written correctly as long as nothing fails.
|
|
OTP-13633
|
|
* ingela/ssl/ssl_basic_SUITE-timeouts:
ssl: Tune timeout
ssl: Consistent timeout handling
|
|
|