From 6cb1fffbc7eede3934c254b1988d43c57c163fc1 Mon Sep 17 00:00:00 2001 From: "Xamarin Public Jenkins (auto-signing)" Date: Sat, 16 Feb 2019 08:26:27 +0000 Subject: [PATCH] Imported Upstream version 5.20.0.216 Former-commit-id: c528d8f07ed5b0a3419b42f40fe3dcd639a3a009 --- configure.REMOVED.git-id | 2 +- configure.ac.REMOVED.git-id | 2 +- mcs/build/common/Consts.cs | 2 +- mcs/class/corlib/Test/System/ExceptionTest.cs | 96 ++++++++---------- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Core.dll.REMOVED.git-id | 2 +- .../System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Xml.dll.REMOVED.git-id | 2 +- .../mcs.exe.REMOVED.git-id | 2 +- .../mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Core.dll.REMOVED.git-id | 2 +- .../System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Xml.dll.REMOVED.git-id | 2 +- .../mcs.exe.REMOVED.git-id | 2 +- .../mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Core.dll.REMOVED.git-id | 2 +- .../System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Xml.dll.REMOVED.git-id | 2 +- .../mcs.exe.REMOVED.git-id | 2 +- .../mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Core.dll.REMOVED.git-id | 2 +- .../System.IO.Compression.dll | Bin 99328 -> 99328 bytes .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Xml.dll.REMOVED.git-id | 2 +- .../mcs.exe.REMOVED.git-id | 2 +- .../mscorlib.dll.REMOVED.git-id | 2 +- mono/metadata/object-internals.h | 7 ++ mono/metadata/threads-types.h | 13 ++- mono/mini/mini-arm.c.REMOVED.git-id | 2 +- mono/mini/mini-exceptions.c.REMOVED.git-id | 2 +- mono/mini/version.h | 2 +- mono/utils/mono-state.c | 65 +++++++++--- mono/utils/mono-state.h | 2 +- po/mcs/de.gmo | Bin 5406 -> 5406 bytes po/mcs/de.po.REMOVED.git-id | 2 +- po/mcs/es.gmo | Bin 16329 -> 16329 bytes po/mcs/es.po.REMOVED.git-id | 2 +- po/mcs/ja.gmo | Bin 20863 -> 20863 bytes po/mcs/ja.po.REMOVED.git-id | 2 +- po/mcs/mcs.pot | 4 +- po/mcs/pt_BR.gmo | Bin 72806 -> 72806 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- 52 files changed, 150 insertions(+), 113 deletions(-) diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index 97144aa77a..c604818c3f 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -2c86edc3ba8bf7e9989f55c6f637d114fd0b28e1 \ No newline at end of file +f0b6e21374ee9752e37831a38c20776e6960cbcd \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index 5330abb541..1798741c68 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -9aa1dfe93df405cbc803ec4dd5c3423e1e1d191f \ No newline at end of file +7d6429e36be0550c81f969db37a1ac1e621f4c30 \ No newline at end of file diff --git a/mcs/build/common/Consts.cs b/mcs/build/common/Consts.cs index 144c96d595..831b40b3e8 100644 --- a/mcs/build/common/Consts.cs +++ b/mcs/build/common/Consts.cs @@ -34,7 +34,7 @@ static class Consts // Use these assembly version constants to make code more maintainable. // - public const string MonoVersion = "5.20.0.212"; + public const string MonoVersion = "5.20.0.216"; public const string MonoCompany = "Mono development team"; public const string MonoProduct = "Mono Common Language Infrastructure"; public const string MonoCopyright = "(c) Various Mono authors"; diff --git a/mcs/class/corlib/Test/System/ExceptionTest.cs b/mcs/class/corlib/Test/System/ExceptionTest.cs index b785e71dd3..1f343c712d 100644 --- a/mcs/class/corlib/Test/System/ExceptionTest.cs +++ b/mcs/class/corlib/Test/System/ExceptionTest.cs @@ -405,15 +405,21 @@ namespace MonoTests.System } #if !MOBILE - // Ensure that we can convert a stacktrace to a - // telemetry message - // - [Test] - [Category("NotOnWindows")] - public void StacktraceToState () + void NestedStackTraces (int depth) + { + if (depth == 0) + throw new ArgumentException ("Depth 0 exception"); + + try { + NestedStackTraces (depth - 1); + } catch (Exception exc) { + throw new Exception (String.Format ("Depth {0} exception, expect nested", depth), exc); + } + } + void StacktraceToStateTest (int depth) { try { - throw new Exception ("#0"); + NestedStackTraces (depth); } catch (Exception exc) { var monoType = Type.GetType ("Mono.Runtime", false); var convert = monoType.GetMethod("ExceptionToState", BindingFlags.NonPublic | BindingFlags.Static); @@ -424,59 +430,41 @@ namespace MonoTests.System var portable_hash = output.Item2; var unportable_hash = output.Item3; + // To see what we're working with + // Console.WriteLine (dump); + Assert.IsTrue (portable_hash != 0, "#1"); Assert.IsTrue (unportable_hash != 0, "#2"); Assert.IsTrue (dump.Length > 0, "#3"); - - // Console.WriteLine (dump); - // dump should look something like: - // { - // "protocol_version" : "0.0.1", - // "configuration" : { - // "version" : "5.19.0 (managed_telemetry_pipeline/d342c73e320 Wed Aug 15 14:40:40 EDT 2018)", - // "tlc" : "normal", - // "sigsgev" : "altstack", - // "notifications" : "kqueue", - // "architecture" : "amd64", - // "disabled_features" : "none", - // "smallconfig" : "disabled", - // "bigarrays" : "disabled", - // "softdebug" : "enabled", - // "interpreter" : "enabled", - // "llvm_support" : "disabled", - // "suspend" : "hybrid" - // }, - // "memory" : { - // "Resident Size" : "40693760", - // "Virtual Size" : "4521312256", - // "minor_gc_time" : "216992", - // "major_gc_time" : "0", - // "minor_gc_count" : "6", - // "major_gc_count" : "0", - // "major_gc_time_concurrent" : "0" - // }, - // "threads" : [ - // { - // "is_managed" : false, - // "managed_thread_ptr" : "0x0", - // "thread_info_addr" : "0x0", - // "native_thread_id" : "0x0", - // "managed_exception_type" : "System.Exception", - // "managed_frames" : [ - // { - // "is_managed" : "true", - // "guid" : "43A03618-E657-44B0-B9FA-F63314A3C1B2", - // "token" : "0x60008da", - // "native_offset" : "0xb2", - // "il_offset" : "0x00000" - // } - // ] - // } - // ] - // } } } + // Ensure that we can convert a stacktrace to a + // telemetry message + // + [Test] + [Category("NotOnWindows")] + public void StacktraceToStateBase () + { + StacktraceToStateTest (0); + } + + [Test] + [Category("NotOnWindows")] + public void StacktraceToStateDeeper () + { + StacktraceToStateTest (2); + } + + [Test] + [Category("NotOnWindows")] + public void StacktraceToStateOverflow () + { + // We set a limit on 15 nested exceptions. Lets check that we're valid + // when exceeding that limit. + StacktraceToStateTest (20); + } + void DumpSingle () { var monoType = Type.GetType ("Mono.Runtime", false); diff --git a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/Mono.Security.dll.REMOVED.git-id index cf0c539cc3..cd65123138 100644 --- a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -d03e66988382cc596efa6e6cd4e15b38dd662e2f \ No newline at end of file +bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Configuration.dll.REMOVED.git-id index 544dcc4d93..6829197a72 100644 --- a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -1d23d17a634de9fdbb0dc9227c48f23b56a43fca \ No newline at end of file +bb36f1a11545bf4a03eb3573bdea38e58f46cccc \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Core.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Core.dll.REMOVED.git-id index 45308b1fd6..179d33cddc 100644 --- a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Core.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.Core.dll.REMOVED.git-id @@ -1 +1 @@ -f23f0206760d2a78d78ca1b09b56c8260a60e065 \ No newline at end of file +71b08e4112901e636d98620ac91654b734f56293 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.IO.Compression.dll b/mcs/class/lib/monolite-linux/B886E13F-6276-4BE5-85F8-C6BF5EDBD200/System.IO.Compression.dll index 62082ecb60797c676ce9d9469f84d9dd4c7ea6a8..238c8e52078ecb6058022b8ff0887d8eb2f587bc 100644 GIT binary patch delta 58 zcmV-A0LA}+hz5X&29SsZu)njwfsD0`0W=H{UT@yF2?~} 0) + mono_state_writer_printf(writer, ",\n"); + mono_native_state_add_frame (writer, &frames [i]); + } mono_state_writer_printf(writer, "\n"); mono_state_writer_indent (writer); @@ -560,6 +557,45 @@ mono_native_state_add_frames (MonoStateWriter *writer, int num_frames, MonoFrame mono_state_writer_printf(writer, "]"); } +static void +mono_native_state_add_managed_exc (MonoStateWriter *writer, MonoExcSummary *exc) +{ + mono_state_writer_indent (writer); + mono_state_writer_printf(writer, "{\n"); + writer->indent++; + + assert_has_space (writer); + mono_state_writer_indent (writer); + mono_state_writer_object_key (writer, "type"); + mono_state_writer_printf(writer, "\"%s.%s\",\n", m_class_get_name_space (exc->managed_exc_type), m_class_get_name (exc->managed_exc_type)); + + mono_native_state_add_frames (writer, exc->num_managed_frames, exc->managed_frames, "managed_frames"); + + mono_state_writer_indent (writer); + writer->indent--; + mono_state_writer_printf(writer, "}\n"); +} + +static void +mono_native_state_add_managed_excs (MonoStateWriter *writer, int num_excs, MonoExcSummary *excs) +{ + mono_state_writer_indent (writer); + mono_state_writer_object_key (writer, "exceptions"); + + mono_state_writer_printf(writer, "[\n"); + + for (int i = 0; i < num_excs; ++i) { + if (i > 0) + mono_state_writer_printf(writer, ",\n"); + mono_native_state_add_managed_exc (writer, &excs [i]); + } + + mono_state_writer_indent (writer); + writer->indent--; + mono_state_writer_printf(writer, "]"); +} + + void mono_native_state_add_thread (MonoStateWriter *writer, MonoThreadSummary *thread, MonoContext *ctx, gboolean first_thread, gboolean crashing_thread) { @@ -619,19 +655,16 @@ mono_native_state_add_thread (MonoStateWriter *writer, MonoThreadSummary *thread mono_state_writer_printf(writer, "\"%s\"", thread->name); } - if (thread->managed_exc_type) { - mono_state_writer_printf(writer, ",\n"); - assert_has_space (writer); - mono_state_writer_indent (writer); - mono_state_writer_object_key (writer, "managed_exception_type"); - mono_state_writer_printf(writer, "\"%s.%s\"", m_class_get_name_space (thread->managed_exc_type), m_class_get_name (thread->managed_exc_type)); - } - if (ctx) { mono_state_writer_printf(writer, ",\n"); mono_native_state_add_ctx (writer, ctx); } + if (thread->num_exceptions > 0) { + mono_state_writer_printf(writer, ",\n"); + mono_native_state_add_managed_excs (writer, thread->num_exceptions, thread->exceptions); + } + if (thread->num_managed_frames > 0) { mono_state_writer_printf(writer, ",\n"); mono_native_state_add_frames (writer, thread->num_managed_frames, thread->managed_frames, "managed_frames"); diff --git a/mono/utils/mono-state.h b/mono/utils/mono-state.h index 6ab3a8cfeb..0b3c07e8f0 100644 --- a/mono/utils/mono-state.h +++ b/mono/utils/mono-state.h @@ -18,7 +18,7 @@ #include #include -#define MONO_NATIVE_STATE_PROTOCOL_VERSION "0.0.2" +#define MONO_NATIVE_STATE_PROTOCOL_VERSION "0.0.3" typedef enum { MonoSummaryNone, diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index 3173c3946e4a11fcae01e045b277e6769675da18..58cc6cefe5aa5bfc4d055d9b45eadb30e5ed4c1e 100644 GIT binary patch delta 20 bcmbQIHBW29Q!aKh1p^B!1GCL1p^B!1B=aXxQw^}N}&dO diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index 9c1672852d..882ae77892 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -809a89236f060daa5b3d86a47711dad28241a998 \ No newline at end of file +8527d85061d77a02a5cc5f2bf79e1792eb924620 \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index bb5effb785d5a92708bce12a7079c5040e492fcd..65df2be7946bc18a1b44ed352373b03d4dbf9220 100644 GIT binary patch delta 20 bcmX?Ef3kjqo+7)Mf`NsVf!StL#VK+CQNaeV delta 20 bcmX?Ef3kjqo+7)cf`NsVfyHK1#VK+CQNaeW diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index 8999d37386..e3d975fe1d 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -e11216564c47fb88c2196f3c7181e53fec04cca8 \ No newline at end of file +4cece26a586a9ca67f8054f740e6079db1bec128 \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index 968a8e78e627a3267c0877422cfeeba9ec1b79d5..9373040c5abe939840a2a3fd3d2f57e28cff7d01 100644 GIT binary patch delta 22 dcmeyri1Gg-#tj_m>}CoE7FGskoB7oXv;bif2MhoJ delta 22 dcmeyri1Gg-#tj_m?4}9^7FGrpoB7oXv;bif2MquK diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index a44e13c8c9..89abc3b241 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -c03a63745725aeb6625f978f49ab364a21799c0c \ No newline at end of file +bb20b832aaa89eb33068c0a8d05d8f70febc4998 \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index 67a4b7dff1..1f59d541e4 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: mono 5.20.0.212\n" +"Project-Id-Version: mono 5.20.0.216\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2019-02-15 08:08+0000\n" +"POT-Creation-Date: 2019-02-16 08:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index 0906b183155188b383db8a2d853bdee51726481c..62052766f42dc097bc03f69188a381e2a93880ae 100644 GIT binary patch delta 22 ecmaF1gXP%{mJM-J+07ITEUXO7Hm6QyYzF{t3J8J# delta 22 ecmaF1gXP%{mJM-J*-aG;EUXMHHm6QyYzF{t3J8M$ diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index 45b653b9ba..622410d675 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -40da4ad61e5c677486b69139e0c5a64eee7f5aa6 \ No newline at end of file +8e5540dd0371f910cac2d287dd1784cde21fea26 \ No newline at end of file