Age | Commit message (Collapse) | Author |
|
|
|
shutting down
This patch fixes a problem happening when BEAM is shutting down. It is possible for a dirty scheduler to take the lock, and keep it, when the system is shutting down. It may also happen that a normal scheduler decides to schedule some dirty job (example is major garbage collection that results in migrating the process into dirty CPU queue), and hangs trying to take the lock that will never be released.
To fix the problem, either release the lock before entering endless wait loop, or reverse the order in which schedulers are stopped. Either fix works, and, of course, it works even better to apply both.
|
|
|
|
|
|
'siri/ct/post_end_per_testcase-change-status/ERIERL-282/OTP-15584' into maint-20
* siri/ct/post_end_per_testcase-change-status/ERIERL-282/OTP-15584:
[ct] Allow post_end_per_testcase hook to change tc status after timetrap
|
|
|
|
|
|
into maint-20
* john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237:
Allow disabling retpoline in interpreter loop
Add a ./configure flag for spectre mitigation
|
|
* anders/diameter/nocatch/OTP-15569:
Update appup
Fix nocatch on incoming answer with faulty Experimental-Result-Code
|
|
For OTP-15569, to be released in OTP 20.3.8.19.
|
|
Failure to decode the Grouped AVP results in a throw from module
diameter_gen, which is caught in the normal message decode, but wasn't
when only the AVP is decoded from diameter_traffic (for error checking
and counter increment). The result was no handle_answer/error
callback, and an error return from diameter:call/4 when the detach
option was not specified.
|
|
|
|
|
|
* rickard/dirty_scheduler_collapse/OTP-15509:
Fix bug causing dirty scheduler sleeper list inconsistency
|
|
|
|
|
|
|
|
* lars/xmerl/bug-in-detect-charset/OTP-15492:
[xmerl] Fix detect charset crash
|
|
The charset detection parsing crash in some cases when
the XML directive is not syntactic correct.
|
|
|
|
|
|
* hans/ssh/port_leak/OTP-15397:
ssh: Fix port leakage for daemons failing at start
ssh: Add port close test
|
|
* sverker/big-band-bug/ERL-804/OTP-15487:
erts: Fix bug in 'band' of two negative numbers, one big
|
|
|
|
|
|
|
|
Similar bug as for bxor fixed by abc4fd372d476821448dfb9
Ex:
1> io:format("~.16B\n", [-16#1110000000000000000 band (-1)]).
-1120000000000000000
Wrong result for
(-X bsl WS) band -Y.
where
X is any positive integer
WS is erlang:system_info(wordsize)*8*N where N is 1 or larger
Y is any positive integer smaller than (1 bsl WS)
Fix:
The subtraction of 1 (for 2-complement conversion)
must be carried along all the way to the last words.
|
|
|
|
|
|
* henrik/ERIERL-278/OTP-15470:
Handle erroneous length during decode (BER only) without crashing
|
|
|
|
john/erts/spectre-configure-flag-otp_20/OTP-15430/ERIERL-237
* john/erts/spectre-configure-flag/OTP-15430/ERIERL-237:
Allow disabling retpoline in interpreter loop
Add a ./configure flag for spectre mitigation
|
|
We only do this when the user has explicitly told us it's okay to
partially disable mitigation (spectre-mitigation=incomplete). The
macro is inert if it isn't.
|
|
Note that the ERTS_NO_RETPOLINE macro introduced by this commit is
completely inert unless spectre-mitigation is set to 'incomplete.'
This includes when mitigation has been manually enabled through
CFLAGS, so it should be impossible for it to unintentionally
disable mitigation.
|
|
|
|
|
|
* hans/ssh/fix_ext_info/OTP-15413:
ssh: Fix ssh_options checking for ext_info
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as server
ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as client
|
|
|
|
|
|
maint-20
* ingela/maint-20/ssl/rsa-kex-engine/ERIERL-268/OTP-15420:
ssl: Add engine handling clause to RSA key exchange
|
|
|
|
A bug for SSH_MSG_EXT_INFO was fixed both for client and server. Before that fix, wrong
option was read for the information sent to the peer.
This commit adapts the option checking so that the correct option now used is available
not only for servers but also for clients.
|
|
The wrong set of supported public keys was sent to the client.
|
|
The message could not be received in connected state
|
|
|
|
|
|
maint-20
* ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412:
ssl: Extend check for undelivered data at closing
|
|
* john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371:
Optimize operator '--' and yield on large inputs
|
|
The removal set now uses a red-black tree instead of an array on
large inputs, decreasing runtime complexity from `n*n` to
`n*log(n)`. It will also exit early when there are no more items
left in the removal set, drastically improving performance and
memory use when the items to be removed are present near the head
of the list.
This got a lot more complicated than before as the overhead of
always using a red-black tree was unacceptable when either of the
inputs were small, but this compromise has okay-to-decent
performance regardless of input size.
Co-authored-by: Dmytro Lytovchenko <[email protected]>
|
|
This is a timing related bug that alas is hard to test
|