diff options
author | Hans Bolinder <[email protected]> | 2017-05-02 13:38:08 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-05-02 13:38:08 +0200 |
commit | 1b9d9234e096fbbccdf12081e27be14b14297876 (patch) | |
tree | d9760beffa87cfa5b26067bff81b8a94f15e2cf2 | |
parent | 73acfede7099c6d04de82b73bff2f78abfd89ac6 (diff) | |
parent | 37decbb64953cd65bde2f7003ef5057dc0615ff1 (diff) | |
download | otp-1b9d9234e096fbbccdf12081e27be14b14297876.tar.gz otp-1b9d9234e096fbbccdf12081e27be14b14297876.tar.bz2 otp-1b9d9234e096fbbccdf12081e27be14b14297876.zip |
Merge branch 'maint'
* 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
-rw-r--r-- | erts/doc/src/notes.xml | 41 | ||||
-rw-r--r-- | lib/dialyzer/doc/src/notes.xml | 16 | ||||
-rw-r--r-- | lib/dialyzer/src/dialyzer_analysis_callgraph.erl | 20 | ||||
-rw-r--r-- | lib/dialyzer/test/options2_SUITE_data/dialyzer_options | 2 | ||||
-rw-r--r-- | lib/dialyzer/test/options2_SUITE_data/results/unknown_type | 2 | ||||
-rw-r--r-- | lib/dialyzer/test/options2_SUITE_data/src/unknown_type.erl | 7 | ||||
-rw-r--r-- | lib/inets/doc/src/notes.xml | 24 | ||||
-rw-r--r-- | otp_versions.table | 1 |
8 files changed, 90 insertions, 23 deletions
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index 3b86a4dcdf..152d144234 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -32,40 +32,52 @@ <p>This document describes the changes made to the ERTS application.</p> -<section><title>Erts 8.3.2</title> +<section><title>Erts 8.3.3</title> <section><title>Fixed Bugs and Malfunctions</title> <list> <item> <p> - The <c>+Bi</c> command line argument of <c>erl</c> - erroneously caused <c>SIGTERM</c> to be ignored by the VM - as well as of all its child processes. This bug was - introduced in erts version 8.3.</p> + Fixed memory segment cache used for multiblock carriers. + Huge (> 2GB) memory segments could cause a VM crash. + Creation of such huge memory segments used for multiblock + carriers is however very uncommon.</p> <p> - Own Id: OTP-14358 Aux Id: OTP-14085 </p> + Own Id: OTP-14360 Aux Id: ERL-401, PR-1417 </p> + </item> + <item> + <p> + Fix release note for OTP-14290 in ERTS version 8.3.1. It + was erroneously placed under "Known Bugs and Problems".</p> + <p> + Own Id: OTP-14363 Aux Id: OTP-14290 </p> </item> </list> </section> </section> -<section><title>Erts 8.3.1</title> +<section><title>Erts 8.3.2</title> <section><title>Fixed Bugs and Malfunctions</title> <list> <item> <p> - Trying to open a directory with file:read_file/1 on Unix - leaked a file descriptor. This bug has now been fixed.</p> + The <c>+Bi</c> command line argument of <c>erl</c> + erroneously caused <c>SIGTERM</c> to be ignored by the VM + as well as of all its child processes. This bug was + introduced in erts version 8.3.</p> <p> - Own Id: OTP-14308 Aux Id: ERL-383 </p> + Own Id: OTP-14358 Aux Id: OTP-14085 </p> </item> </list> </section> +</section> - <section><title>Known Bugs and Problems</title> +<section><title>Erts 8.3.1</title> + + <section><title>Fixed Bugs and Malfunctions</title> <list> <item> <p> @@ -76,6 +88,13 @@ <p> Own Id: OTP-14290</p> </item> + <item> + <p> + Trying to open a directory with file:read_file/1 on Unix + leaked a file descriptor. This bug has now been fixed.</p> + <p> + Own Id: OTP-14308 Aux Id: ERL-383 </p> + </item> </list> </section> diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index cd4ec4c068..0dbee1ce34 100644 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -32,6 +32,22 @@ <p>This document describes the changes made to the Dialyzer application.</p> +<section><title>Dialyzer 3.1.1</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> Report unknown types properly. A bug was introduced + in Erlang/OTP 19.3, where warnings about unknown types + were simply discarded. </p> + <p> + Own Id: OTP-14368</p> + </item> + </list> + </section> + +</section> + <section><title>Dialyzer 3.1</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/dialyzer/src/dialyzer_analysis_callgraph.erl b/lib/dialyzer/src/dialyzer_analysis_callgraph.erl index 051b700231..29aa25b98e 100644 --- a/lib/dialyzer/src/dialyzer_analysis_callgraph.erl +++ b/lib/dialyzer/src/dialyzer_analysis_callgraph.erl @@ -149,7 +149,7 @@ analysis_start(Parent, Analysis, LegalWarnings) -> dialyzer_codeserver:finalize_exported_types(MergedExpTypes, TmpCServer1), erlang:garbage_collect(), % reduce heap size ?timing(State#analysis_state.timing_server, "remote", - contracts_and_records(TmpCServer2)) + contracts_and_records(TmpCServer2, Parent)) catch throw:{error, _ErrorMsg} = Error -> exit(Error) end, @@ -173,15 +173,14 @@ analysis_start(Parent, Analysis, LegalWarnings) -> codeserver = Codeserver0} = State2, {Codeserver, MiniPlt3} = move_data(Codeserver0, MiniPlt2), dialyzer_callgraph:dispose_race_server(NewCallgraph), - rcv_and_send_ext_types(Parent), %% Since the PLT is never used, a dummy is sent: DummyPlt = dialyzer_plt:new(), send_codeserver_plt(Parent, Codeserver, DummyPlt), MiniPlt4 = dialyzer_plt:delete_list(MiniPlt3, NonExportsList), send_analysis_done(Parent, MiniPlt4, DocPlt). -contracts_and_records(CodeServer) -> - Fun = contrs_and_recs(CodeServer), +contracts_and_records(CodeServer, Parent) -> + Fun = contrs_and_recs(CodeServer, Parent), {Pid, Ref} = erlang:spawn_monitor(Fun), dialyzer_codeserver:give_away(CodeServer, Pid), Pid ! {self(), go}, @@ -189,16 +188,17 @@ contracts_and_records(CodeServer) -> Return end. --spec contrs_and_recs(dialyzer_codeserver:codeserver()) -> +-spec contrs_and_recs(dialyzer_codeserver:codeserver(), pid()) -> fun(() -> no_return()). -contrs_and_recs(TmpCServer2) -> +contrs_and_recs(TmpCServer2, Parent) -> fun() -> - Parent = receive {Pid, go} -> Pid end, + Caller = receive {Pid, go} -> Pid end, TmpCServer3 = dialyzer_utils:process_record_remote_types(TmpCServer2), TmpServer4 = dialyzer_contracts:process_contract_remote_types(TmpCServer3), - dialyzer_codeserver:give_away(TmpServer4, Parent), + dialyzer_codeserver:give_away(TmpServer4, Caller), + rcv_and_send_ext_types(Caller, Parent), exit(TmpServer4) end. @@ -525,13 +525,13 @@ default_includes(Dir) -> %% Handle Messages %%------------------------------------------------------------------- -rcv_and_send_ext_types(Parent) -> +rcv_and_send_ext_types(SendTo, Parent) -> Self = self(), Self ! {Self, done}, case rcv_ext_types(Self, []) of [] -> ok; ExtTypes -> - Parent ! {Self, ext_types, ExtTypes}, + Parent ! {SendTo, ext_types, ExtTypes}, ok end. diff --git a/lib/dialyzer/test/options2_SUITE_data/dialyzer_options b/lib/dialyzer/test/options2_SUITE_data/dialyzer_options index 5db2e50d23..be57e2de72 100644 --- a/lib/dialyzer/test/options2_SUITE_data/dialyzer_options +++ b/lib/dialyzer/test/options2_SUITE_data/dialyzer_options @@ -1 +1 @@ -{dialyzer_options, [{defines, [{'vsn', 4}]}, {warnings, [no_return]}]}. +{dialyzer_options, [{defines, [{'vsn', 4}]}, {warnings, [unknown, no_return]}]}. diff --git a/lib/dialyzer/test/options2_SUITE_data/results/unknown_type b/lib/dialyzer/test/options2_SUITE_data/results/unknown_type new file mode 100644 index 0000000000..d308c5a810 --- /dev/null +++ b/lib/dialyzer/test/options2_SUITE_data/results/unknown_type @@ -0,0 +1,2 @@ + +:0: Unknown type unknown:type/0
\ No newline at end of file diff --git a/lib/dialyzer/test/options2_SUITE_data/src/unknown_type.erl b/lib/dialyzer/test/options2_SUITE_data/src/unknown_type.erl new file mode 100644 index 0000000000..7a891c0831 --- /dev/null +++ b/lib/dialyzer/test/options2_SUITE_data/src/unknown_type.erl @@ -0,0 +1,7 @@ +-module(unknown_type). + +-export([t/0]). + +-spec t() -> unknown:type(). +t() -> + a. diff --git a/lib/inets/doc/src/notes.xml b/lib/inets/doc/src/notes.xml index 2aa48cd50a..ef01136978 100644 --- a/lib/inets/doc/src/notes.xml +++ b/lib/inets/doc/src/notes.xml @@ -33,7 +33,22 @@ <file>notes.xml</file> </header> - <section><title>Inets 6.3.7</title> + <section><title>Inets 6.3.8</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Added missing release note for inets-6.3.7</p> + <p> + Own Id: OTP-14383</p> + </item> + </list> + </section> + +</section> + +<section><title>Inets 6.3.7</title> <section><title>Fixed Bugs and Malfunctions</title> <list> @@ -44,6 +59,13 @@ <p> Own Id: OTP-14242</p> </item> + + <item> + <p>Make default port, 80 and 443, implicit in automatic redirection. + </p> + <p> Own Id: OTP-14301 + </p> + </item> </list> </section> diff --git a/otp_versions.table b/otp_versions.table index f0aa904cae..ea9eb73887 100644 --- a/otp_versions.table +++ b/otp_versions.table @@ -1,3 +1,4 @@ +OTP-19.3.3 : dialyzer-3.1.1 erts-8.3.3 inets-6.3.8 # asn1-4.0.4 common_test-1.14 compiler-7.0.4 cosEvent-2.2.1 cosEventDomain-1.2.1 cosFileTransfer-1.2.1 cosNotification-1.2.2 cosProperty-1.2.1 cosTime-1.2.2 cosTransactions-1.3.2 crypto-3.7.4 debugger-4.2.1 diameter-1.12.2 edoc-0.8.1 eldap-1.2.2 erl_docgen-0.6.1 erl_interface-3.9.3 et-1.6 eunit-2.3.2 gs-1.6.2 hipe-3.15.4 ic-4.4.2 jinterface-1.7.1 kernel-5.2 megaco-3.18.1 mnesia-4.14.3 observer-2.3.1 odbc-2.12 orber-3.8.2 os_mon-2.4.2 otp_mibs-1.1.1 parsetools-2.1.4 percept-0.9 public_key-1.4 reltool-0.7.3 runtime_tools-1.11.1 sasl-3.0.3 snmp-5.2.5 ssh-4.4.2 ssl-8.1.2 stdlib-3.3 syntax_tools-2.1.1 tools-2.9.1 typer-0.9.12 wx-1.8 xmerl-1.3.13 : OTP-19.3.2 : erts-8.3.2 # asn1-4.0.4 common_test-1.14 compiler-7.0.4 cosEvent-2.2.1 cosEventDomain-1.2.1 cosFileTransfer-1.2.1 cosNotification-1.2.2 cosProperty-1.2.1 cosTime-1.2.2 cosTransactions-1.3.2 crypto-3.7.4 debugger-4.2.1 dialyzer-3.1 diameter-1.12.2 edoc-0.8.1 eldap-1.2.2 erl_docgen-0.6.1 erl_interface-3.9.3 et-1.6 eunit-2.3.2 gs-1.6.2 hipe-3.15.4 ic-4.4.2 inets-6.3.7 jinterface-1.7.1 kernel-5.2 megaco-3.18.1 mnesia-4.14.3 observer-2.3.1 odbc-2.12 orber-3.8.2 os_mon-2.4.2 otp_mibs-1.1.1 parsetools-2.1.4 percept-0.9 public_key-1.4 reltool-0.7.3 runtime_tools-1.11.1 sasl-3.0.3 snmp-5.2.5 ssh-4.4.2 ssl-8.1.2 stdlib-3.3 syntax_tools-2.1.1 tools-2.9.1 typer-0.9.12 wx-1.8 xmerl-1.3.13 : OTP-19.3.1 : crypto-3.7.4 erts-8.3.1 inets-6.3.7 ssh-4.4.2 ssl-8.1.2 # asn1-4.0.4 common_test-1.14 compiler-7.0.4 cosEvent-2.2.1 cosEventDomain-1.2.1 cosFileTransfer-1.2.1 cosNotification-1.2.2 cosProperty-1.2.1 cosTime-1.2.2 cosTransactions-1.3.2 debugger-4.2.1 dialyzer-3.1 diameter-1.12.2 edoc-0.8.1 eldap-1.2.2 erl_docgen-0.6.1 erl_interface-3.9.3 et-1.6 eunit-2.3.2 gs-1.6.2 hipe-3.15.4 ic-4.4.2 jinterface-1.7.1 kernel-5.2 megaco-3.18.1 mnesia-4.14.3 observer-2.3.1 odbc-2.12 orber-3.8.2 os_mon-2.4.2 otp_mibs-1.1.1 parsetools-2.1.4 percept-0.9 public_key-1.4 reltool-0.7.3 runtime_tools-1.11.1 sasl-3.0.3 snmp-5.2.5 stdlib-3.3 syntax_tools-2.1.1 tools-2.9.1 typer-0.9.12 wx-1.8 xmerl-1.3.13 : OTP-19.3 : common_test-1.14 compiler-7.0.4 crypto-3.7.3 dialyzer-3.1 diameter-1.12.2 erl_interface-3.9.3 erts-8.3 hipe-3.15.4 inets-6.3.6 kernel-5.2 observer-2.3.1 os_mon-2.4.2 public_key-1.4 reltool-0.7.3 runtime_tools-1.11.1 sasl-3.0.3 snmp-5.2.5 ssh-4.4.1 ssl-8.1.1 stdlib-3.3 tools-2.9.1 typer-0.9.12 xmerl-1.3.13 # asn1-4.0.4 cosEvent-2.2.1 cosEventDomain-1.2.1 cosFileTransfer-1.2.1 cosNotification-1.2.2 cosProperty-1.2.1 cosTime-1.2.2 cosTransactions-1.3.2 debugger-4.2.1 edoc-0.8.1 eldap-1.2.2 erl_docgen-0.6.1 et-1.6 eunit-2.3.2 gs-1.6.2 ic-4.4.2 jinterface-1.7.1 megaco-3.18.1 mnesia-4.14.3 odbc-2.12 orber-3.8.2 otp_mibs-1.1.1 parsetools-2.1.4 percept-0.9 syntax_tools-2.1.1 wx-1.8 : |