Age | Commit message (Collapse) | Author |
|
|
|
We want to find bugs in the compiler during compilation. Validation of
match contexts was weak, which could allow serious bugs in the
generated code to slip through.
|
|
Using a record will make it much easier to add additional information.
|
|
* bjorn/compiler/misc:
Eliminate unsafe use of Y registers
beam_validator: Add is_bitstring/1 as a safe BIF
beam_validator: Remove uncovered line
Teach beam_utils:is_pure_test/1 to handle is_bitstr and is_function2
beam_utils: Simplify handling of 'return' to eliminate uncovered line
beam_jump: Clean up handling of labels before func_info
beam_expect: Correctly handle blocks with multiple allocs
v3_codegen: Don't confuse beam_validator
v3_codegen: Correct code generation for an error/1 call in a guard
beam_receive: Don't crash when encountering nonsensical code
|
|
|
|
* binarin/better-ssl-diagnostics/PR-1060/ERL-774/OTP-13632:
ssl: Remove error logger reports
ssl: Better error handling of keys rejected by crypto
Improve SSL diagnostics
|
|
We do not want error reports that can leek secret information
into the logs.
|
|
|
|
There are a lot of cases where `ssl` application just returns unhelpful
`handshake failure` or `internal error`. This patch tries to provide
better diagnostics so operator can debug his SSL misconfiguration
without doing hardcore erlang debugging.
Here is an example escript that incorrectly uses server certificate as a
client one:
https://gist.github.com/binarin/35c34c2df7556bf04c8a878682ef3d67
With the patch it is properly reported as an error in "extended key
usage".
|
|
* egil/erts/cuddle-tests:
stdlib: Fix small inconsistencies in ets_SUITE
stdlib: Strengthen or relax test cases
kernel: Don't test negative time values in file info
erts: Fix free_mem calculation in bs_construct tests
|
|
* origin/ingela/ssl/dtls-test-cuddle:
ssl: Fix TLS version handling in dtls adepted tests
|
|
* dgud/wx/fix-seqfault-in-cleanup:
wx: Fix occasional seq fault after appliction stops
|
|
|
|
|
|
Removed in f9cb80861f169743 when changed impl from C to Erlang.
But seems they are needed to keep dialyzer tests happy.
Also improved bif_SUITE:shadow_comments to include all exported
in module erlang, not just the "snifs".
...which detected that apply/2 was missing Shadowed comment as well.
|
|
* dgud/wx/quote-atoms-in-specs:
wx: Quote atoms in types and specs
|
|
* dgud/stdlib/relax-proc_lib-initial-call/OTP-13623:
Relax translation of initial calls
|
|
If the Core Erlang optimization were turned off (using no_copt),
the optimization passes for Beam assembly could generate unsafe
code that did not initialize all Y registers before (for example)
a call instruction.
To fix this, beam_dead should not attempt to remove stores to Y
registers. That is not safe if there is an exception-generating
instruction inside a try...catch block.
|
|
beam_validator wrongly complained that the following was
not safe because it didn't know that is_bitstring/1 is safe:
food(Curriculum) ->
[try
is_bitstring(functions)
catch _ ->
0
end, Curriculum].
While we are it, also add a new bif_SUITE test suite to cover some
more code in beam_validator.
|
|
The raise/3 instruction is specially handled, thus there is no need
for bif_type/3 to handle raise/3 (also, the number of arguments was
incorrect, so it could never have matched).
|
|
The 'is_bitstr' and 'is_function2' tests are pure. The corresponding BIFs
have different names; thus the default call to erl_internal:new_type_test/2
is not sufficient.
|
|
There seems to be a timeing dependent double delete when doing
reference cleanup after wx:destroy(). wxGraphicsObjects can thus not
be free'ed by wx in the cleanup phase. A guess is that the underlying
rendering context deletes all graphics objects without careeing about
wxWidgets reference counting.
|
|
* kostis/beam_disasm-entry-type/PR-1072:
Declare the type of function entry points
Export label() type
|
|
|
|
|
|
In particular, valgrind needs a lot of time for certain tests.
|
|
|
|
|
|
This shuts off compiler warnings and will allow to enable stronger
compiler checks files that include beam_disasm.hrl in the hipe
application.
While doing that, also modified a comment in the header file and
turned a case statement into effectively an assertion: there should
not really be any beam files where functions do not have a label as
entry point, right?
|
|
|
|
* egil/et/fix-unmatched_return/OTP-13595:
et: Fix unmatched return warnings
|
|
* egil/runtime_tools/update-lttng-doc:
runtime_tools: Document a lttng usage example
|
|
* ingela/ssl/doc-enhancment/ERL-131:
ssl: Add default values and clarifications
|
|
|
|
* kennethlakin/beast-mitigation-options/PR-1041/OTP-13629:
ssl: Add BEAST mitigation selection option
|
|
* lukas/erts/tracing/tracer-move-extra-to-map/OTP-10267:
runtime_tools: Fix erl_tracer testcases
runtime_tools: Fix documentation for dbg:p
erts: Move tracer SecondTraceTerm to Opts map
|
|
* legoscia/erts/epmd-module-option/OTP-13627:
Add tests for -start_epmd and -epmd_module options
Use the -epmd_module flag consistently
Add -start_epmd command line option
|
|
to make it easier to read and construct version checks.
|
|
|
|
Same fix as was done for EVP in f4f588683dce36c447017.
|
|
|
|
|
|
* siri/observer/improve-trace/OTP-13481:
[observer] Update user guide
[observer] Automatically add active node
[observer] Allow more trace flags on procs/ports from GUI
[runtime_tools] Don't trace the trace client port
[runtime_tools] Allow setting trace flag 'exiting' with dbg
[observer] Add more default match specs for messages
[observer] Add test of new Ports tab
[observer] Improve appearance in Trace tab
[observer] Allow multiple select in Ports tab
[observer] Make right click menu act on the "expected pid"
[observer] In Trace tab, show procs/ports for selected node only
[observer] Add right click menu in Table tab
[observer] Add menu option to set default MS for send/receive
[observer] Add tracing of ports
[ttb] Allow setting trace flags on ports
[observer] Set correct parent in Label dialog
[observer] Add Ports tab in GUI
[observer] Add functionality in GUI for trace pattern on messages
[ttb] Set trace patterns on messages
Conflicts:
lib/observer/src/observer_wx.erl
|
|
LLVM currently hard-codes these. Since it is desirable to be able to
change things like PCB layout without requiring a change to LLVM, we
export these as LLVM metadata, which can easily be used from LLVM to
make it independent of them.
|
|
|
|
* margnus1/hipe/maps-is_key-opts/PR-1069/OTP-13625:
hipe: Add test suite for verifying optimisations
Added elimination of maps:is_key/2 calls to HiPE
|
|
Some legacy TLS 1.0 software does not tolerate the 1/n-1 content
split BEAST mitigation technique. This commit adds a beast_mitigation
SSL option (defaulting to one_n_minus_one) to select or disable the
BEAST mitigation technique.
Valid option values are (one_n_minus_one | zero_n | disabled).
|
|
If the -epmd_module flag has been specified on the command line, use
that module to register and look up node names instead of the default,
erl_epmd.
Also document this option.
|
|
Y registers are killed by the deallocate/1 instruction, so there is no
need to handle Y register in the return/1 instruction in
check_liveness/3.
There is also no need to keep check_liveness_live_ret/3 since it
is only used in one place.
|
|
In complicated code with many indirect jumps to the func_info label,
a label could get lost.
|