aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-11-27Add some more binary syntax construction testsKostis Sagonas
Some more cases (taken from the BEAM bs_construct suite) that used to show different behaviour than BEAM when compiled to native code were included in the appropriate test file of the HiPE test suite.
2015-11-27hipe: Guard against enormous numbers in rangesMagnus Lång
This allows us to compile bs_match_int_SUITE with HiPE without a system_limit crash.
2015-11-27hipe: Fix constructing huge binariesMagnus Lång
Bugs were fixed in hipe_rtl_binary_match:{first_part/3,make_size/3,set_high/1} in commit 5aea81c49, but it turns out these had been copy-pasted verbatim into hipe_rtl_binary_construct, where they were causing further bugs. They have now moved to hipe_rtl_binary, from where they are included by the other two modules. Furthermore, first_part/3 (reamed get_word_integer/3, since it loads integers that fits into an unsigned word), and make_size/3 now accepts a fourth argument to distinguish too large arguments (which should cause a system_limit exception) from negative or non-integral arguments. The use of first_part/3 (get_word_integer/3) from 5aea81c49 in hipe_rtl_binary_construct now allows several binary construction instructions to accept bignum sizes, as they were supposed to. Additionally, calls to hipe_rtl_binary_construct:check_and_untag_fixnum/3 were replaced with get_word_integer/4 since all of them were also supposed to accept sufficiently small bignums, but didn't, and check_and_untag_fixnum/3 was essentially identical to first_part/3 anyway. HiPE is now capable of passing bs_construct_SUITE completely unmodified.
2015-11-27hipe: Fix binary constructions failing with badarithMagnus Lång
Expressions like <<0:(fun(X)->X end(anka))>> would fail with 'badarith' in HiPE, but 'badarg' in BEAM. hipe_beam_to_icode was attempting to optimise the amount of code generated by letting the arithmetic error propagate instead of catching it. However, since it was emitting a block to throw 'badarg' in that case anyway, we can just reuse it to achieve just as compact code that behaves exactly like BEAM.
2015-11-27Add missing corner-case to bs_construct_SUITEMagnus Lång
huge_binary/1 did not consider that the Shift variable is not a constant, and misses the case of a literal size.
2015-11-27hipe: Allow unsigned args in hipe_rtl_arithMagnus Lång
hipe_rtl_arith is only used by hipe_rtl_ssa_const_prop, which applies it to any RTL, including RTL where the intent is to do unsigned math. Since signed and unsigned operations produce the same 2's complement result, this change is harmless. On 32-bit architectures it caused HiPE crashes when compiling code like <<0:((1 bsl 32)-1)>>, because the size of the field is too large to fit in a signed integer.
2015-11-27hipe: test unit size match in bs_put_binary_allMagnus Lång
The unit size field was previously completely discarded when lowering this instruction from BEAM to Icode. This feature was previously missing and expressions such as <<0, <<1:1>>/binary>> would succeed construction when compiled with HiPE.
2015-11-27hipe: test unit size match in bs_appendMagnus Lång
This feature was previously missing and expressions such as <<<<1:1>>/binary>> would succeed construction when compiled with HiPE. A primop is_divisible is introduced to handle the case when the unit size is not a power of two.
2015-11-27Fix hipe_rtl_binary_construct:floorlog2/1Magnus Lång
Relying on double-precision floating-point arithmetic to compute the log2 of an integer up to 64 bits long leads to rounding errors.
2015-11-27erts: Fix rare case of faulty heap fragment deallocationSverker Eriksson
after major GC. Can only be caused by distributed messages containing large maps. Bad map hashing will increase the risk.
2015-11-27inets: Add warning header in "chunk trailer" when mod_esi callback times out ↵Ingela Anderton Andin
or fails Also remove legacy debug macros and add help function httpd_util:error_log/2 to avoid code duplication.
2015-11-27inets: Remove exit that generates an incorrect internal server errorIngela Anderton Andin
2015-11-27Merge branch 'maint-18' into maintHans Nilsson
* maint-18: Updated OTP version Update release notes ssh: vsn.mk updated ssh: New test cases for SSH_MSG_KEX_DH_GEX_REQUEST_OLD ssh: update existing testcases ssh: Improve group selection ssh: implemented server side SSH_MSG_KEX_DH_GEX_REQUEST_OLD for putty client Conflicts: lib/ssh/src/ssh_transport.erl lib/ssh/test/ssh_protocol_SUITE.erl lib/ssh/vsn.mk
2015-11-27Merge branch 'sverk/cpool_fetch-dc_list-fix' into maintSverker Eriksson
OTP-13147 * sverk/cpool_fetch-dc_list-fix: erts: Reduce alloc_SUITE:rbtree runtime for valgrind erts: Remove double free in efile_drv erts: Improve alloc_SUITE:migration test erts: Pass free mem and build type to alloc_SUITE tests erts: Fix snprintf in alloc_SUITE for windows erts: Workaround for strange crash on win64 in alloc_SUITE test code erts: Refactor alloc_SUITE to use NIFs instead of drivers erts: Add enif_getenv erts: Make key argument constant for erl_drv_{get|put}env erts: Add alloc_SUITE:migration erts: Add TEST allocator erts: Fix confusion of callbacks destroying_mbc() vs remove_mbc() erts: Fix resurrection of carriers from dc_list
2015-11-27inets: SNI to be passed with requests through CONNECTKirilll Zaborsky
httpc should fill SNI extenstion for HTTPS requests sent through CONNECT tunnel to provide proper access to websites using SNI
2015-11-27Merge branch 'hb/stdlib/fix_shell_strings/OTP-13145' into maintHans Bolinder
* hb/stdlib/fix_shell_strings/OTP-13145: stdlib: Fix the shell command rp and pretty-printing
2015-11-27stdlib: Fix the shell command rp and pretty-printingHans Bolinder
The shell command 'rp' prints strings as lists of integers when pretty printing of lists is 'false'.
2015-11-26Merge branch 'sverk/setnode-rename-bug/OTP-13076' into maintSverker Eriksson
* sverk/setnode-rename-bug/OTP-13076: erts: Fix bug in setnode/2 erts: Remove ERTS_PSD_DIST_ENTRY erts: Remove faulty ASSERT in erts_proc_*_refc
2015-11-26erts: Reduce alloc_SUITE:rbtree runtime for valgrindSverker Eriksson
2015-11-26erts: Remove double free in efile_drvSverker Eriksson
That double free is probably very seldom invoked as the port is already gone leading to free_data being called instead of file_async_ready.
2015-11-26erts: Improve alloc_SUITE:migration testSverker Eriksson
In the quest to improve code coverage in cpool_fetch
2015-11-26erts: Pass free mem and build type to alloc_SUITE testsSverker Eriksson
2015-11-26erts: Fix snprintf in alloc_SUITE for windowsSverker Eriksson
2015-11-26erts: Workaround for strange crash on win64 in alloc_SUITE test codeSverker Eriksson
For some reason setjmp() crash when having jmp_buf heap allocated but works when stack allocated.
2015-11-26erts: Refactor alloc_SUITE to use NIFs instead of driversSverker Eriksson
2015-11-26erts: Add enif_getenvSverker Eriksson
to read OS environment variables in a safe and portable way.
2015-11-26Merge branch 'hans/ssh/optimize_sftp_window_handling/OTP-13130' into maintHans Nilsson
* hans/ssh/optimize_sftp_window_handling/OTP-13130: ssh: sftpd callback takes new option 'recv_window_size', defaults to 1000000 ssh: added 'pending' in recv_window handling and limit sending
2015-11-26Updated OTP versionOTP-18.1.5Erlang/OTP
2015-11-26Update release notesErlang/OTP
2015-11-26Merge branch 'hans/ssh/dh_gex_request_old/OTP-13140' into maint-18Erlang/OTP
* hans/ssh/dh_gex_request_old/OTP-13140: ssh: vsn.mk updated ssh: New test cases for SSH_MSG_KEX_DH_GEX_REQUEST_OLD ssh: update existing testcases ssh: Improve group selection ssh: implemented server side SSH_MSG_KEX_DH_GEX_REQUEST_OLD for putty client
2015-11-26ssh: vsn.mk updatedHans Nilsson
2015-11-26ssh: New test cases for SSH_MSG_KEX_DH_GEX_REQUEST_OLDHans Nilsson
2015-11-26ssh: update existing testcasesHans Nilsson
2015-11-26ssh: Improve group selectionHans Nilsson
Now it chooses the first found if no exact match.
2015-11-26ssh: implemented server side SSH_MSG_KEX_DH_GEX_REQUEST_OLD for putty clientHans Nilsson
2015-11-26Merge branch 'legoscia/ssl_connection_terminate_crash' into maintZandra
* legoscia/ssl_connection_terminate_crash: Avoid crash for SSL connections with nonexistent keyfile OTP-13144
2015-11-26Merge branch 'legoscia/tls_dist_nodelay' into maintZandra
* legoscia/tls_dist_nodelay: Add test for dist_nodelay option Honour dist_nodelay socket option in tls_dist proxy OTP-13143
2015-11-26Merge branch 'legoscia/ssl-dist-error-handling' into maintZandra
* legoscia/ssl-dist-error-handling: In ssl_tls_dist_proxy, pass along EPMD registration errors OTP-13142
2015-11-26Merge branch 'zandra/fix-24h-macro-in-suite' into maintZandra
* zandra/fix-24h-macro-in-suite: fix 24h macro in test suite
2015-11-26Merge branch 'ppikula/fix-24h-macro' into maintZandra
* ppikula/fix-24h-macro: fix incorrect number of seconds in 24h macro The previous commit - 7b93f5d8a224a0a076a420294c95a666a763ee60 fixed the macro only in one place. OTP-13141
2015-11-26Unify internal error handlingRaimo Niskanen
2015-11-26Fix file:pread and :pwrite to use character encodingRaimo Niskanen
2015-11-25Ensure single 'raw' option is handled correctlyRoger Lipscombe
Add a test to ensure that a single 'raw' option can be passed to ssl:listen correctly. Note: multiple raw options are (incorrectly) handled by inet:listen_options. See http://erlang.org/pipermail/erlang-questions/2014-March/078371.html
2015-11-25ssh: sftpd callback takes new option 'recv_window_size', defaults to 1000000Hans Nilsson
2015-11-25ssh: added 'pending' in recv_window handling and limit sendingHans Nilsson
2015-11-24Test interface listen option for TLS distributionMagnus Henoch
Add test that checks that the option inet_dist_use_interface is used when starting a node with TLS distribution.
2015-11-24Test socket listen options for TLS distributionMagnus Henoch
Add test that checks that the option inet_dist_listen_options is used when starting a node with TLS distribution. This test was adapted from inet_dist_options_options in erl_distribution_SUITE.
2015-11-24Test port options for TLS distributionMagnus Henoch
Add test that checks that the options inet_dist_listen_min and inet_dist_listen_max are used when starting a node with TLS distribution.
2015-11-24TLS Dist: Use inet_dist_ optionsTom Briden
The inet_dist_ options, such as min/max port numbers aren't used with TLS distribution. This commits uses those settings in the same way as they're used in inet_tcp_dist.erl
2015-11-24wx: Add a command queue check after event sent to erlangDan Gudmundsson
Some events are callbacks inside wxWidgets so idle processing doesn't take place until operation is completed, for instance move/resize window on Windows. This way we get some response while mouse button is pressed.