Age | Commit message (Collapse) | Author |
|
|
|
|
|
Use same message when there are packet errors like too long length, MAC, decrypt or decode errors.
This is regarded as good practise to prevent some attacks
|
|
* raimo/snmp/compile-enum-refinement/ERL-325/OTP-14145:
Bump version
Do without compilation time in SNMP versions[12]()
Test enum refinement MIB
Fix enum refinement in usertype in SYNTAX
|
|
Add a missing aes_gcm -spec clause to crypto:block_encrypt/4
|
|
* egil/cuddle-tests:
stdlib: Increase timetrap for rand_SUITE
common_test: Increase timetrap for cth_hooks_SUITE
compiler: Increase timetrap timeouts for lc_SUITE
|
|
* sverker/trace_gc-bug:
erts: Fix GC tracing to use temp heap
erts: Assert sufficient space need after GC
|
|
|
|
|
|
OTP-14153
* rickard/hipe_handle_exception:
Remove debug printout and unnecessary GC
|
|
|
|
ssh: Correct ssh_sftpd_file_api dialzyer spec
|
|
* rickard/no-harddebug:
Do not automatically define HARDDEBUG when DEBUG is defined
|
|
OTP-14135
* rickard/abandoned-heap-bugs:
Fix memory leak of temporary heap
|
|
* ingela/ssl/hs-stream/OTP-14138:
ssl: Handle really big handshake packages
|
|
If a handshake message is really big it could happen that the ssl
process would hang due to failing of requesting more data from the
socket. This has been fixed.
Also added option to limit max handshake size. It has a default
value that should be big enough to handle normal usage and small
enough to mitigate DoS attacks.
|
|
Fix https://bugs.erlang.org/browse/ERL-336.
|
|
|
|
|
|
|
|
|
|
This bug was introduced in previous commit, and has never been
released in an official OTP version.
|
|
Include explicit attrs when default_attrs=true
|
|
The `State` seems to have been included twice in 91acfc.
|
|
* hasse/stdlib/fix_anno_types/OTP-14131:
stdlib: Correct signatures of functions in erl_parse
|
|
Travis: Simplify running of dialyzer
|
|
OTP-14122
* rickard/ds-fixes:
Fix call time tracing with dirty schedulers
|
|
|
|
|
|
* sverker/make-export-fun-race/OTP-14144:
erts: Fix race bug between export fun creation and code loading
|
|
Now that dialyzer has been optimized for memory usage,
we can combine the dialyzer invocations that use the same
options.
|
|
Symptom: SEGV crash on ARM in delete_code() -> export_list().
Could probably happen on other machines as well.
Problem: Staging export table was iterated in an unsafe way
while an entry was added for a new export fun.
Solution: Correct write order and some memory barriers.
|
|
* hasse/dialyzer/memory_opt/OTP-14126:
dialyzer: Compact 'file' annotations in Core code
dialyzer: Try to reduce memory usage
dialyzer: Use less memory when translating contracts
dialyzer: Use maps instaed of dict
dialyzer: Use maps instead of dict for module contracts map
dialyzer: Compress a few more ETS tables
dialyzer: Optimize memory consumption
dialyzer: Reduce memory consumption during 'remote' phase
dialyzer: Update code for finding parallelism
compiler: Do not spawn process when dialyzing
dialyzer: Reduce ETS usage during the typesig phase
dialyzer: Optimize graph condensation
dialyzer: Do not send full PLTs as messages
|
|
|
|
OTP-14136
* rickard/nif-call-time-trace-bug:
Fix call_time trace for NIFs
|
|
OTP-14134
OTP-14135
* rickard/abandoned-heap-bugs:
Fix issues with abandoned heap
|
|
* rickard/test-fix:
Fix processes() BIF test cases
|
|
* rickard/debug-fix:
Fix faulty assertion
|
|
OTP-14133
* rickard/crashdump-timer-fix:
Fix printout of timer data in crash dump
|
|
* siri/ct/add_app_tests:
Add ct_default_gl to common_test.app.src
[ct] Add tests for .app and .appup files
|
|
File annotations {file, File} in Core Erlang code is replaced by
{file, FakeFile}, where FakeFile is "0", "1", ..., in order to save
memory. When a warning message is created, FakeFile is translated to
the original File (a bit awkward but easy to do).
The Core code stored in ETS tables needs less space, but more
important is that a less heap memory is used in the dataflow,
warnings, and typesig phases, allowing more parallelism.
|
|
The translation from forms to types is done in a separate process
in an attempt to reduce peak memory usage.
Expect further optimizations as it is probably not feasible
in the long run to keep all type information on the heap.
|
|
|
|
|
|
|
|
|
|
Some SCC info is no longer cached. It reduces the peak memory
consumption of workers during the typesig phase, and seems to cost
very little time.
|
|
The cache used for speeding up the translation from forms to types is
no longer global, but reset per module. The peak memory consumption
is reduced, and the added time seems to be small.
|
|
Using erlang:system_info(schedulers_online) for determining
parallelism is recommended by OTP experts. It takes care of "+S 4:1"
and simultaneous loading of HiPE code.
|
|
Memory consumption is reduced during the compilation phase by keeping
the Core parse tree shared. In particular the file annotation takes a
lot of memory when not shared.
|