Age | Commit message (Collapse) | Author |
|
The erl_prim_loader:get_modules/{2,3} functions were introduced in
cd283583f8. Unfortunately, while the functions worked correctly, there
was a bug in that many garbage maessages would be sent to the
erl_prim_loader process. The number of extra messages depended on
both the length of the code path and of the number of modules that
were fetched. The messages were ignored and ultimately discarded,
causing no harm except for a performance degradation and increase of
the heap size for the erl_prim_loader process.
The following functions were hit by the performance bug:
code:atomic_load/1
code:ensure_modules_loaded/1
code:prepare_loading/1
|
|
* valgrind needs lots of time
|
|
* valgrind needs lots of time
|
|
* valgrind needs lots of time
|
|
|
|
|
|
This fixes a HiPE bug reported on erlang-questions on 2/11/2016.
The BEAM to ICode tranaslation of the bs_match_string instruction,
written long ago for binaries (i.e., with byte-sized strings), tried
to do a `clever' translation of even bit-sized strings using a HiPE
primop that took a `Size' argument expressed in *bytes*.
ICode is not really the place to do such a thing, and moreover there
is really no reason for the HiPE primop not to take a Size argument
expressed in *bits* instead. This commit changes the `Size' argument
to be in bits, postpones the translation of the bs_match_string primop
Fixed in a pair-programming/debugging session with @margnus1.
until RTL and does a proper translation using bit-sized quantities there.
|
|
* sverker/kernel-erts-dependency:
kernel: Add lost dependency to erts-8.1
|
|
As per RFC 4492 Sec 5.1, the preferred order of selection of named
curves is based on client preferences.
Currently, the SSL application only picks entries according to the
absolute order of entries as tracked in a hardcoded list in code.
This patch changes things so that the client-specified order is
preferred. It also allows a mode where the server can be configured to
override the client's preferred order with its own, although the chosen
ECC must still be within both lists.
The configuration is done through the following options:
- `eccs`, shared by clients and servers alike, allows the specification
of the supported named curves, in their preferred order, and may
eventually support more values for explicit primes and so on.
- `honor_ecc_order`, a server-only option, is similar to
`honor_cipher_order` and will, by default let the server pick the
client-preferred ECC, and otherwise pick the server-preferred one.
The default value for `eccs` is the same as before, although the
server-chosen ECC now defaults to the client rather than previous
choice.
A function `ssl:eccs()` has been added that returns the highest
supported ECCs for the library.
|
|
into maint
* okeuday/howto/verify_beams_info/ERL-288/PR-1231/OTP-13999:
Add otp_build update_primary to HOWTO INSTALL
|
|
* hasse/erts/fix_match_spec_head/OTP-13996:
Update preloaded
erts: Correct type declaration of match specification head
|
|
* roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998:
handle send_to_non_existing_process trace event in fprof
|
|
Document the existence of the otp_build update_primary command,
to verify that the bootstrap beam files match the source files.
|
|
Do not generate a core when a crashdump is asked for.
Regression introduced in 56090db3ea417157a749bdd810fc61d117493f1f
|
|
* github/pr/1219:
Correct spelling error in ssl_distribution.xml
|
|
|
|
|
|
Bug reported by Peti Gömöri <[email protected]>.
|
|
maint
* josevalim/erts/document-epmd-switches/PR-1217/OTP-13994:
Document the -epmd_module switch in erl
|
|
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903)
erts_code_purger:finish_after_on_load/2 was added
and called by code_server.erl.
|
|
* sverker/hipe-beam-stacktrace/ERL-205:
erts: Exclude random beam functions from hipe stacktrace
|
|
|
|
|
|
into maint
* legoscia/kernel/clarify-permission-bits/PR-1204/OTP-13991:
Clarify permission bits in file.xml
|
|
* t-richards/erts/fix-typos-erl_driver/PR-1221/OTP-13990:
Fix typos in erl_driver.xml
|
|
* egil/mnesia/dont-tty-log-nodes:
mnesia: Don't show error_logger messages in tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Prevents timeout before the processing is done on slow machines
|
|
* bjorn/compiler/minor-fixes:
Don't copy funs into guards
|
|
|
|
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return
badarg if erlang:port_connect/2 fails with badarg. This can easily
happen if the new owner is not alive but in some race condition also
when the socket is closed right before port_connect/2 (and after the
previous socket function)
This commit documents this behaviour.
|
|
Correct "...an exra distribution..." to "...an extra distribution...".
|
|
ssh_to_openssh_SUITE:erlang_server_openssh_client_renegotiate/1
|
|
|
|
|
|
The testcases shell_unicode_string and shell_no_unicode in ssh_basic_SUITE could
raise an exception in the end_per_suite when stopping the dameon. This is due to
a natural race condition between the server and the client.
|
|
|
|
in ssh_to_openssh_SUITE:erlang_server_openssh_client_renegotiate/1
The reason is that it seems that on some small machines
we get an out-of-memory exception if the limit is to high.
This is probably because a chunk of data larger than the limit
is piped from a file into the OpenSSH runing in a shell in a port.
|
|
|