Age | Commit message (Collapse) | Author |
|
* ingela/ssl/AES-CCM/OTP-15626:
ssl: Adapt DTLS code to optimizations
ssl: Add support AES_CCM cipher suites form RFC 6655
|
|
* ingela/ssl/shutdown-reason/ERL-893/OTP-15710:
ssl: Add missing tuple in shutdown reason
|
|
* hasse/syntax_tools/unicode_filename:
syntax_tools: Fix handling of Unicode filenames
|
|
|
|
* sverker/process_info-reductions-fix/OTP-15709:
erts: Fix bug in process_info(reductions)
erts: Use ptr_val for pointer in gc msg copy
|
|
* kjell/stdlib/map_hash_bug/OTP-15707:
Fix out of memory bug in the implementation of maps
|
|
This commit fixes a bug that could cause a crash or memory usage to
grow until the machine ran out of memory when adding a key-value pair
to a map. This could happen when inserting a new key-value pair with a
key K1 containing a binary B1 into a map M having a key K2 with a
binary B2 if the following conditions were met:
* size(B1) >= 4294967296
* size(B2) >= 4294967296
* size(M) >= 32
* (size(B1) rem 4294967296) == (size(B2) rem 4294967296)
* the first (size(B1) rem 4294967296) bytes are the same both in B1
and B2
* substituting B1 in K1 with B2 would result in a term with the same
value as K2
The root cause of the bug is that the map implementation only hashed
the first (X modulo 4294967296) bytes of binaries so that different
binaries could get hashed to the same hash value independently of the
hash seed.
|
|
|
|
|
|
'john/kernel/compressed-file-read-degradation/OTP-15706/ERIERL-336' into maint
* john/kernel/compressed-file-read-degradation/OTP-15706/ERIERL-336:
erl_tar: Use read_ahead when reading compressed tar files
kernel: Fix performance regression on reading compressed files
|
|
tty: document ^] keystroke
|
|
|
|
|
|
* ingela/ssl/test-cuddle:
ssl: Correct test case
ssl: Remove test cases from ssl_basic_SUITE
ssl: Remove basic test group from ssl_to_openssl_SUITE
|
|
Optimization to concatenate small user data packages recived
closely after each other has invalidated assumptions in the test case.
|
|
The test are moved to ssl_cipher_suite_SUITE
|
|
This group has started to fail as our default has diverged from OpenSSL
defaults and we are not really interested in testing OpenSSL defaults.
|
|
returning incorrect result as
* current process might not be RUNNING in which case REDS_IN
is actually used as def_arg_reg[5]
* FCALLS might not have been swapped out
* the SAVED_CALLS case was wrong and returned number of reds left
|
|
Cherry-pick: 3d7d66b84b69f3eb42e8bcd8dc510b6676e31cac
Without this fix asserts would trigger in debug build
but nothing else would break.
|
|
* john/erts/remove-destructive-bs_get_binary2/ERL-901:
erts: Remove unsafe bs_get_binary2 optimization from loader
|
|
* bjorn/compiler/cuddle-with-tests:
Verify the highest opcode for the r21 test suites
Add test_lib:highest_opcode/1
sys_core_fold: Simplify case_expand_var/2
beam_validator: Remove uncovered lines in lists_mod_return_type/3
Cover return type determination of lists functions
|
|
Jumping around in a compressed file is nowhere near as cheap as
for uncompressed files, as it requires reading and decompressing
up until the desired position. Using read_ahead will improve
performance slightly.
|
|
An internal buffer size was too small, causing a considerable
performance degradation compared to OTP 20.
|
|
* ingela/inets/test-cuddle:
inets: Check ipv6 support with ct:require
|
|
|
|
* maint:
|
|
* john/erts/seq_trace-sigq-clearing/OTP-15704:
erts: Handle all signal types when clearing seq_trace token
|
|
A load-time optimization assumed that match contexts had no further
uses when a bs_get_binary2 overwrote the match context's register,
and figured it would be safe to reuse the match context's memory
for the resulting binary.
This is no longer safe as of OTP 22, as a match context may be
reused after being passed to another function.
|
|
|
|
* john/erts/seq_trace-sigq-clearing/OTP-15704:
erts: Handle all signal types when clearing seq_trace token
|
|
* john/compiler/fix-type-opt-no-return/ERL-897:
compiler: Fully disable no_return optimizations in try blocks
|
|
Fix unsafe optimization made by the loader
|
|
We walk through all signal queues in the system when clearing
seq_trace, so we must be prepared to encounter all kinds of
signals.
|
|
Fix the unsafe load-time optimization introduced in 07bdbb3a1edc.
https://bugs.erlang.org/browse/ERL-899
|
|
|
|
* john/erts/explain-empty-stack-check-in-next_catch:
erts: Add an explanation for the empty stack check in next_catch
|
|
This reverts commit 3a8047fcd347a30b0340839437cf367e5b9be339.
|
|
Validation could fail when a function that never returned was used
in a try block (see attached test case). It's possible to solve
this without disabling the optimization as the generated code is
sound, but I'm not comfortable making such a large change this
close to the OTP 22 release.
|
|
This reverts commit 0118046f9bda8dcf3594184fa439b79267db8017.
|
|
|
|
|
|
|
|
* sverker/bug-fixing:
erts: Fix erts_debug:set_internal_state(reds_left)
erts: Fix binary_SUITE:cmp_old_impl
|
|
to avoid failed ERTS_DBG_CHK_REDS by clearing virtual_reds.
|
|
since DFLAG_BIG_CREATION became mandatory in
321dc6ee0241f802c940def174c0a77262e11f21.
|
|
'lukas/erts/fragment-dist-messages/OTP-13397/OTP-15610/OTP-15611/OTP-15612/OTP-15613/OTP-15703'
* lukas/erts/fragment-dist-messages/OTP-13397/OTP-15610/OTP-15611/OTP-15612/OTP-15613/OTP-15703: (26 commits)
erts: Yield when exiting/free process is suspended by de
doc: Fix Design Princ, statem incorrect anchor
erts: Include external msg in need of GC
erts: Include dist header in return from dist_ctrl_get_data
erts: Fix so that exit/down terms stay alive
erts: Pending signals can be for free processes
erts: Fix faulty assert in reference_table_term
etp: Don't crash etp-stack* when c_p->i is null
erts: Adjust dist obuf size correctly after hdr fin
erts: Fix non-payload dist exit signals
erts: Always do trylock on proc locks when crash dumping
Fix tests to work better in debug emulator
erts: erts_factory_proc_init should not set hole marker
erts: Skip heavy process tab tests in debug emu
ts: Use same dynlinking logic for all bsd
Revert "erts: Always run fds check after each testcase"
erts: Always run fds check after each testcase
erts: Always stop any testnodes before testcase exits
erts: Add crash dumping of EXITING and FREE processes
wx: Remove ERL_FLAGS from Makefile erlc command
...
|
|
|
|
|
|
|
|
When many external messages suddenly appear in the mailbox
the young gen size is adjusted accordingly but it was
immediately shrunk as the data was not counted towards the
shrink size. This commit includes the ext dist size in the
shrink calculation which means that the decode of the external
messages will not trigger as many GCs which means much better
performance.
|