Age | Commit message (Collapse) | Author |
|
See also https://bugs.erlang.org/browse/ERL-953.
|
|
|
|
* hasse/stdlib/chars_limit_bug/OTP-15847/ERL-957:
stdlib: Fix a bug concerning io_lib option 'chars_limit'
# Conflicts:
# lib/stdlib/test/io_SUITE.erl
|
|
* bjorn/compiler/fix-beam_ssa_dead-patch/OTP-15845:
Fix unsafe optimizations where guard tests could be removed
|
|
'bjorng_ghub/bjorn/compiler/fix-beam_ssa_dead-crash/ERL-956/OTP-15848' into maint-22
* bjorng_ghub/bjorn/compiler/fix-beam_ssa_dead-crash/ERL-956/OTP-15848:
Eliminate crash in the beam_ssa_dead compiler pass
|
|
into maint-22
* bjorn/compiler/fix-unloadable-code-patch/ERL-955/OTP-15846:
Fix loading of Core Erlang code for extracting a map element
|
|
* bjorn/compiler/fix-beam_except/ERL-954/OTP-15839:
Fix compiler crash in beam_except
|
|
* bjorn/compiler/fix-unsafe-type-inference/OTP-15838:
Fix unsafe negative type inference
# Conflicts:
# lib/compiler/src/beam_ssa_type.erl
|
|
* john/compiler/list_append_type/OTP-15841:
compiler: Fix broken type for erlang:'++'/2
|
|
* bjorn/compiler/fix-receive-patch/ERL-950/OTP-15832:
Eliminate compiler crash when compiling complex receive statements
|
|
* bjorn/compiler/fix-freeze/ERL-948/OTP-15828:
Fix non-terminating compilation
|
|
* hans/crypto/enable_aes_ctr/OTP-15829:
crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1
|
|
See also https://bugs.erlang.org/browse/ERL-957.
|
|
A repeated test could be optimized away. Example:
bar(A) ->
if is_bitstring(A) ->
if is_binary(A) ->
binary;
true ->
bitstring
end;
true ->
other
end.
In the example, the `is_binary/1` test would be optimized away,
basically turning the example into:
bar(A) ->
if is_bitstring(A) ->
bitstring;
true ->
other
end.
Thanks user Marcus Kruse in the Elixir forum for noticing this bug.
|
|
The compiler could crash in the beam_ssa_dead pass while compiling
complex nested `case` expressions. See the added test case for an
example and explanation.
https://bugs.erlang.org/browse/ERL-956
|
|
The compiler would crash in `beam_except` while compiling this
function:
bar(Req) ->
ok = case Req of
"POST" -> {error, <<"BAD METHOD ", Req/binary>>, Req};
_ -> ok
end.
https://bugs.erlang.org/browse/ERL-954
|
|
|
|
The following Core Erlang code could not be loaded:
'f'/1 = fun (_1) ->
case <_1> of
<~{'foo':='foo'}~> when 'true' ->
_1
end
Loading would fail with the following message:
beam/beam_load.c(2314): Error loading function example:f/1: op i_get_map_element_hash p x a u x:
no specific operation found
https://bugs.erlang.org/browse/ERL-955
|
|
The type optimizer pass (`beam_ssa_type`) could make unsafe
negative inferences. That is, incorrectly infer that a variable
could *not* have a particular type.
This bug was found when adding another optimization. It is not
clear how write a failing test case without that added optimization.
|
|
It was accidently disabled in the crypto:supports/0 and /1. It
worked however in the encrypt/decrypt functions.
|
|
Certain complex receive statements would result in an internal
compiler failure. That would happen when the compiler would fail
to find the common exit block following a receive. See the added
test case for an example.
https://bugs.erlang.org/browse/ERL-950
|
|
The compiler would not terminate while compiling the following code:
foo(<<N:32>>, Tuple, NewValue) ->
_ = element(N, Tuple),
setelement(N, Tuple, NewValue).
The type analysis pass would attempt to construct a huge list when
attempting analyse the type of `Tuple` after the call to
`setelement/3`.
https://bugs.erlang.org/browse/ERL-948
|
|
|
|
|
|
Maybe we should only have specs for external APIs?!
This is a how to write spec problem that we have to address later.
|
|
|
|
TLS connections should not buffer too much application data if they
want to benefit from TCP flow control. Certain applications may want to
customize the value of internal_active_n as there is a tradeoff between
buffering memory and throughput.
Conflicts:
lib/ssl/src/tls_connection.erl
|
|
Conflicts:
lib/ssl/src/dtls_connection.erl
lib/ssl/src/ssl_connection.erl
|
|
|
|
* maint:
Updated OTP version
Prepare release
|
|
=== OTP-21.3.7.1 ===
Changed Applications:
- erl_interface-3.11.2.1
Unchanged Applications:
- asn1-5.0.8
- common_test-1.17.1
- compiler-7.3.2
- crypto-4.4.2
- debugger-4.2.6
- dialyzer-3.3.2
- diameter-2.2.1
- edoc-0.10
- eldap-1.2.6
- erl_docgen-0.9
- erts-10.3.4
- et-1.6.4
- eunit-2.3.7
- ftp-1.0.2
- hipe-3.18.3
- inets-7.0.7
- jinterface-1.9.1
- kernel-6.3.1
- megaco-3.18.4
- mnesia-4.15.6
- observer-2.9
- odbc-2.12.3
- os_mon-2.4.7
- otp_mibs-1.2.1
- parsetools-2.1.8
- public_key-1.6.5
- reltool-0.7.8
- runtime_tools-1.13.2
- sasl-3.3
- snmp-5.2.12
- ssh-4.7.6
- ssl-9.2.2
- stdlib-3.8.1
- syntax_tools-2.1.7
- tftp-1.0.1
- tools-3.1
- wx-1.8.7
- xmerl-1.3.20
* tag 'OTP-21.3.7.1':
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# lib/erl_interface/doc/src/notes.xml
# lib/erl_interface/vsn.mk
# make/otp_version_tickets
# otp_versions.table
|
|
|
|
* ingela/ssl/revert-ctrl-flow:
Revert "ssl: Add check when to toggle internal active N"
|
|
* raimo/inet_crypto_dist:
Rekey also the shared secret
Use shared secret to rekey
Cycle the keypair by time and count
Set socket buffer sizes to avoid handshake deadlock
Keep the keypair for the node's lifetime
Implement some kind of PEKE to get forward secrecy
Use incrementing IV
Use Erlang cookie as shared secret
|
|
|
|
* maint:
Fix bad merge from maint-21
Fix bad merge from maint-21
Updated OTP version
Prepare release
# Conflicts:
# OTP_VERSION
# make/otp_version_tickets_in_merge
|
|
|
|
This reverts commit 6e190b012dd5a304fc42a5f3bb58ff173a23eb66.
|
|
* ingela/ssl/openssl-test-cuddle:
ssl: Add necessary compliance check
|
|
* ingela/ssl/dialyzer-fix:
ssl: Fix dialyzer spec
|
|
|
|
* sverker/ei_set_compal_rel-doc:
erl_interface: Document ei_set_compat_rel
|
|
* hasse/stdlib/optimize_io_format/OTP-15705:
stdlib: Optimize pretty printing of strings with chars_limit
stdlib: Optimize printing of maps a bit
stdlib: Optimize pretty printing of lists slightly
|
|
Banging data to a local port was always synchronous prior to
Erlang/OTP R16, and these modules relied on that behavior to report
that data had successfully been enqueued on the stdout port. This
would cause data to be silently dropped if the command didn't run
synchronously and the emulator halted before the port received the
data.
This was fairly rare in practice, but could be seen from time to
time on Windows with escripts that ended with a call to
io:format/2, such as the one used by the
escript_SUITE:create_and_extract test.
This is a minimal band-aid to make things reliable again. A more
complete fix would add explicit synchronization with the port.
|
|
* ingela/ssl/cipher-suite-conversion/ERL-924/OTP-15483:
ssl: Add cipher suite convertion functions
|
|
* lukas/kernel/inet_db_fix_set_of_non-existing_file/OTP-15806:
kernel: Fix setting of non-existing file as inet_db resolv_conf
|
|
* maint-21:
Updated OTP version
Prepare release
|
|
* dgud/mnesia/pr-2216/OTP-15084:
Report stacktrace in non-transactions activity function errors.
|
|
If an activity function fails with an error, the stacktrace is
dropped in non_transaction function try/catch clause.
This makes debuging of errors inside a transaction really hard.
Transaction activities handle errors and exits differently, non-transaction
activities should do the same.
Adding the stacktrace to the exit reason when translating errors to exits.
|
|
|