Age | Commit message (Collapse) | Author |
|
Check that messages outside of the heap are not corrupted
|
|
Waiting messages for a process may be stored in a queue
outside of any heap or heap fragment belonging to the process.
This is an optimization added in a recent major release to
avoid garbage collection messages again and again if there
is a long message queue.
Until such message has been matched and accepted by
the remove_message/0 instruction, the message must not be
included in the root set for a garbage collection, as that
would corrupt the message. The loop_rec/2 instruction explicitly
turns off garbage collection of the process as long messages
are being matched.
However, if the compiler were to put references to a message
outside of the heap in an Y register (on the stack) and there
happened to be a GC when the process had been scheduled out,
the message would be corrupted and the runtime system would
crash sooner or later.
To ensure that doesn't happen, teach beam_validator to check
for references on the stack to messages outside of the heap.
|
|
* maint:
Updated OTP version
Prepare release
ssh: Fix ssh_sftpd:handle_op not returning State
|
|
* maint-19:
Updated OTP version
Prepare release
ssh: Fix ssh_sftpd:handle_op not returning State
Conflicts:
OTP_VERSION
lib/ssh/doc/src/notes.xml
lib/ssh/vsn.mk
otp_versions.table
|
|
|
|
Fix unsafe optimization of record test
|
|
|
|
beam_record would make an unsafe optimization for the
not_used_p/4 function added to beam_utils_SUITE in this
commit. The bug is in beam_utils, which would falsely
report that {x,4} was unused when it in fact was used.
The bug was in the function not_used/1. The purpose of
not_used/1 is to return a 'not_used' result unless the
actual result is 'used'. Unfortunately it was not
implemented in that way. It would let a 'transparent'
result slip through, which the caller in this case would
convert to 'killed' (because the register was killed on
all other paths).
Reported-by: Richard Carlsson
|
|
Compile external fun expressions to literals
OTP-15003
|
|
* lukas/ei/fix_tmo_test:
ei: Include stdlib.h to fix malloc usage in ei test
|
|
Split inets OTP-14113
|
|
|
|
|
|
|
|
|
|
|
|
interfaces
|
|
* hans/erl_docgen/datatype_title/OTP-15000:
erl_docgen: Add datatype-title tag to datatype tag
|
|
* ingela/ssl/DTLS-ECC:
ssl: Cleaner test setup to avoid unintentional test case dependencies
ssl: Correct ECC suite and DTLS ECC handling
|
|
|
|
Change-Id: I014b191da144c299d056eb155ed99ace710112b1
|
|
Change-Id: Ie0f52e82484462f8f7ec58c37ce16081af432797
|
|
Change-Id: Ie23a40e7159fe632cf5514ac617de17c5d5b5ce2
|
|
- Update ct_ftp to use the new FTP application.
Change-Id: I84223107361132ea3144cdf7421738c4bebffa40
|
|
Change-Id: I585ba5097632d460705257f03cb44adf8038f0be
|
|
Change-Id: I20d44e771577b19060fbba0b2e83f64909c60faa
|
|
Change-Id: Ie1e8a3fa458ee38a1c0b6a0f19e27e76c267688e
|
|
- Create directory structure
- Move code, tests, documentation from inets
- Add inets_tftp_wrapper
- Add tftp app to run-dialyzer script
Change-Id: I6a142ae66cecb9a1821cbf9ea6a45f66a836763d
|
|
Change-Id: I695066755f8394619d5f231a1060e467f2c82edf
|
|
- vsftpd =< 3.0.2 does not support ECDHE ciphers and the ssl application
removed ciphers with RSA key exchange from its default cipher list.
To allow interoperability with old versions of vsftpd, cipher suites
with RSA key exchange are appended to the default cipher list.
- Fix regex in ftp.appup.src
Change-Id: I53ce3b7f198ae95825eb0b5d39e94bdcebe78391
|
|
Change-Id: I5328d5feeac3b7279a8770e8fc27e2d9e8eed359
|
|
Change-Id: I9ec81e25d8135fa624554b5d011b2c554b3481d5
|
|
Change-Id: I4939a45cde292347975d8b870caeff15724046d2
|
|
Change-Id: Ifc3359b62e14b68320645f5d7c90bf1b9ccae016
|
|
Change-Id: I19bd2f1d4a35cbc5c233ebc8b2a9d52bbd37f047
|
|
Change-Id: Ie9cfc5902f3ec7f97df6f0764ff88b954139d87b
|
|
- Add appup file
- Update vsftpd configuration file with stronger cipher suites
- Remove unused functions from ftp_test_lib
- Improve certificate generation
Change-Id: I941e922d7532a3f2a05662aff621a175b630d3b5
|
|
Change-Id: I3d3e09bf1f3fd6109cfb2cdd91e69fcd9554a3c9
|
|
Change-Id: I38bbca9d3fb2d90869cfe468e444204514301c36
|
|
Change-Id: I72c564ea25d7cc41716229369459ae68d8706007
|
|
- Created initial directory structure for the FTP application.
- Updated inets Makefiles to not include FTP related modules.
- Remove ftp code from inets
- Implement backward compatibility layer for FTP
- Add inets_ftp_wrapper
- Fix failing TCs
Change-Id: I120ec5bdef0c3df4cee2d7880db2aec581505bc4
|
|
* dgud/observer/fix-config-bug/OTP-14993:
Fix crash when config was wrong
|
|
* dgud/testcase-fixes:
debug info
add unicode opt env may contain unicode signs
Fix lexemes conversion
|
|
* dgud/revert-string-depr:
Revert "Deprecate old string functions"
|
|
|
|
When test handling was corrected it was obvious that DTLS ECC handling
was not compleated.
|
|
jhogberg/john/erts/any-term-as-seq_trace-label/OTP-14899
Lift the type restrictions on seq_trace token labels
|
|
bjorng/bjorn/compiler/fix-atom-leak/ERL-563/OTP-14968
Stop the compiler from overflowing the atom table
|
|
The expressions fun M:F/A, when all elements are literals are also
treated as a literal. Since they have consistent representation and
don't depend on the code currently loaded in the VM, this is safe.
This can provide significant performance improvements in code using such
functions extensively - a full function call to erlang:make_fun/3 is
replaced by a single move instruction and no register shuffling or
saving registers to stack is necessary. Additionally, compound data
types that contain such external functions as elements can be treated as
literals too.
The commit also changes the representation of external funs to be a
valid Erlang syntax and adds support for literal external funs to core
Erlang.
|
|
Fix a small typo
|