Age | Commit message (Collapse) | Author |
|
Prior to this patch, the stacktrace of an error or
exit in a callback would always be discarded in crash
reports. For example, an exit(crashed) in handle_call/3
would emit:
=CRASH REPORT==== 10-May-2017::14:15:50 ===
crasher:
initial call: gen_server_SUITE:init/1
pid: <0.201.0>
registered_name: []
exception exit: crashed
in function gen_server:terminate/8 (src/gen_server.erl, line 828)
Note that the stacktrace is pointing to the gen_server
internal terminate implementation that calls exit/1.
This patch uses erlang:raise/3 so the stacktrace is not
lost, allowing proc_lib to show the class, reason
and stacktrace coming from the user implementation
(in this case gen_server_SUITE):
=CRASH REPORT==== 10-May-2017::14:16:44 ===
crasher:
initial call: gen_server_SUITE:init/1
pid: <0.197.0>
registered_name: []
exception exit: crashed
in function gen_server_SUITE:handle_call/3 (gen_server_SUITE.erl, line 1529)
This change is completely backwards compatible as
using erlang:raise/3 will still emit the same exit
reason to any linked process and monitor as before.
|
|
Add option hibernate_after to gen_server, gen_statem and gen_event.
Also added to the deprecated gen_fsm behaviour.
OTP14405
|
|
Add unicode binary support to http_uri functions
OTP-14404
|
|
* ingela/ssl/bench-certs:
ssl: Disable Server Name verification in bench tests for now
|
|
|
|
Conflicts:
OTP_VERSION
lib/inets/vsn.mk
lib/ssl/vsn.mk
|
|
|
|
|
|
* hans/inets/ftp_recv_chunk_close/OTP-14391:
inets: add testcase to ftp_SUITE Try doing three consecutive chunked receive with some changed timing in the ending sequence
inets: Try fix ftp recv_chunk timing issue
|
|
|
|
* bjorn/compiler/cover:
compiler.cover: Remove deleted module sys_pre_expand
Cover the first clause of v3_core:bin_expand_string/4
compile_SUITE: Test the r16, r17, r18, r19 options
erl_bifs: Remove pure BIFs serving no useful purpose
erl_bifs: Remove erlang:hash/2 from list of pure functions
|
|
Make calls to get_stacktrace/0 future-proof
OTP-14400
|
|
In the future, erlang:get_stacktrace/0 will probably only work
inside a the 'catch' block of a 'try' expression.
Future-proof the code by rewriting the old-style catch to
a try...catch.
|
|
In the future, erlang:get_stacktrace/0 will probably only work
inside a the 'catch' block of a 'try' expression.
Future-proof the code by rewriting the old-style catch to
a try...catch.
|
|
The return value of erlang:get_stacktrace/0 is not defined
when called like this:
try Expr of
Pattern ->
erlang:get_stacktrace()
end
Currently, the stacktrace will be from a random earlier error.
In a future release, it may be [].
Note: We can remove the entire 'case' statement because
CTHReason can never be an atom.
|
|
Correct description of nowarn_obsolete_guard
By default, warnings for obsolete guards are turned on. Correct the description to make that clear.
|
|
* ingela/ssl/windows-cuddle:
ssl: Only run sslv2 reject tests on old OpenSSL version
ssl: Try to workaround OpenSSL windows obscurities
|
|
|
|
* maint:
Updated OTP version
Update release notes
inets: Prepare for release
inets: Mend ipv6_host_with_brackets option
|
|
* maint-18:
Updated OTP version
Update release notes
inets: Prepare for release
inets: Mend ipv6_host_with_brackets option
|
|
=== OTP-18.2.4.1 ===
Changed Applications:
- inets-6.1.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
- erts-7.2.1
- et-1.5.1
- eunit-2.2.12
- gs-1.6
- hipe-3.14
- ic-4.4
- 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.1':
Updated OTP version
Update release notes
inets: Prepare for release
inets: Mend ipv6_host_with_brackets option
Conflicts:
OTP_VERSION
lib/inets/doc/src/notes.xml
lib/inets/src/inets_app/inets.appup.src
lib/inets/vsn.mk
otp_versions.table
|
|
In the future, erlang:get_stacktrace/0 will probably only work
inside a the 'catch' block of a 'try' expression.
Future-proof the code by rewriting the old-style catch to
a try...catch.
|
|
|
|
* sverker/ets-select-replace-const:
stdlib: Add examples for ets:select_replace docs
erts: Fix ets:select_replace with {const, NewTuple}
|
|
|
|
The uncovered clause was introduced in bee8f839296e.
|
|
Enable ets:select_replace to do a generic single object
compare-and-swap operation of any ets-tuple using
a matchspec like this:
[{Old, [], [{const, New}]}]
The only exception when this does not work is if the key
contains maps or atoms looking like variables (like '$1').
|
|
Also test other options that turns off certain optimizations or
instruction sets.
|
|
Functions that can are known be pure can be evaluated at
compile-time if the arguments are literals and if the result is
expressible as a literal.
list_to_ref/1 and list_to_port/1 returns terms that cannot be
expressed as literals, so the optimization is not possible.
The argument for port_to_list/1 is never a literal, so there is
no way to evaluate it at compile-time. Therefore, marking those
functions as pure serves no useful purpose.
Note: list_to_pid/1 *is* marked as pure, but only so that we can test
the code in sys_core_fold that rejects pure functions that evaluate to
at term that is not possible to express as a literal. It is sufficient
to have one pure function of that kind.
|
|
erlang:hash/2 was removed in c5d9b970fb5b3a71.
|
|
|
|
|
|
* siri/ct_netconfc/multiple-channels/OTP-14284:
[ct_netconfc] Update documentation
[ct_netconfc] Start multiple sessions per SSH connection
|
|
|
|
* ingela/ssl/server-hostname-verify/OTP-14197:
ssl: Add hostname check of server certificate
|
|
Add a test for utf8 function names
|
|
|
|
* Remove edoc comments in ct_netconfc.erl
* Rewrite ct_netconfc.xml to use specs for functions and types
* Add documentation of new functions in ct_netconfc
|
|
Fix typo in child spec for file_server
|
|
Error when a non-DST time is passed to the httpd_util:rfc1123_date/1 function
OTP-14394
|
|
The test found a bug in v3_kernel_pp which was not
taking into account utf8 atoms. The bug has also
been fixed.
|
|
Make 'slim' slim again
|
|
The following new functions are added to ct_netconfc:
* connect/1,2 - open an SSH connection to a netconf server
* disconnect/1 - close the given SSH connectoin
* session/1,2,3 - open an SSH channel on the give connection and send
'hello' to start a netconf session.
This allows running multiple channels on on SSH connection, realizing
one netconf session per channel. The existing ct_netconfc:open will
always run one channel(session) per SSH connection.
|
|
'modeules' -> 'modules'
Introduced in 3edc6dbf8f150bb6ba7c800ed5cc379771f8b279 (present in 20.0-rc1, but
not in the 19 release series).
|
|
When the server_name_indication is sent automatize the
clients check of that the hostname is present in the
servers certificate. Currently server_name_indication shall
be on the dns_id format. If server_name_indication is disabled
it is up to the user to do its own check in the verify_fun.
|
|
|
|
Remove unused variable warning in compile_SUITE
|
|
The undocumented compiler option 'slim' is used when compiling
the primary bootstrap. The purpose is to make the bootstrap smaller
and to avoid unnecessary churn in the git repository. That is,
the BEAM file should be different only if the actual code in the
file is different, and not if it has merely been re-compiled on
a different computer.
Two commits have fattened the 'slim' option. In 36f7087ae0f,
extra chunks are included even in slim BEAM files. In dfb899c0229f7,
the "Dbgi" were added as an extra chunk, causing it to be included
in slim files.
Make 'slim' slim again by only including the essential chunks and
the attribute chunk (as was the case before the {extra,...} option
was added).
|
|
|
|
Try doing three consecutive chunked receive with some changed timing in the ending sequence
|