aboutsummaryrefslogtreecommitdiffstats
path: root/erts/doc
AgeCommit message (Collapse)Author
2017-05-12Warn for potentially unsafe use of get_stacktrace/0Björn Gustavsson
erlang:get_stacktrace/0 returns the stacktrace for the latest exception. The problem is that the stacktrace is kept until the next exception occurs. If the last exception was a 'function_clause' or a 'badarg', the arguments for the call are also kept forever. The arguments can be terms of any size (potentially huge). In a future release, we would like to only allow erlang:get_stacktrace/0 from within a 'try' expression. That would make it possible to clear the stacktrace when the 'try' expression is exited. The 'catch' expression has no natural end where the stacktrace could be cleared. The stacktrace could be cleared at the end of the function that the 'catch' occurs in, but that would cause problems in the following scenario (from real life, but simplified): try ... catch _:_ -> io:format(...), io:format("~p\n", [erlang:get_stacktrace()]) end. %% In io.erl. format(Fmt, Args) -> Res = case ... of SomePattern -> catch... ...; SomeOtherPattern -> %% Output the formatted string here ... end, clear_stacktrace(), %% Inserted by compiler. Res. The call to io:format() would always clear the stacktrace before it could be retrieved. That problem could be solved by tightning the scope in which the stacktrace is kept, but the rules for how long erlang:get_stacktrace/0 would work would become complicated. Therefore, the solution we suggest for a future major release of OTP is that erlang:get_stacktrace/0 will return [] if it is called outside the 'catch' part of a 'try' expression. To help users prepare, introduce a warning when it is likely that erlang:get_stacktrace/0 will always return an empty list, for example in this code: catch error(foo), Stk = erlang:get_stacktrace() or in this code: try Expr catch _:_ -> ok end, Stk = erlang:get_stacktrace()
2017-05-10Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release
2017-05-10Merge branch 'maint-18' into maintRickard Green
* maint-18: Updated OTP version Prepare release Conflicts: erts/doc/src/notes.xml
2017-05-10Merge tag 'OTP-18.2.4.0.1' into maint-18Rickard Green
=== OTP-18.2.4.0.1 === Changed Applications: - erts-7.2.1.1 Unchanged Applications: - asn1-4.0.1 - common_test-1.11.2 - compiler-6.0.2 - cosEvent-2.2 - cosEventDomain-1.2 - cosFileTransfer-1.2 - cosNotification-1.2 - cosProperty-1.2 - cosTime-1.2 - cosTransactions-1.3 - crypto-3.6.2 - debugger-4.1.1 - dialyzer-2.8.2 - diameter-1.11.1 - edoc-0.7.17 - eldap-1.2 - erl_docgen-0.4.1 - erl_interface-3.8.1 - et-1.5.1 - eunit-2.2.12 - gs-1.6 - hipe-3.14 - ic-4.4 - inets-6.1.1 - jinterface-1.6.1 - kernel-4.1.1 - megaco-3.18 - mnesia-4.13.2 - observer-2.1.1 - odbc-2.11.1 - orber-3.8 - os_mon-2.4 - ose-1.1 - otp_mibs-1.1 - parsetools-2.1.1 - percept-0.8.11 - public_key-1.1 - reltool-0.7 - runtime_tools-1.9.2 - sasl-2.6.1 - snmp-5.2.1 - ssh-4.2.1 - ssl-7.2 - stdlib-2.7 - syntax_tools-1.7 - test_server-3.9.1 - tools-2.8.2 - typer-0.9.10 - webtool-0.9 - wx-1.6 - xmerl-1.3.9 * tag 'OTP-18.2.4.0.1': Updated OTP version Prepare release Conflicts: OTP_VERSION erts/vsn.mk otp_versions.table
2017-05-10Prepare releaseRickard Green
2017-05-10Merge branch 'rickard/rq-len/OTP-13201'Rickard Green
* rickard/rq-len/OTP-13201: Fix testcase Light weight statistics of run queue lengths
2017-05-05Revert "Prepare release"Raimo Niskanen
This reverts commit dc57404252c47520f352834ad9be45ad684f96c9.
2017-05-04Prepare releaseErlang/OTP
2017-05-04Update copyright yearRaimo Niskanen
2017-05-02Merge branch 'hm/escript-doc'Rickard Green
* hm/escript-doc: Improvements of escript documentation
2017-05-02Merge branch 'maint'Hans Bolinder
* maint: Updated OTP version Prepare release inets: Add missing release note dialyzer: Fix a bug regarding unknown types erl_mseg.c: don't use invalid indices in - > cache_powered_node[] Fix release note for OTP-14290 Conflicts: OTP_VERSION erts/emulator/sys/common/erl_mseg.c erts/vsn.mk lib/dialyzer/src/dialyzer_analysis_callgraph.erl
2017-04-28Prepare releaseErlang/OTP
2017-04-28Merge PR1413 from g-andrade/feature/phash2_nifSverker Eriksson
Support hashing terms from NIF code
2017-04-28Improvements of escript documentationHåkan Mattsson
2017-04-27Merge branch 'rickard/ds-stack-size'Rickard Green
OTP-14380 * rickard/ds-stack-size: Suggested stack size options for dirty schedulers
2017-04-25Fix release note for OTP-14290Rickard Green
2017-04-25Merge branch 'lukas/erts/list_to_port/OTP-14348'Lukas Larsson
* lukas/erts/list_to_port/OTP-14348: erts: Add erlang:list_to_port/1 debug bif erts: Auto-import port_to_list for consistency erts: Polish off erlang:list_to_ref/1
2017-04-25erts: Add erlang:list_to_port/1 debug bifLukas Larsson
2017-04-25Merge branch 'lukas/erts/deprecate-non-smp/OTP-14272'Lukas Larsson
* lukas/erts/deprecate-non-smp/OTP-14272: erts: Fix testcases for smp +S 1:1 erts: Deprecate the non-smp emulators
2017-04-24erts: Discontinue salted use of enif_hash/phash2Guilherme Andrade
2017-04-24Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release Do not ignore SIGTERM when VM has been started with +Bi Conflicts: OTP_VERSION erts/emulator/sys/unix/sys.c erts/vsn.mk
2017-04-22erts: Allow for easier future enif_hash expansionGuilherme Andrade
Allow for expanding support to 64-bit hashes without breaking the interface.
2017-04-22erts: Improve enif_hash documentationGuilherme Andrade
2017-04-22erts: Support custom salt in enif_hashGuilherme Andrade
2017-04-21Prepare releaseErlang/OTP
2017-04-21erts: Polish off erlang:list_to_ref/1Lukas Larsson
2017-04-21erts: Deprecate the non-smp emulatorsLukas Larsson
2017-04-20erts: Refactor enif_phash2 into enif_hashGuilherme Andrade
A more generic hashing function which can also hash terms based on `make_internal_hash'.
2017-04-20erts: Remove enif_phash2_rangedGuilherme Andrade
2017-04-19erts: Add enif_phash2 and enif_phash2_rangedGuilherme Andrade
These allow one to hash VM terms from NIF code.
2017-04-16Removes spurious ">"Xavier Noria
2017-04-12Merge branch sverker/remove-latin1-atom-encoding/OTP-14337Sverker Eriksson
* sverker/remove-latin1-atom-encoding: kernel: Fix erl_distribution_wb_SUITE:whitebox kernel: Remove pg2_SUITE:compat erts: Remove fun_r13_SUITE stdlib: Remove test cases for R12 io protocol kernel: Make DFLAG_UTF8_ATOMS mandatory kernel: Rewrite distribution flag verification tools: Update assumptions in lcnt about external atom format stdlib: Tweak beam_lib_SUITE whitebox assumptions orber: Remove hard dependency to external atom format kernel: Try mend disk_log whitebox tests erts: Mark latin1 atom encoding as deprecated jinterface: Do not generate atoms on old latin1 external format erl_interface: Do not generate atoms on old latin1 ext format erts: Do not generate atoms on old latin1 external format erts: Fix faulty ASSERT for failed dec_term
2017-04-11Suggested stack size options for dirty schedulersRickard Green
2017-04-04Merge branch 'maint'Ingela Anderton Andin
Conflicts: OTP_VERSION erts/vsn.mk lib/crypto/c_src/crypto.c lib/crypto/src/crypto.erl lib/ssh/src/ssh.erl
2017-03-31Update release notesErlang/OTP
2017-03-16Merge pull request #1375 from lrascao/fix/sbct_docLukas Larsson
Fix sbct documentation
2017-03-14Merge branch 'maint'Rickard Green
* maint: Updated OTP version Prepare release Conflicts: OTP_VERSION lib/typer/doc/src/notes.xml lib/typer/vsn.mk
2017-03-14Prepare releaseErlang/OTP
2017-03-14Fix sbct documentationLuis Rascao
The unit should be explicitly documented as kilobytes to avoid ambiguity.
2017-03-10Update copyright yearRickard Green
2017-03-08erts: Mark latin1 atom encoding as deprecatedSverker Eriksson
which means tags ATOM_EXT and SMALL_ATOM_EXT.
2017-03-08erts: Correct the documentation of abstract end-of-fileHans Bolinder
The L in {eof, L} is not an annotation (LINE), but a location.
2017-03-07erts: Fix xml lint warning for erl_nifSverker Eriksson
2017-03-06Merge branch 'maint'Sverker Eriksson
2017-03-06Merge branch 'sverker/zlib-option-8/ERL-362/OTP-14254' into maintSverker Eriksson
AGAIN * sverker/zlib-option-8/ERL-362/OTP-14254: erts: Fix typo and clearify warning in zlib docs
2017-03-06erts: Fix typo and clearify warning in zlib docsSverker Eriksson
2017-03-06Merge branch 'maint'Sverker Eriksson
2017-03-06Merge branch 'sverker/zlib-option-8/ERL-362/OTP-14254' into maintSverker Eriksson
2017-03-06Merge branch 'maint'Lukas Larsson
2017-03-03erts: Clarify process_info(pid(), binary) docsLukas Larsson
Correct id for 7b419c0a38bd4db: OTP-14234