Imported Upstream version 5.20.0.216

Former-commit-id: c528d8f07ed5b0a3419b42f40fe3dcd639a3a009
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2019-02-16 08:26:27 +00:00
parent b155be6e1c
commit 6cb1fffbc7
52 changed files with 150 additions and 113 deletions

View File

@ -1 +1 @@
2c86edc3ba8bf7e9989f55c6f637d114fd0b28e1
f0b6e21374ee9752e37831a38c20776e6960cbcd

View File

@ -1 +1 @@
9aa1dfe93df405cbc803ec4dd5c3423e1e1d191f
7d6429e36be0550c81f969db37a1ac1e621f4c30

View File

@ -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";

View File

@ -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);

View File

@ -1 +1 @@
d03e66988382cc596efa6e6cd4e15b38dd662e2f
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762

View File

@ -1 +1 @@
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
bb36f1a11545bf4a03eb3573bdea38e58f46cccc

View File

@ -1 +1 @@
f23f0206760d2a78d78ca1b09b56c8260a60e065
71b08e4112901e636d98620ac91654b734f56293

View File

@ -1 +1 @@
4627cbb776b126cba78aac2713b8bb3839cb5404
d37cf271f832133dd652fc851bd0f5d7b9169079

View File

@ -1 +1 @@
740601bc775197bb507bcabb8c776613ac0864a8
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b

View File

@ -1 +1 @@
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
8000f304b65bd645bc78ec0627662a8cd92b8f36

View File

@ -1 +1 @@
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
2eaa92b92d5c3487575d87df14a4ed6851924590

View File

@ -1 +1 @@
d03e66988382cc596efa6e6cd4e15b38dd662e2f
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762

View File

@ -1 +1 @@
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
bb36f1a11545bf4a03eb3573bdea38e58f46cccc

View File

@ -1 +1 @@
f23f0206760d2a78d78ca1b09b56c8260a60e065
71b08e4112901e636d98620ac91654b734f56293

View File

@ -1 +1 @@
4627cbb776b126cba78aac2713b8bb3839cb5404
d37cf271f832133dd652fc851bd0f5d7b9169079

View File

@ -1 +1 @@
740601bc775197bb507bcabb8c776613ac0864a8
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b

View File

@ -1 +1 @@
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
8000f304b65bd645bc78ec0627662a8cd92b8f36

View File

@ -1 +1 @@
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
2eaa92b92d5c3487575d87df14a4ed6851924590

View File

@ -1 +1 @@
d03e66988382cc596efa6e6cd4e15b38dd662e2f
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762

View File

@ -1 +1 @@
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
bb36f1a11545bf4a03eb3573bdea38e58f46cccc

View File

@ -1 +1 @@
f23f0206760d2a78d78ca1b09b56c8260a60e065
71b08e4112901e636d98620ac91654b734f56293

View File

@ -1 +1 @@
4627cbb776b126cba78aac2713b8bb3839cb5404
d37cf271f832133dd652fc851bd0f5d7b9169079

View File

@ -1 +1 @@
740601bc775197bb507bcabb8c776613ac0864a8
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b

View File

@ -1 +1 @@
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
8000f304b65bd645bc78ec0627662a8cd92b8f36

View File

@ -1 +1 @@
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
2eaa92b92d5c3487575d87df14a4ed6851924590

View File

@ -1 +1 @@
d03e66988382cc596efa6e6cd4e15b38dd662e2f
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762

View File

@ -1 +1 @@
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
bb36f1a11545bf4a03eb3573bdea38e58f46cccc

View File

@ -1 +1 @@
f23f0206760d2a78d78ca1b09b56c8260a60e065
71b08e4112901e636d98620ac91654b734f56293

View File

@ -1 +1 @@
4627cbb776b126cba78aac2713b8bb3839cb5404
d37cf271f832133dd652fc851bd0f5d7b9169079

View File

@ -1 +1 @@
740601bc775197bb507bcabb8c776613ac0864a8
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b

View File

@ -1 +1 @@
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
8000f304b65bd645bc78ec0627662a8cd92b8f36

View File

@ -1 +1 @@
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
2eaa92b92d5c3487575d87df14a4ed6851924590

View File

@ -415,6 +415,13 @@ typedef struct {
MonoArray *out_args;
} MonoAsyncCall;
typedef struct {
MonoObject obj;
MonoArray *frames;
MonoArray *captured_traces;
MonoBoolean debug_info;
} MonoStackTrace;
typedef struct {
MonoObject obj;
gint32 il_offset;

View File

@ -556,6 +556,7 @@ mono_set_pending_exception_handle (MonoExceptionHandle exc);
#define MONO_MAX_THREAD_NAME_LEN 140
#define MONO_MAX_SUMMARY_THREADS 32
#define MONO_MAX_SUMMARY_FRAMES 80
#define MONO_MAX_SUMMARY_EXCEPTIONS 15
typedef struct {
gboolean is_managed;
@ -584,6 +585,13 @@ typedef struct {
} unmanaged_data;
} MonoFrameSummary;
typedef struct {
MonoClass *managed_exc_type;
int num_managed_frames;
MonoFrameSummary managed_frames [MONO_MAX_SUMMARY_FRAMES];
} MonoExcSummary;
typedef struct {
guint64 offset_free_hash;
guint64 offset_rich_hash;
@ -618,12 +626,13 @@ typedef struct {
int num_unmanaged_frames;
MonoFrameSummary unmanaged_frames [MONO_MAX_SUMMARY_FRAMES];
int num_exceptions;
MonoExcSummary exceptions [MONO_MAX_SUMMARY_EXCEPTIONS];
MonoStackHash hashes;
MonoContext *ctx;
MonoContext ctx_mem;
MonoClass *managed_exc_type;
} MonoThreadSummary;
gboolean

View File

@ -1 +1 @@
18d8790cce1bc5af5f396123ecf2af224b656d7f
340ce835d465cf9e34de291cdbaed326bb821e69

View File

@ -1 +1 @@
5d2cdc457b989d21bce22f039a63e9a0b790994f
82cfd50fe6fe4d591cf94156aba197f631088b94

View File

@ -1 +1 @@
#define FULL_VERSION "explicit/aa0b580"
#define FULL_VERSION "explicit/4c3f26a"

View File

@ -545,14 +545,11 @@ mono_native_state_add_frames (MonoStateWriter *writer, int num_frames, MonoFrame
mono_state_writer_printf(writer, "[\n");
// Where you are: everything works but
// the add_frame method
mono_native_state_add_frame (writer, &frames [0]);
for (int i = 1; i < num_frames; ++i) {
mono_state_writer_printf(writer, ",\n");
mono_native_state_add_frame (writer, &frames [i]);
}
for (int i = 0; i < num_frames; ++i) {
if (i > 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");

View File

@ -18,7 +18,7 @@
#include <mono/metadata/threads-types.h>
#include <mono/utils/json.h>
#define MONO_NATIVE_STATE_PROTOCOL_VERSION "0.0.2"
#define MONO_NATIVE_STATE_PROTOCOL_VERSION "0.0.3"
typedef enum {
MonoSummaryNone,

Binary file not shown.

View File

@ -1 +1 @@
809a89236f060daa5b3d86a47711dad28241a998
8527d85061d77a02a5cc5f2bf79e1792eb924620

Binary file not shown.

View File

@ -1 +1 @@
e11216564c47fb88c2196f3c7181e53fec04cca8
4cece26a586a9ca67f8054f740e6079db1bec128

Binary file not shown.

View File

@ -1 +1 @@
c03a63745725aeb6625f978f49ab364a21799c0c
bb20b832aaa89eb33068c0a8d05d8f70febc4998

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

Binary file not shown.

View File

@ -1 +1 @@
40da4ad61e5c677486b69139e0c5a64eee7f5aa6
8e5540dd0371f910cac2d287dd1784cde21fea26