aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-01-09Merge branch 'hasse/dialyzer/fix_abs/OTP-14858/ERL-551' into maintHans Bolinder
* hasse/dialyzer/fix_abs/OTP-14858/ERL-551: dialyzer: Correct handling of erlang:abs/1
2018-01-09Merge branch 'maint'Siri Hansen
2018-01-09Merge branch 'siri/cdv/crash-when-truncated-in-mod-attr/ERL-537/OTP-14846' ↵Siri Hansen
into maint * siri/cdv/crash-when-truncated-in-mod-attr/ERL-537/OTP-14846: [cdv] Don't crash when dump is truncated in module attributes
2018-01-09Merge branch 'maint'Ingela Anderton Andin
2018-01-09Merge branch 'ingela/dtls/test-cuddle' into maintIngela Anderton Andin
* ingela/dtls/test-cuddle: dtls: Filter out rc4 for DTLS psk suites dtls: We do not need to wait for DTLS over UDP server
2018-01-08Reintroduce the arity optimization removed in OTP-14855John Högberg
We can safely tell when a test_arity or is_record instruction is superflous by keeping track of whether the size is exactly known or not.
2018-01-08dialyzer: Correct handling of erlang:abs/1Hans Bolinder
See also https://bugs.erlang.org/browse/ERL-551.
2018-01-08ssh: A compatibility testing suite using dockersHans Nilsson
This suite tests compatibility with different combinations of OpenSSH and OpenSSL. The peer SSH is running in a docker container.
2018-01-08Merge branch 'john/erts/putenv-thread-safety/OTP-14666'John Högberg
2018-01-08Merge branch 'maint'John Högberg
2018-01-08Fix typo in PKCS-7.asn1Sander Dijkhuis
2018-01-08beam_validator: Strengthen validation of GC instructionsBjörn Gustavsson
beam_validator did not verify that the Y registers were initialized before executing the following instructions that could cause a GC: bs_append/8 bs_init2/6 bs_init_bits/6 gc_bif1/5 gc_bif2/6 gc_bif3/7 test_heap/2 That means that, for example, an incorrect optimization that replaced an 'allocate_zero' instruction with an 'allocate' instruction when it was not safe, would not be rejected by beam_validtor, but would instead cause a crash or other undefined behavior at runtime. Also fix a minor bug in beam_type exposed by the stronger checking. When compiling from .S files, beam_type did not handle the init/1 instruction and could produce unsafe code.
2018-01-08Merge pull request #1662 from bjorng/bjorn/compiler/beam_utilsBjörn Gustavsson
Reduce register shuffling in receive clauses
2018-01-07dtls: Filter out rc4 for DTLS psk suitesIngela Anderton Andin
Stream ciphers are not valid fro DTLS
2018-01-06dtls: We do not need to wait for DTLS over UDP serverIngela Anderton Andin
Client will retransmit until server becomes responsive
2018-01-05stdlib: Correct a filelib test caseHans Bolinder
2018-01-05stdlib: Let filelib:find_source() search subdirsHans Bolinder
The Design Principles states that an application can have Erlang source files one level below the "src" directory, and now filelib:find_source() by default searches one level below "src". The same applies to "esrc". That directory is only mentioned in filename(3).
2018-01-05hipe: Avoid out-of-memory crash for bs_SUITE:bs_constructSverker Eriksson
2018-01-04Remove unsafe is_record/test_arity optimizationsJohn Högberg
The type optimizations for is_record and test_arity checked whether the arity was equal to the size stored in the type information, which is incorrect since said size is the *minimum* size of the tuple (as determined by previous instructions) and not its exact size. A future patch to the 'master' branch will restore these optimizations in a safe manner.
2018-01-04Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/tls_connection.erl
2018-01-04Merge branch 'ingela/ssl/error-handling-race/ERL-539/OTP-14852' into maintIngela Anderton Andin
* ingela/ssl/error-handling-race/ERL-539/OTP-14852: ssl: Prevent error handling race condition
2018-01-04ssl: Prevent error handling race conditionIngela Anderton Andin
ERL-539
2018-01-03Merge branch 'maint'Sverker Eriksson
2018-01-03Merge PR-1664 from sverker/sverker/hipe-bs_put_utf8-gc-bug OTP-14850Sverker Eriksson
Fix GC bug for HiPE primop bs_put_utf8
2018-01-03Fix bug in hipe primop bs_put_utf8Sverker Eriksson
by preventing it from doing GC, which generated code relies on.
2018-01-03[cdv] Don't crash when dump is truncated in module attributesSiri Hansen
This bug was introduced by commit 3b964e8dbaa0cd73ca7a983b3ce948e0dbd2c35c
2018-01-03Disallow NULs in filename-encoded stringsJohn Högberg
Previously we accepted trailing NULs, which was backwards compatible as such usage never resulted in misbehavior in the first place. The downside is that it prevented erts_native_filename_need from returning an accurate number of *actual characters*, needlessly complicating encoding-agnostic code like erts_osenv.
2018-01-03Replace the libc environment with a thread-safe emulationJohn Högberg
putenv(3) and friends aren't thread-safe regardless of how you slice it; a global lock around all environment operations (like before) keeps things safe as far as our own operations go, but we have absolutely no control over what libc or a library dragged in by a driver/NIF does -- they're free to call getenv(3) or putenv(3) without honoring our lock. This commit solves this by setting up an "emulated" environment which can't be touched without going through our interfaces. Third-party libraries can still shoot themselves in the foot but benign uses of os:putenv/2 will no longer risk crashing the emulator.
2017-12-22Merge branch 'maint'Hans Nilsson
* maint: ssh: ssh_dbg updates ssh: Better reports in some test case failures ssh: Tests - timeout catches external ssh that does not disconnect
2017-12-22Merge branch 'hans/ssh/cuddle_ssh_test' into maintHans Nilsson
* hans/ssh/cuddle_ssh_test: ssh: Better reports in some test case failures ssh: Tests - timeout catches external ssh that does not disconnect
2017-12-22Merge branch 'hans/ssh/cuddle_ssh_dbg' into maintHans Nilsson
* hans/ssh/cuddle_ssh_dbg: ssh: ssh_dbg updates
2017-12-22Merge branch 'maint'Hans Bolinder
* maint: tools: Correct a counting bug in Cover
2017-12-22Merge branch 'hasse/cover/fix_counting/OTP-14817/PR-1641' into maintHans Bolinder
* hasse/cover/fix_counting/OTP-14817/PR-1641: tools: Correct a counting bug in Cover
2017-12-21Merge branch 'maint'Ingela Anderton Andin
2017-12-21Merge remote-tracking branch 'origin/ingela/inets/remove-legacy-test-suite' ↵Ingela Anderton Andin
into maint * origin/ingela/inets/remove-legacy-test-suite: inets: Remove old legacy SUITE
2017-12-21ssh: ssh_dbg updatesHans Nilsson
2017-12-21ssh: Better reports in some test case failuresHans Nilsson
2017-12-21ssh: Tests - timeout catches external ssh that does not disconnectHans Nilsson
2017-12-21tools: Correct a counting bug in CoverHans Bolinder
See also PR #1641, https://github.com/erlang/otp/pull/1641. The bug was introduced in commit ab435488a (Erlang/OTP 18).
2017-12-21Merge branch 'maint'Sverker Eriksson
2017-12-21Merge branch 'sverker/cuddle-valgrind' into maintSverker Eriksson
2017-12-21Merge branch 'hasse/stdlib/gen_server_bench'Hans Bolinder
* hasse/stdlib/gen_server_bench: stdlib: Optimize gen a little stdlib: Introduce gen_server benchmark
2017-12-21vladdu/jinterface_java9/PR-1657/OTP-14844Lukas Larsson
jinterface: add package name for Java 9
2017-12-21Merge pull request #1651 from getong/doc_updateLukas Larsson
false should be never, false not found in the source code
2017-12-20Merge branch 'raimo/ssl-dist-bench/OTP-14657'Raimo Niskanen
* raimo/ssl-dist-bench/OTP-14657: Skip ssl_bench_SUITE, normally
2017-12-20inets: Remove old legacy SUITEIngela Anderton Andin
2017-12-20stdlib: Make ets_SUITE memory check try againSverker Eriksson
as memory stats do not guarantee consistency. A typical ETS test case ends by a lot of deallocating that may now trigger homecoming carrier migration, that in turn can cause quite large inconsistencies in memory stats when same carrier is accounted for twice or not at all. And that's my theory why I now sometimes see transient discrepancies between before and after memory stats.
2017-12-20stdlib: Optimize gen a littleHans Bolinder
2017-12-20stdlib: Introduce gen_server benchmarkHans Bolinder
2017-12-20[observer] Use include_lib instead of include with relative pathSiri Hansen