aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-08-06Fix syntax error in logger_disk_log_h.xmlShion Ryuu
2019-08-05Merge pull request #2333 from matwey/fix_ethr_x86_cpuid_asm/OTP-15971Lukas Larsson
erts: Do not use named no_cpuid label in asm
2019-08-05Merge branch 'bjorn/compiler/fix-stack-init/ERL-1017/OTP-15968' into maintBjörn Gustavsson
* bjorn/compiler/fix-stack-init/ERL-1017/OTP-15968: Ensure that the stack slots are initialized when matching maps
2019-08-05Ensure that the stack slots are initialized when matching mapsBjörn Gustavsson
When matching a map, the compiler could fail to generate code that would initialize all stack slots (Y registers) properly. Here is a general outline of code that *could* cause this problem: foo(Key, Map) -> Res = case Map of #{Key := Val} -> %% Do something with Val here. . . . #{} -> [] end, %% The stack slot for Val might not have been initialized %% here if the key was not present in the map. . . . %% Use Res. . . . The code generator would wrongly assume that the map matching would always initialize the stack slot, and if nothing else happened to force that stack slot to be initialized, it would remain uninitialized, which would likely crash the runtime system at the next garbage collection. `beam_validator` is supposed to find these kind of problems, but a bug in `beam_validator` prevented it from detecting this problem. https://bugs.erlang.org/browse/ERL-1017
2019-08-05Merge branch 'john/compiler/fix-delayed-type-inference/OTP-15954/ERL-995' ↵John Högberg
into maint * john/compiler/fix-delayed-type-inference/OTP-15954/ERL-995: beam_validator: Values referenced by other values must be merged
2019-08-02Merge pull request #2336 from ↵Björn Gustavsson
bjorng/bjorn/compiler/fix-slow-beam_ssa_dead/ERL-1014/OTP-15966 Avoid extremely long compilation times for huge functions
2019-08-02Merge branch 'bjorn/compiler/length-misuse/ERL-1013' of ↵Björn Gustavsson
https://github.com/bjorng/otp into maint OTP-15970 * 'bjorn/compiler/length-misuse/ERL-1013' of https://github.com/bjorng/otp: Eliminate a crash in the type optimizer pass
2019-08-02Merge branch 'bjorn/compiler/fix-no_type_opt/ERL-997' of ↵Björn Gustavsson
https://github.com/bjorng/otp into maint OTP-15969 * 'bjorn/compiler/fix-no_type_opt/ERL-997' of https://github.com/bjorng/otp: Fix compiler crash when compiling with +no_type_opt
2019-08-01Merge branch 'bmk/snmp/20190731/correct_top_sup_stop' into maintMicael Karlberg
2019-08-01Merge branch 'bmk/erts/esock/20190730/select_info/OTP-15958' into maintMicael Karlberg
2019-08-01Avoid extremely long compilation times for huge functionsBjörn Gustavsson
Compiling this example takes less than a second for OTP 21: -define(B, {?A,?A,?A,?A,?A}). -define(C, {?B,?B,?B,?B,?B}). -define(D, {?C,?C,?C,?C,?C}). -define(E, {?D,?D,?D}). f() -> ?E = foo:bar(). The compilation time for OTP 22 is about 10 seconds. Most of the time is spent in `beam_ssa_dead`. This commit introduces several optimizations to bring the compilation time down to about a second. The most important of those optimizations is limiting the effort spent searching forward for a joining point for the success and failure labels for a two-way branch. This change is helped by the change of representation of variable sets from `ordsets` to `cerl_sets`. https://bugs.erlang.org/browse/ERL-1014
2019-08-01Merge branch 'bmk/megaco/20190710/test_tweaking' into maintMicael Karlberg
2019-08-01Merge branch 'bjorn/compiler/fix-unsafe-sharing/OTP-15963' into maintBjörn Gustavsson
* bjorn/compiler/fix-unsafe-sharing/OTP-15963: Fix unsafe code sharing
2019-07-31[snmp] Fixed agent|manager top supervisor stopMicael Karlberg
2019-07-31Merge branch 'raimo/inherit-listen-options/OTP-15824' into maintRaimo Niskanen
* raimo/inherit-listen-options/OTP-15824: The linger option is not transferred on *BSD
2019-07-31Merge branch 'bmk/snmp/manager/20190729/test_tweaking' into maintMicael Karlberg
2019-07-31[megaco|test] Add an event list to the test MGC/MGMicael Karlberg
To provide more info when analyzing failed test cases an "event" queue (of max size 10) is added to both the test MG and MGC. This event queue is printed when the process exist. Also, the multi_ack_timeout is wonky, so add anther platform (sunos) to the skip list...
2019-07-31Merge branch 'ingela/ssl/test-enhancment' into maintIngela Anderton Andin
* ingela/ssl/test-enhancment: ssl: Extend tests ssl: Fix better OpenSSL support in test framework ssl: Avoid broken ALPN/NPN renegotiation in OpenSSL
2019-07-31ssl: Extend testsPéter Dimitrov
2019-07-31ssl: Fix better OpenSSL support in test frameworkIngela Anderton Andin
2019-07-31ssl: Avoid broken ALPN/NPN renegotiation in OpenSSLIngela Anderton Andin
All these test work fine with current OpenSSL master
2019-07-30[esock|doc] Updated select-infoMicael Karlberg
2019-07-30[esock] Updated select-infoMicael Karlberg
2019-07-30Merge branch 'hans/ssh/early_crash_fail_logging/ERL-990/OTP-15962' into maintHans Nilsson
* hans/ssh/early_crash_fail_logging/ERL-990/OTP-15962: ssh: added log/4 ssh: Fix log problem in early stages of initialization ssh: Fix potential crash if failure in init of client
2019-07-30Merge branch 'bmk/erts/esock/20190729/eafnosupport_on_solaris10' into maintMicael Karlberg
2019-07-30Merge branch 'bmk/erts/esock/20190724/invalid_sockaddr_null_in_sendto' into ↵Micael Karlberg
maint
2019-07-30Merge branch 'bmk/esock/20190723/renaming_nif_functions/OTP-15955' into maintMicael Karlberg
2019-07-30Merge branch 'bmk/erts/esock/20190717/socket_options/OTP-15904' into maintMicael Karlberg
2019-07-30[megaco|test] Fix copyright end dateMicael Karlberg
2019-07-30Fix compiler crash when compiling with +no_type_optBjörn Gustavsson
If the `no_type_opt` option was given, the compiler would crash when attempting to compile containing with a `try`...`after` construct, such as this code: foo() -> try make_ref() after ok end. To avoid having this bug re-appear, test the `no_type_opt` option in the test suites. https://bugs.erlang.org/browse/ERL-997
2019-07-30Eliminate a crash in the type optimizer passBjörn Gustavsson
https://bugs.erlang.org/browse/ERL-1013
2019-07-29Fix documentation for erlang:is_map_key/2Maxim Fedorov
This function is allowed to be used in guards.
2019-07-29[esoco|test] Attempt to handle unsupported unix domain socketMicael Karlberg
2019-07-29Merge branch 'bmk/snmp/manager/20190723/test_tweaking' into maintMicael Karlberg
2019-07-29Merge branch 'bmk/snmp/agent/20190718/fixing_test_exits' into maintMicael Karlberg
2019-07-29Fix unsafe code sharingBjörn Gustavsson
2019-07-29[snmp|manager|test] Make even deprecated test cases use tc_tryMicael Karlberg
Make even deprecated test cases use the tc_try function (so that all test cases look the same). Also make the skip reason for those test cases be slightly more readable.
2019-07-29[snmp|manager|test] Make use of the tc_try function(s)Micael Karlberg
Make use of the tc_try function(s) in all "active" test cases.
2019-07-29[snmp|test] Add utility functions for running test casesMicael Karlberg
Add a utility function, tc_try/2,3, for running test cases in a uniform way.
2019-07-29[esock|test] Race during socket closeMicael Karlberg
Add a sleep to reduce the chance that process exit has not been "processed" by the nif code. Also increased the test case timetrap for the sc_ctrl_proc_exit group of test cases. OTP-15904
2019-07-29[megaco|test] More timing issuesMicael Karlberg
Adjusted some timeouts... Also, add time stamp to the 'delivery' printouts.
2019-07-29Merge branch 'ingela/ssl/test-enhancment' into maintIngela Anderton Andin
* ingela/ssl/test-enhancment: ssl: Remove NPN test from DTLS interop tests
2019-07-29ssl: Remove NPN test from DTLS interop testsIngela Anderton Andin
OpenSSL does note seem to support NPN for DTLS so we will have to skip those test
2019-07-29Merge branch 'peterdmv/ssl/test-improvements' into maintPéter Dimitrov
* peterdmv/ssl/test-improvements: ssl: Enable TLS 1.3 test groups in FT
2019-07-27erts: Do not use named no_cpuid label in asmMatwey V. Kornilov
Ask compiler to generate unique label name. Using named label has implications on optimizer, that may lead to the compilation errors as the following: pthread/ethread.c: Assembler messages: pthread/ethread.c:213: Error: symbol `no_cpuid' is already defined pthread/ethread.c:213: Error: symbol `no_cpuid' is already defined pthread/ethread.c:213: Error: symbol `no_cpuid' is already defined
2019-07-26ssl: Enable TLS 1.3 test groups in FTPéter Dimitrov
2019-07-26Merge branch 'peterdmv/ssl/psk' into maintPéter Dimitrov
* peterdmv/ssl/psk: ssl: Reorder testcases in ssl_api_SUITE ssl: Fix handshake pause in TLS 1.3 ssl: Implement option honor_cipher_order in TLS 1.3 ssl: Add test for option supported_groups ssl: Document option supported_groups ssl: Fix ssl_api_SUITE:connection_information ssl: Fix property tests for SSLv3 ssl: Update property tests with pre_shared_key ssl: Implement pre_shared_key extension ssl: Update property tests with psk_key_exchange_modes ssl: Implement psk_key_exchange_modes extension
2019-07-26Merge branch 'ingela/ssl/test-enhancment' into maintIngela Anderton Andin
* ingela/ssl/test-enhancment: ssl: Move reuseaddr test to tls_api_SUITE ssl: Avoid devision with zero in ssl_bench_SUITE
2019-07-26ssl: Move reuseaddr test to tls_api_SUITEIngela Anderton Andin
2019-07-26ssl: Avoid devision with zero in ssl_bench_SUITEIngela Anderton Andin
When one test in ssl_bench_SUITE is run as a smoke test in the ordinary test runs it might get problems on windows as time measurement is to coarse