aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-02-03Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Fix a Dialyzer warning
2017-02-03Merge branch 'hasse/dialyzer/fix_a_warning' into maintHans Bolinder
* hasse/dialyzer/fix_a_warning: dialyzer: Fix a Dialyzer warning
2017-02-03dialyzer: Fix a Dialyzer warningHans Bolinder
2017-02-03Merge branch 'maint'Björn-Egil Dahlberg
2017-02-03Fix merge commitBjörn-Egil Dahlberg
This fixes commit f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed
2017-02-03erge branch 'maint'Hans Nilsson
Conflicts: OTP_VERSION
2017-02-03Merge branch 'maint' of github.com:erlang/otp into maintHans Nilsson
2017-02-03Merge branch 'maint-18' into maintHans Nilsson
Conflicts: OTP_VERSION erts/doc/src/notes.xml erts/emulator/sys/unix/erl_unix_sys.h erts/emulator/sys/unix/sys.c erts/vsn.mk lib/crypto/c_src/crypto.c lib/crypto/doc/src/notes.xml lib/crypto/vsn.mk lib/inets/doc/src/notes.xml lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.app.src lib/ssh/src/ssh_connection_handler.erl lib/ssh/vsn.mk otp_versions.table
2017-02-03Merge branch 'maint'Björn-Egil Dahlberg
2017-02-03Merge branch 'egil/erts/dont-check-autoconf-version/OTP-14187' into maintBjörn-Egil Dahlberg
* egil/erts/dont-check-autoconf-version/OTP-14187: erts: Don't check autoconf version
2017-02-03Merge pull request #1325 from kimshrier/statem_design_principles_typosRaimo Niskanen
Fix a few gen_statem behaviour documentation typos
2017-02-03dialyzer: Attempt to reduce memory consumptionHans Bolinder
The 'deps' field is reset when no longer used, which could possibly save some memory.
2017-02-03dialyzer: Do not spawn all workers at onceHans Bolinder
Spawning all worker processes at once has the potential to increase peak memory consumption. Therefore the implementation is now slightly modified: `20 * dialyzer_utils:parallelism()' processes are running in parallel. 20 i quite a big factor, but seems necessary to keep all schedulers busy according to the Observer application's Load Charts, with a 100 ms update interval.
2017-02-03dialyzer: Write PLT in subprocessHans Bolinder
At common case, which will otherwise leave a big heap.
2017-02-03dialyzer: Remove code for non-started workersHans Bolinder
Since SCCs and modules are now topologically sorted (relative the active graph), we can safely assume that workers have been started.
2017-02-03dialyzer: Sort graphs topologicallyHans Bolinder
Although some variable names indicate that lists of SCCs and modules are sorted, that was not always the case. The effect on the execution time of sorting them doesn't seem to be significant. dialyzer_coordinator:sccs_to_pids() should now always return an empty second list (not yet started workers). Since the condensation of graphs often needs a lot of heap memory, it is run in a separate process.
2017-02-03dialyzer: Compress some PLT tablesHans Bolinder
Compressing the signatures or the contract records would cost time. The contract records are still held in two places (code server and PLT) in many cases.
2017-02-03dialyzer: Check return value of digrahp:add_edge()Hans Bolinder
2017-02-03dialyzer: Use less memory for the PLT when analyzingHans Bolinder
The two tables for (record) types and exported types are no longer kept in memory (by the PLT) when analyzing, which reduces memory consumption. A first step towards removing (or replacing) the #plt{} record.
2017-02-03typer: Fix a bug regarding the -T optionHans Bolinder
The -T option has not been working for a long time.
2017-02-03dialyzer: Do not keep the code server's type info on the heapHans Bolinder
The table used during translation of forms to types used to be a dictionary of the type info (-type(), -opaque(), and -record()) for all modules. Now it is reduced to the modules that are needed to handle references to types in other modules. The PLT:s type info is still kept on the heap.
2017-02-03Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Increase time limit for tests dialyzer: Optimize typesig dialyzer: Optimize evaluation of complex code dialyzer: Optimize collection of variables Conflicts: lib/dialyzer/src/dialyzer_typesig.erl
2017-02-03Merge branch 'hasse/dialyzer/memory_opt/OTP-14126' into maintHans Bolinder
* hasse/dialyzer/memory_opt/OTP-14126: dialyzer: Increase time limit for tests dialyzer: Optimize typesig dialyzer: Optimize evaluation of complex code dialyzer: Optimize collection of variables
2017-02-02Dirty schedulers should not touch scheduler data pointed to by process structRickard Green
2017-02-02ssh: document crypto:genarate_key(dh, [P,G,L])Hans Nilsson
2017-02-02ssh: document new and retired algorithmsHans Nilsson
2017-02-02erts: Add size of literals to module code sizeSverker Eriksson
in crash dump and (l)oaded command in break menu.
2017-02-02kernel: Document signal serverBjörn-Egil Dahlberg
2017-02-02Merge branch 'hans/ssh/default_algo_list/OTP-14110'Hans Nilsson
2017-02-02Merge branch 'maint'Hans Nilsson
2017-02-02Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
2017-02-02Make "~s" fail for Unicode atomsBjörn Gustavsson
26b59dfe67e introduced support for arbitrary Unicode characters in atoms. After that commit, it is possible to print any atom with a "~s" format string: 1> io:format("~s\n", ['спутник']). спутник Note that the same text as a string will fail: 2> io:format("~s\n", ["спутник"]). ** exception error: bad argument in function io:format/3 called as io:format(<0.53.0>,"~s\n", [[1089,1087,1091,1090,1085,1080,1082]]) Being more permissive for atoms is probably beneficial for io:format/2. However, for io_lib:format/2, the new behavior breaks this guarantee in the documentation for io_lib:format/2: If and only if the Unicode translation modifier is used in the format string (that is, ~ts or ~tc), the resulting list can contain characters beyond the ISO Latin-1 character range (that is, numbers > 255). The problem is that you can no longer be sure whether io_lib:format/2 will return an iolist that can be successfully passed to a port or iolist_to_binary/1. We see three solutions: 1. Keep the new behavior. That means that you can get non-iolist data when you use ~s for printing an atom, but a 'badarg' when printing Unicode strings. That is inconsistent, and it delays error detection if the result is passed to a port or iolist_to_binary/1. 2. Always allow Unicode characters for ~s. That would be incompatible, because ~s says that any binary is encoded in latin1, while ~ts says that any binary is encoded in UTF-8. To implement this solution, we could no longer support latin1 binaries; all binaries would have to be encoded in UTF-8. 3. Only allow ~s for atoms where all characters are less than 256. Require ~ts to print atoms such as 'спутник'. We reject solution 1 because it is slightly incompatible and is inconsistent. We reject solution 2 because it too incompatible. Therefore, this commit implements solution 3.
2017-02-02Merge branch 'maint'Ingela Anderton Andin
2017-02-02Merge branch 'ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174' into maintIngela Anderton Andin
* ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174: inets: httpd - shutdown gracefully on connection or TLS handshake errors
2017-02-02erts: Don't check autoconf versionBjörn-Egil Dahlberg
2017-02-02Merge branch 'maint'Ingela Anderton Andin
2017-02-02Merge branch 'ingela/ssl/config-propagation' into maintIngela Anderton Andin
* ingela/ssl/config-propagation: ssl: Simplify configuration code ssl: Make sure PEM cache works as intended
2017-02-02Merge branch 'egil/remove-warnings/OTP-14180'Björn-Egil Dahlberg
* egil/remove-warnings/OTP-14180: erts: Remove unnecessary warnings
2017-02-02erts: Use os module instead of erts_internal for set_signal/2Björn-Egil Dahlberg
* Add specs * Change return signature to 'ok' instead of 'true'
2017-02-02erts: Do not handle SIGILLBjörn-Egil Dahlberg
* Remove SIGILL from signal whitelist
2017-02-02erts: Fix thread suspend in crashdumpBjörn-Egil Dahlberg
* move signal handler setup
2017-02-02erts: Do not enable SIGINTBjörn-Egil Dahlberg
2017-02-02erts: Use generic signal handlerBjörn-Egil Dahlberg
2017-02-02erts: Add OS signal testsBjörn-Egil Dahlberg
2017-02-01fix a few statem typosKim Shrier
2017-02-01Updated OTP versionOTP-18.3.4.5Erlang/OTP
2017-02-01Prepare releaseErlang/OTP
2017-02-01Merge branch 'hans/ssh/dh_group_exc_optimize/OTP-14169' into maint-18Erlang/OTP
* hans/ssh/dh_group_exc_optimize/OTP-14169: ssh: optimize kex dh_gex using new crypto functionality crypto: Added optional length to paramlist in generate_key ssh,crypto: prepare for release # Conflicts: # lib/ssh/src/ssh_transport.erl
2017-02-01Merge branch 'hans/ssh/kex_gex_min_max/OTP-14166' into maint-18Erlang/OTP
* hans/ssh/kex_gex_min_max/OTP-14166: ssh: correct host key signature calculation
2017-02-01Merge branch 'ingela/inets/httpd-gracefull-shutdown/OTP-14173' into maint-18Erlang/OTP
* ingela/inets/httpd-gracefull-shutdown/OTP-14173: inets: Prepare for release inets: httpd - shutdown gracefully on connection or TLS handshake errors