aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-04-24mikpe/erts-logger-integer-truncation/PR-1795/OTP-15032Lukas Larsson
fix integer truncation bugs in error logger path
2018-04-23Merge branch 'sverker/valgrind-uninit-run_queue-ptr'Sverker Eriksson
* sverker/valgrind-uninit-run_queue-ptr: erts: Fix run queue pointer in proxy process
2018-04-23Merge branch 'sverker/ets-cherries/OTP-15031'Sverker Eriksson
* sverker/ets-cherries/OTP-15031: erts: Use table ref for select continuation erts: Refactor erl_db_hash next() into next_live() erts: Change wrong alloc_fnf
2018-04-23Merge branch 'hans/ssh/remove_dead_files/OTP-15028'Hans Nilsson
* hans/ssh/remove_dead_files/OTP-15028: ssh: Remove unused ssh_client_key.erl and ssh_server_key.erl
2018-04-23Merge branch 'lukas/erts/seq_tracer_nif/OTP-15029'Lukas Larsson
* lukas/erts/seq_tracer_nif/OTP-15029: Fix seq_trace erl_tracer bug Fix makefile mkdir warning
2018-04-23Merge branch 'john/erts/fix-sbwt-links'John Högberg
* john/erts/fix-sbwt-links: Fix seealso tags for +sbwt/+swt
2018-04-21fix integer truncation bugs in error logger pathMikael Pettersson
Sending a large term to the error logger has two problems related to the size and sign of the variables used to represent lengths: - the API functions (erts_send_error_term_to_logger() et al) perform an unchecked narrowing conversion from size_t to int when passing dsbufp->str_len to the internal functions; this may both truncate the length and make it negative - do_send_term_to_logger() and do_send_to_logger() multiply the int-typed length by 2 before widening it to Uint and adding a few more values; the intermediate product may overflow causing loss of high bits and a change of sign; if the intermediate product is negative the final size will be an extremely large positive value The end result is that the computed buffer size can be arbitrarily wrong, either too small or too large. While reviewing this code I also found and fixed a potential narrowing bug in erts_set_hole_marker().
2018-04-20erts: Use table ref for select continuationSverker Eriksson
and not the name. For more sane named table semantics. Applies to both select/1 continuation and trap context.
2018-04-20erts: Refactor erl_db_hash next() into next_live()Sverker Eriksson
where argument 'list' is the first candidate (not list->next). Also simplified db_first_hash().
2018-04-20erts: Change wrong alloc_fnfSverker Eriksson
There is no NULL check here !?
2018-04-20ssh: Remove unused ssh_client_key.erl and ssh_server_key.erlHans Nilsson
2018-04-20Merge PR-1792 from saleyn/float_to_listSverker Eriksson
Optimize performance of float_to_list/2
2018-04-20Fix seealso tags for +sbwt/+swtJohn Högberg
2018-04-20erts: Fix run queue pointer in proxy processSverker Eriksson
proc->run_queue detected as uninitialized by valgrind but seems harmless in practice as it's not used for proxy processes. "Bug" introduced in OTP-17 by ca0425c6ff85262bc15367f5fd9cbc51cde52b20 and made worse (but still harmless) in master for OTP-21 at fbb10ebc4a37555c7ea7f99e14286d862993976a.
2018-04-20Update primary bootstrapBjörn Gustavsson
2018-04-20Merge pull request #1783 from bjorng/bjorn/deprecate-get_stacktrace/OTP-14692Björn Gustavsson
Deprecate erlang:get_stacktrace/1
2018-04-20Merge branch 'maint'Hans Nilsson
* maint: Updated OTP version Prepare release inets: Fix broken httpc options handling ssh: Fix server crashes for exit-normal signals ssh: Fix ssh_sftpd:handle_op not returning State Conflicts: OTP_VERSION
2018-04-20Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release erl_interface: Optimize latin1_to_utf8 and friend inets: Fix broken httpc options handling erl_interface: Fix ei_connect ssh: Fix server crashes for exit-normal signals ssh: Fix ssh_sftpd:handle_op not returning State ic: Optimize oe_ei_encode_atom
2018-04-20Merge branch 'sverker/master/optimize-atom-enc-dec/ERIERL-150'Sverker Eriksson
2018-04-20Merge branch 'sverker/erl_interface/ei_connect-erange-fix/OTP-15022'Sverker Eriksson
2018-04-20Merge pull request #1791 from bjorng/bjorn/erts/backtrace_depth/OTP-15026Björn Gustavsson
Make stacktraces consistent when backtrace_depth is 0
2018-04-19erts,erl_interface: Refactor common config of ARCHSverker Eriksson
into aclocal.m4 as LM_HARDWARE_ARCH
2018-04-19Merge 'sverker/optimize-atom-enc-dec/ERIERL-150/OTP-15023'Sverker Eriksson
into master as'sverker/master/optimize-atom-enc-dec/ERIERL-150'
2018-04-19Optimize performance of float_to_list/2Serge Aleynikov
2018-04-19Updated OTP versionOTP-20.3.4Erlang/OTP
2018-04-19Prepare releaseErlang/OTP
2018-04-19Merge branch 'sverker/optimize-atom-enc-dec/ERIERL-150/OTP-15023' into maint-20Erlang/OTP
* sverker/optimize-atom-enc-dec/ERIERL-150/OTP-15023: erl_interface: Optimize latin1_to_utf8 and friend ic: Optimize oe_ei_encode_atom
2018-04-19Merge branch 'sverker/erl_interface/ei_connect-erange-fix/OTP-15022' into ↵Erlang/OTP
maint-20 * sverker/erl_interface/ei_connect-erange-fix/OTP-15022: erl_interface: Fix ei_connect
2018-04-19Merge branch 'peterdmv/httpc_options_handling/ERL-441/OTP-15007' into maint-20Erlang/OTP
* peterdmv/httpc_options_handling/ERL-441/OTP-15007: inets: Fix broken httpc options handling
2018-04-19Merge branch 'hans/ssh/server_exit_normal_exit_20/OTP-15018' into maint-20Erlang/OTP
* hans/ssh/server_exit_normal_exit_20/OTP-15018: ssh: Fix server crashes for exit-normal signals
2018-04-19Merge branch 'hans/ssh/sftpd_rm_dir_err_20/OTP-15004' into maint-20Erlang/OTP
* hans/ssh/sftpd_rm_dir_err_20/OTP-15004: ssh: Fix ssh_sftpd:handle_op not returning State
2018-04-19erl_interface: Optimize latin1_to_utf8 and friendSverker Eriksson
to do word wise check/copy for pure ASCII if ARCH allows it (x86 and amd64).
2018-04-19Merge branch 'hans/ssh/cuddle_tests'Hans Nilsson
* hans/ssh/cuddle_tests: ssh: Declare serial for three test cases ssh: Increase timetrap for slow test machines
2018-04-19Merge branch 'bjorn/compiler/core_lint'Björn Gustavsson
* bjorn/compiler/core_lint: core_lint: Handle repeated variables in map patterns correctly
2018-04-19ssh: Declare serial for three test casesHans Nilsson
2018-04-19ssh: Increase timetrap for slow test machinesHans Nilsson
2018-04-19inets: Fix broken httpc options handlingPéter Dimitrov
- Add support for setting socket options per request. - Add http_ipv6 test group. Change-Id: Ia2aca37c0b5fe64a41995c79ae3399434b17ab8a
2018-04-19Make stacktraces consistent when backtrace_depth is 0Björn Gustavsson
It is allowed to set the backtrace depth to 0, but when an exception is catched the stacktrace will still contain one element: 1> erlang:system_flag(backtrace_depth, 0). 8 2> catch error(badarg). {'EXIT',{badarg,[{shell,apply_fun,3, [{file,"shell.erl"},{line,908}]}]}} However, when an exception is raised using `erlang:raise/3`, there will be no elements in the stacktrace: 3> catch erlang:raise(error, badarg, [{fake,name,[arg],[]}]). {'EXIT',{badarg,[]}} Since the `error_handler` module uses `erlang:raise/3` to raise an exception when an undefined function is called, there will not be any stacktrace when calling an undefined function: 4> catch undef_module:undef_name(some_argument). {'EXIT',{undef,[]}} Fix this inconsistency by changing `erlang:raise/3` so that it always includes one element in the stacktrace: 3> catch erlang:raise(error, badarg, [{fake,name,[arg],[]}]). {'EXIT',{badarg,[{fake,name,[arg],[]}]}} 4> catch undef_module:undef_name(some_argument). {'EXIT',{undef,[{undef_module,undef_name,[some_argument],[]}]}}
2018-04-19Merge branch 'dgud/wx/glcanvas-improvements'Dan Gudmundsson
* dgud/wx/glcanvas-improvements: Add new "constants" to wxGLCanvas
2018-04-19Merge pull request #1768 from dgud/dgud/wx/build-on-wxW-311Dan Gudmundsson
Allow building with wxWidgets-3.1.1 OTP-15027
2018-04-19Merge branch 'maint'Siri Hansen
* maint: Updated OTP version Prepare release Update appup file for sasl Fix bug in hybrid boot file used for restart_new_emulator Conflicts: OTP_VERSION lib/sasl/src/sasl.appup.src
2018-04-19Merge branch 'maint-20' into maintSiri Hansen
* maint-20: Updated OTP version Prepare release Update appup file for sasl Fix bug in hybrid boot file used for restart_new_emulator
2018-04-19Merge pull request #1789 from ↵Lukas Larsson
christhekeele/remove-trace-terms-from-table-types-in-match-docs Remove trace-specific terms from docs for table-oriented matchspecs
2018-04-19Remove trace-specific terms from docs for table-oriented matchspecsChris Keele
This removes the matchspec instructions `is_seq_trace` and `get_tcw/0` from the documentation for table-oriented matchspecs. This is likely correct as both are already documented under "Functions Allowed Only for Tracing", despite appearing in the list of possible options for table specs. The following observations further back this change up: ```erl erlang:match_spec_test([whatever], [{'_', [], [{is_seq_trace}]}], trace). %=> {ok,true,[],[]} erlang:match_spec_test({whatever}, [{'_', [], [{is_seq_trace}]}], table). %=> {error,[{error,"Special form 'is_seq_trace' used in wrong %dialect."}]} erlang:match_spec_test([whatever], [{'_', [], [{get_tcw}]}], trace). %=> {ok,true,[],[]} erlang:match_spec_test({whatever}, [{'_', [], [{get_tcw}]}], table). %=> {error,[{error,"Function get_tcw/0 cannot be called in this context."}]} ```
2018-04-18core_lint: Handle repeated variables in map patterns correctlyBjörn Gustavsson
Keys in map patterns are input variables, not pattern variables.
2018-04-18Merge branch 'sverker/lock-check-matrix'Sverker Eriksson
2018-04-18Updated OTP versionOTP-20.3.3Erlang/OTP
2018-04-18Prepare releaseErlang/OTP
2018-04-18Merge branch 'siri/systools/make_hybrid_boot/OTP-15017' into maint-20Erlang/OTP
* siri/systools/make_hybrid_boot/OTP-15017: Update appup file for sasl Fix bug in hybrid boot file used for restart_new_emulator
2018-04-18erl_interface: Fix ei_connectSverker Eriksson
when ei_gethostbyname_r returns ERANGE.