Age | Commit message (Collapse) | Author |
|
* bjorn/fix-line-number-in-bs-exception/OTP-11572:
compiler: Correct line number in exception from binary construction
|
|
* egil/fix-bs_get_integer/OTP-11581:
erts: Fix bs_get_integer instruction
|
|
Reported-by: Stanislav Seletskiy
|
|
* rickard/otp-17-vsn-fix:
Fix issues with new versioning
|
|
* lukas/erts/fix_sp_usage_printout/OTP-11559:
erts: Replace tab with space for proper alignment
|
|
* lukas/erts/fd0_pipe_bug/OTP-11558:
erts: Make sure fds 0,1 and 2 are open
|
|
If they are not open a really nasty race where the io pipe in
erl_poll got fd 0 and the fd_driver setting fd 0 to blocking
could occur. This caused the emulator to hang during shutdown.
|
|
|
|
|
|
|
|
* rickard/idoc:
Add misc internal documentation
|
|
|
|
The instruction bs_get_integer could unnecessarily trigger a garbage collection
in failure cases which is unwanted or outright dangerous.
Ex:
<<X:Sz,_/bits>> = <<"some binary">>
Previously, if Sz induced X to a bignum it would reserved memory size this on
the heap via a garbage collection before checking if the size could actually match.
It will now check the binary size before triggering a collection.
|
|
* sverk/re-valgrind-fix:
erts: Fix valgrind warning for re_SUITE:error_handling
|
|
OTP-11549
* sverk/unicode-driver-paths:
erts: Support loading of drivers with unicode paths
erts: Add 'extra' argument to erts_convert_filename_to_encoding
erts: Refactor remove erts_sys_dll_open2
erts: Fix compiler warning
|
|
Yielding binary_to_term.
OTP-11535
* tag 'OTP_R16B03_yielding_binary_to_term':
Increase versions for OTP_R16B03_yielding_binary_to_term
erts: Adjust term_to_binary reduction factors
erts: Yield after trapping term_to_binary if gc has been ordered
erts: Let term_to_binary disable gc while trapping
erts: Improve stress of binary_to_term in binary_SUITE
erts: Fix bug in binary_to_term for compressed on halfword
erts: Fix crash when binary_to_term throws badarg
erts: Trapping memcpy in binary_to_term
erts: Cleanup code for trapping binary_to_term
erts: Add erlang wrappers to binary_to_term
trapping uncompress
trapping size calculation
trapping binary_to_term/2
trapping STRING_EXT
trapping lists and tuples
trapping binary_to_term passing binary_SUITE
Conflicts:
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
erts/vsn.mk
lib/kernel/vsn.mk
lib/stdlib/vsn.mk
|
|
|
|
|
|
|
|
|
|
* nox/eep37/OTP-11537:
Support EEP37 named funs in emacs erlang-mode
Document named fun expressions
Test named funs
Support named funs in the debugger interpreter
Update primary bootstrap for named funs in the shell
Support named funs in the shell
Update primary bootstrap for named funs
EEP 37: Funs with names
Support non top level letrecs in dialyzer
|
|
|
|
* sverk/trapping-bin2term:
erts: Adjust term_to_binary reduction factors
erts: Yield after trapping term_to_binary if gc has been ordered
erts: Let term_to_binary disable gc while trapping
erts: Improve stress of binary_to_term in binary_SUITE
erts: Fix bug in binary_to_term for compressed on halfword
erts: Fix crash when binary_to_term throws badarg
erts: Trapping memcpy in binary_to_term
erts: Cleanup code for trapping binary_to_term
erts: Add erlang wrappers to binary_to_term
trapping uncompress
trapping size calculation
trapping binary_to_term/2
trapping STRING_EXT
trapping lists and tuples
trapping binary_to_term passing binary_SUITE
Parallel check_process_code when code_server purge a module
Functionality for disabling garbage collection
Use asynchronous check_process_code in code_parallel_SUITE
Execution of system tasks in context of another process
Conflicts:
erts/emulator/beam/external.c
erts/emulator/beam/sys.h
erts/emulator/test/binary_SUITE.erl
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
|
|
by making sure we at least can read the first four bytes
of a compiled regexp where the 'magic_number' is located.
|
|
Update versions of OTP, erts, kernel, and stdlib to comply with
the new version scheme decided by the OTP technical board.
|
|
* rickard/garbage_collect/OTP-11388:
Parallel check_process_code when code_server purge a module
Functionality for disabling garbage collection
Use asynchronous check_process_code in code_parallel_SUITE
Execution of system tasks in context of another process
Conflicts:
bootstrap/lib/kernel/ebin/hipe_unified_loader.beam
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
|
|
|
|
* sverk/test-cuddle:
erts: Reduce wasted execution time for match_spec_SUITE:otp_9422
|
|
|
|
|
|
|
|
|
|
The warning is:
sys/common/erl_poll.c:2513:72: warning: for loop has empty body [-Wempty-body]
for (prev_ps = pollsets; ps != prev_ps->next; prev_ps = prev_ps->next);
|
|
The test needs to be false to fail, not true. This was noticed with the
following warning, where marking erl_assert_error as non-returning didn't
help:
beam/erl_gc.c:2772:2: warning: variable 'refc' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
beam/erl_gc.c:2775:26: note: uninitialized use occurs here
ERTS_CHK_OFFHEAP_ASSERT(refc >= 1);
^~~~
beam/erl_gc.c:2738:11: note: expanded from macro 'ERTS_CHK_OFFHEAP_ASSERT'
if (!(EXP)) \
^
beam/erl_gc.c:2759:18: note: initialize the variable 'refc' to silence this warning
erts_aint_t refc;
^
= 0
|
|
|
|
When the offending code is reached, new_crr is either uninitalized or
have been set to NULL. This patch removes the following warning:
beam/erl_alloc_util.c:3510:6: warning: variable 'new_crr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (!(flags & CFLG_FORCE_MSEG)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
beam/erl_alloc_util.c:3567:23: note: uninitialized use occurs here
DEBUG_SAVE_ALIGNMENT(new_crr);
^~~~~~~
beam/erl_alloc_util.c:674:51: note: expanded from macro 'DEBUG_SAVE_ALIGNMENT'
UWord algnmnt__ = sizeof(Unit_t) - (((UWord) (C)) % sizeof(Unit_t));\
^
beam/erl_alloc_util.c:3510:2: note: remove the 'if' if its condition is always true
if (!(flags & CFLG_FORCE_MSEG)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
beam/erl_alloc_util.c:3438:23: note: initialize the variable 'new_crr' to silence this warning
Carrier_t *new_crr, *old_crr;
^
= NULL
|
|
|
|
* sverk/bit-cmp-bug/OTP-11501:
erts: Fix invalid read when appending binaries during call trace
erts: Optimize comparison for bitstrings with byte aligned start
erts: Fix invalid read in bitstring comparison
|
|
* sv/file-osync/OTP-11498:
Add sync option to file:open/2
Conflicts:
erts/preloaded/ebin/prim_file.beam
|
|
* maint:
Fix prim_inet:close/1
Ensure exit signal due to link precede port BIF return
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
* rickard/port_bifs_fix/OTP-11489:
Ensure exit signal due to link precede port BIF return
|
|
* maint:
Improve error info when main carrier creation fails
|
|
* lukas/erts/supercarrier_fix/OTP-11149:
Improve error info when main carrier creation fails
Conflicts:
erts/emulator/test/alloc_SUITE.erl
|
|
|
|
* sverk/bin2term-bitstr-bugs/OTP-11479:
erts: Fix bug in binary_to_term for binaries larger than 2^31
erts: Fix bugs in binary_to_term for invalid bitstrings
|
|
|
|
* sverk/allctr-4byte-align-bug:
erts: Fix alignment bug in allocator start code
OTP-11496
|
|
Found by valgrind. Probably safe on opt-VM due to CHICKEN_PAD.
|
|
|
|
Valgrind complained that erts_cmp_bits sometimes read one byte too much
from bitstrings. The byte was never used and the invalid read is safe
in opt-VM due to padding in binary allocation (CHICKED_PAD).
|