aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2015-09-09Merge branch 'bjorn/error-loggers/OTP-12864' into maintBjörn Gustavsson
* bjorn/error-loggers/OTP-12864: Add documentation Introduce sasl_report_SUITE Teach sasl_report to limit crash reports proc_lib: Add format/3 Teach error_logger_tty_h to truncate big messages error_logger_tty_h: Refactor and modernize code Teach error_logger_file_h to truncate big messages error_logger_file_h: Refactor and modernize code Remove unused code in error logger handlers Add error_logger_h_SUITE sasl_SUITE: Add a rudimentary test of the utc_log configuration sasl_SUITE: Correct the log_file/1 test case proc_lib_SUITE: Remove added report handlers zip_SUITE: Don't trust priv_dir to be empty
2015-09-09dialyzer: Correct the handling of parameters of opaque typesHans Bolinder
Prior to this commit, the fact that parameters of opaque types are expanded differently depending on the current values of limits used during expansion, caused problems later when the types of parameters are used for determining if opaque types are comparable.
2015-09-07Merge branch 'sverk/crypto-ec_curves/OTP-12944' into maintSverker Eriksson
* sverk/crypto-ec_curves/OTP-12944: crypto: Make ec_curves/0 return empty list if not supported
2015-09-07Merge branch 'egil/fix-compiler-map-register/OTP-12967' into maintBjörn-Egil Dahlberg
2015-09-07Add documentationBjörn Gustavsson
2015-09-07Introduce sasl_report_SUITEBjörn Gustavsson
2015-09-07Teach sasl_report to limit crash reportsBjörn Gustavsson
2015-09-07proc_lib: Add format/3Björn Gustavsson
We'll need a way to limit the size of the crash report produced by proc_lib:format(). Add format/3, where the third argument is a depth argument.
2015-09-07Teach error_logger_tty_h to truncate big messagesBjörn Gustavsson
Add the possibility to truncate big messages to avoid running out of memory.
2015-09-07error_logger_tty_h: Refactor and modernize codeBjörn Gustavsson
Refactor, simplify, and modernize the code to facilitate future improvements in the following commits.
2015-09-07Teach error_logger_file_h to truncate big messagesBjörn Gustavsson
Add the possibility to truncate big messages to avoid running out of memory.
2015-09-07error_logger_file_h: Refactor and modernize codeBjörn Gustavsson
Refactor, simplify, and modernize the code to facilitate future improvements in the following commits.
2015-09-07Remove unused code in error logger handlersBjörn Gustavsson
A long time ago, errors from the emulator itself was sent as messages that would end up in the handle_info/2 function. Those clauses in handle_info/2 can be removed. The code for handling events tagged 'info' instead of 'info_msg' can also be taken out.
2015-09-07Add error_logger_h_SUITEBjörn Gustavsson
2015-09-07sasl_SUITE: Add a rudimentary test of the utc_log configurationBjörn Gustavsson
2015-09-07sasl_SUITE: Correct the log_file/1 test caseBjörn Gustavsson
The test case did not test the log files were created. And they were not created, because filelib:ensure_dir/1 was used incorrectly.
2015-09-07proc_lib_SUITE: Remove added report handlersBjörn Gustavsson
Report handlers are not automatically removed. That means that the report handler will remain installed until the entire running of the stdlib test suite finishes. That could potentially cause problems.
2015-09-07zip_SUITE: Don't trust priv_dir to be emptyBjörn Gustavsson
The unzip_to_binary/1 and zip_to_binary/1 test cases need the test_server's priv_dir to be empty. On Windows, file system pecularities can prevent us from emptying priv_dir. Since the point of this test case is not to test file operations on Windows, simplify things by working in a newly created sub directory of priv_dir.
2015-09-04compiler: Fix get_map_elements register corruptionBjörn-Egil Dahlberg
Instruction get_map_elements might destroy target registers when the fail-label is taken. Only seen for patterns with two, and only two, target registers. Specifically: we copy one register, and then jump. foo(A,#{a := V1, b := V2}) -> ... foo(A,#{b := V}) -> ... call foo(value, #{a=>whops, c=>42}). corresponding assembler: {test,is_map,{f,5},[{x,1}]}. {get_map_elements,{f,7},{x,1},{list,[{atom,a},{x,1},{atom,b},{x,2}]}}. %% if 'a' exists but not 'b' {x,1} is overwritten, jump {f,7} {move,{integer,1},{x,0}}. {call_only,3,{f,10}}. {label,7}. {get_map_elements,{f,8},{x,1},{list,[{atom,b},{x,2}]}}. %% {x,1} (src) is read with a corrupt value {move,{x,0},{x,1}}. {move,{integer,2},{x,0}}. {call_only,3,{f,10}}. The fix is to remove 'opt_moves' pass for get_map_elements instruction in the case of two or more destinations. Reported-by: Valery Tikhonov
2015-09-04compiler: Add extra checks for get_map_elements in validatorBjörn-Egil Dahlberg
2015-09-04compiler: Add test for corrupt register in get_map_elementsBjörn-Egil Dahlberg
2015-09-04dialyzer: Fix erlang:abs/1Hans Bolinder
Fix the range type of erlang:abs/1.
2015-08-31Merge branch 'sverk/hipe-fix-literal-crc' into maintSverker Eriksson
* sverk/hipe-fix-literal-crc: erts,hipe,dialyzer: Fix hipe checkum of target runtime system erts: Change THE_NON_VALUE to not be hard coded in hipe compiler OTP-12962 OTP-12963 OTP-12964
2015-08-31erts,hipe,dialyzer: Fix hipe checkum of target runtime systemSverker Eriksson
Main problem: A faulty HIPE_LITERAL_CRC was not detected by the loader. Strangeness #1: Dialyzer should ask the hipe compiler about the target checksum, not an internal bif. Strangeness #2: The HIPE_SYSTEM_CRC checksum was based on the HIPE_LITERALS_CRC checksum. Solution: New HIPE_ERTS_CHECKSUM which is an bxor of the two (now independent) HIPE_LITERALS_CRC and HIPE_SYSTEM_CRC. HIPE_LITERALS_CRC represents values that are assumed to stay constant for different VM configurations of the same arch, and are therefor hard coded into the hipe compiler. HIPE_SYSTEM_CRC represents values that may differ between VM variants. By default the hipe compiler asks the running VM for this checksum, in order to create beam files for the same running VM. The hipe compiler can be configured (with "make XCOMP=yes ...") to create beam files for another VM variant, in which case HIPE_SYSTEM_CRC is also hard coded. ToDo: Treat all erts properties the same. Either ask the running VM or hard coded into hipe (if XCOMP=yes). This will simplify and reduce the risk of dangerous mismatches. One concern might be the added overhead from more frequent calls to hipe_bifs:get_rts_param.
2015-08-30ssh: dh_gex defautl values increased. Groups addedHans Nilsson
2015-08-30ssh: Reorganize and extend the test suitesHans Nilsson
Add ssh_trpt_test_lib:instantiate/2, ssh_test_lib:default_algoritms/2 and algo_intersection/2 ssh_to_openssh_SUITE uses only algos that sshd and ssh client supports raised timeout limit in ssh_basic_SUITE:ssh_connect_arg4_timeout Break out ssh_renegotiate_SUITE from ssh_basic_SUITE Move std_daemon/4 to ssh_test_lib.erl Add ssh_algorithms_SUITE Add ssh_options_SUITE Add assymetric testing of algorithms Add openssh tests to ssh_algorithms_SUITE Remove algo tests from ssh_sftp_SUITE (now in ssh_algorithms_SUITE) Removed kex algo tests from in ssh_basic_SUITE because they are now in ssh_algorithm_SUITE. fixed test case ssh_protocol_SUITE:no_common_alg_server_disconnects/1
2015-08-29Merge branch 'hans/ssh/kex_ecdh/OTP-12622' into maintHans Nilsson
* hans/ssh/kex_ecdh/OTP-12622: ssh: Elliptic Curve Diffie-Hellman (ECDH)
2015-08-29ssh: Elliptic Curve Diffie-Hellman (ECDH)Hans Nilsson
Adds ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp512 and OTP-12938 hmac-sha2-512
2015-08-28ssh: update vsn.mkHans Nilsson
2015-08-26Merge branch 'dgud/stdlib/zip-optimize/OTP-12950' into maintDan Gudmundsson
* dgud/stdlib/zip-optimize/OTP-12950: Optimize zip:unzip/2 when uncompressing to memory
2015-08-26Merge branch 'dgud/debugger/fix-case-clause/OTP-12911' into maintDan Gudmundsson
* dgud/debugger/fix-case-clause/OTP-12911: debugger: Fix broken debugger:quick/3 start
2015-08-26Merge branch 'dgud/wx/fix-test' into maintDan Gudmundsson
* dgud/wx/fix-test: wx: Fix assert log test
2015-08-26Merge branch 'dgud/mnesia/use_now_in_tests' into maintDan Gudmundsson
* dgud/mnesia/use_now_in_tests: Remove erlang:now() and random usage in tests
2015-08-25ssh: add extra random length padding in packetsHans Nilsson
A new experimental option 'max_random_length_padding', not documented so it might change...
2015-08-25Merge branch 'hans/ssh/deps_in_src_Makefile' into maintHans Nilsson
* hans/ssh/deps_in_src_Makefile: ssh: dependencies added in ssh/src/Makefile
2015-08-25Merge branch 'hans/ssh/prolong_short_timetrap' into maintHans Nilsson
* hans/ssh/prolong_short_timetrap: ssh: doubled short timetrap in testcase
2015-08-25Merge branch 'eksperimental/patch-1' into maintHenrik Nord
* eksperimental/patch-1: Improve success message when 2 tests have passed OTP-12952
2015-08-25dialyzer: Correct the timing of the phase called 'remote'Hans Bolinder
2015-08-25dialyzer: Optimize expansion of parameters of opaque typesHans Bolinder
Opaque recursive parameters are expanded faster.
2015-08-25dialyzer: Optimize the expansion of parameterized types somewhatHans Bolinder
Expand parameters when needed only. The opaqueness is removed from types expanded to any().
2015-08-25dialyzer: Improve the handling of recursive parameterized opaque typesHans Bolinder
2015-08-25dialyzer: Generalize an argument of erl_types:t_from_form()Hans Bolinder
Add more information about the caller of t_from_form(). Instead of just the module, also provide name of the type, spec, or record where the type form resides.
2015-08-24ssh: doubled short timetrap in testcaseHans Nilsson
2015-08-24erts: Change THE_NON_VALUE to not be hard coded in hipe compilerSverker Eriksson
Instead ask running VM for the value of THE_NON_VALUE, which is different between opt and debug VM. Same hipe compiler can now compile for both opt and debug VM.
2015-08-24ssh: dependencies added in ssh/src/MakefileHans Nilsson
2015-08-24Optimize zip:unzip/2 when uncompressing to memoryDan Gudmundsson
Optimize the case where we are appending to the end of the binary, use binary syntax to create binaries with room for expansion in the next loop, instead of using iolist_to_binary which creates a binary of the exact size and needs to be copied in each loop. Also remove support the unused Acc as iolists.
2015-08-21hipe/dialyzer: Fix a bug concerning opaque types and keydelete/3Hans Bolinder
Thanks to ILYA Khlopotov for pointing the bug out.
2015-08-21stdlib: fix a qlc bug introduced in 18.0Hans Bolinder
As pointed out by roowe, qlc does not handle errors in early compiler (scanner, parser) well in OTP 18.0.
2015-08-20Merge branch 'maint-18' into maintHenrik Nord
2015-08-19crypto: Make ec_curves/0 return empty list if not supportedSverker Eriksson