Imported Upstream version 5.20.0.216
Former-commit-id: c528d8f07ed5b0a3419b42f40fe3dcd639a3a009
This commit is contained in:
parent
b155be6e1c
commit
6cb1fffbc7
@ -1 +1 @@
|
||||
2c86edc3ba8bf7e9989f55c6f637d114fd0b28e1
|
||||
f0b6e21374ee9752e37831a38c20776e6960cbcd
|
@ -1 +1 @@
|
||||
9aa1dfe93df405cbc803ec4dd5c3423e1e1d191f
|
||||
7d6429e36be0550c81f969db37a1ac1e621f4c30
|
@ -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";
|
||||
|
@ -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);
|
||||
|
@ -1 +1 @@
|
||||
d03e66988382cc596efa6e6cd4e15b38dd662e2f
|
||||
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762
|
@ -1 +1 @@
|
||||
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
|
||||
bb36f1a11545bf4a03eb3573bdea38e58f46cccc
|
@ -1 +1 @@
|
||||
f23f0206760d2a78d78ca1b09b56c8260a60e065
|
||||
71b08e4112901e636d98620ac91654b734f56293
|
Binary file not shown.
@ -1 +1 @@
|
||||
4627cbb776b126cba78aac2713b8bb3839cb5404
|
||||
d37cf271f832133dd652fc851bd0f5d7b9169079
|
@ -1 +1 @@
|
||||
740601bc775197bb507bcabb8c776613ac0864a8
|
||||
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b
|
@ -1 +1 @@
|
||||
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
|
||||
8000f304b65bd645bc78ec0627662a8cd92b8f36
|
@ -1 +1 @@
|
||||
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
|
||||
2eaa92b92d5c3487575d87df14a4ed6851924590
|
@ -1 +1 @@
|
||||
d03e66988382cc596efa6e6cd4e15b38dd662e2f
|
||||
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762
|
@ -1 +1 @@
|
||||
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
|
||||
bb36f1a11545bf4a03eb3573bdea38e58f46cccc
|
@ -1 +1 @@
|
||||
f23f0206760d2a78d78ca1b09b56c8260a60e065
|
||||
71b08e4112901e636d98620ac91654b734f56293
|
Binary file not shown.
@ -1 +1 @@
|
||||
4627cbb776b126cba78aac2713b8bb3839cb5404
|
||||
d37cf271f832133dd652fc851bd0f5d7b9169079
|
@ -1 +1 @@
|
||||
740601bc775197bb507bcabb8c776613ac0864a8
|
||||
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b
|
@ -1 +1 @@
|
||||
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
|
||||
8000f304b65bd645bc78ec0627662a8cd92b8f36
|
@ -1 +1 @@
|
||||
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
|
||||
2eaa92b92d5c3487575d87df14a4ed6851924590
|
@ -1 +1 @@
|
||||
d03e66988382cc596efa6e6cd4e15b38dd662e2f
|
||||
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762
|
@ -1 +1 @@
|
||||
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
|
||||
bb36f1a11545bf4a03eb3573bdea38e58f46cccc
|
@ -1 +1 @@
|
||||
f23f0206760d2a78d78ca1b09b56c8260a60e065
|
||||
71b08e4112901e636d98620ac91654b734f56293
|
Binary file not shown.
@ -1 +1 @@
|
||||
4627cbb776b126cba78aac2713b8bb3839cb5404
|
||||
d37cf271f832133dd652fc851bd0f5d7b9169079
|
@ -1 +1 @@
|
||||
740601bc775197bb507bcabb8c776613ac0864a8
|
||||
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b
|
@ -1 +1 @@
|
||||
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
|
||||
8000f304b65bd645bc78ec0627662a8cd92b8f36
|
@ -1 +1 @@
|
||||
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
|
||||
2eaa92b92d5c3487575d87df14a4ed6851924590
|
@ -1 +1 @@
|
||||
d03e66988382cc596efa6e6cd4e15b38dd662e2f
|
||||
bf5efc5447e6f4a911a6ec54f7cf8ad9235fe762
|
@ -1 +1 @@
|
||||
1d23d17a634de9fdbb0dc9227c48f23b56a43fca
|
||||
bb36f1a11545bf4a03eb3573bdea38e58f46cccc
|
@ -1 +1 @@
|
||||
f23f0206760d2a78d78ca1b09b56c8260a60e065
|
||||
71b08e4112901e636d98620ac91654b734f56293
|
Binary file not shown.
@ -1 +1 @@
|
||||
4627cbb776b126cba78aac2713b8bb3839cb5404
|
||||
d37cf271f832133dd652fc851bd0f5d7b9169079
|
@ -1 +1 @@
|
||||
740601bc775197bb507bcabb8c776613ac0864a8
|
||||
ed7cb36f1271f2b721d6d6a0d794b726adb4cd5b
|
@ -1 +1 @@
|
||||
f86cd4ec65cf6fae7248f3f5e0bc9b4c6561dffc
|
||||
8000f304b65bd645bc78ec0627662a8cd92b8f36
|
@ -1 +1 @@
|
||||
67f2dde2aeb02fb03415a58067ae5d11d45f74ec
|
||||
2eaa92b92d5c3487575d87df14a4ed6851924590
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -1 +1 @@
|
||||
18d8790cce1bc5af5f396123ecf2af224b656d7f
|
||||
340ce835d465cf9e34de291cdbaed326bb821e69
|
@ -1 +1 @@
|
||||
5d2cdc457b989d21bce22f039a63e9a0b790994f
|
||||
82cfd50fe6fe4d591cf94156aba197f631088b94
|
@ -1 +1 @@
|
||||
#define FULL_VERSION "explicit/aa0b580"
|
||||
#define FULL_VERSION "explicit/4c3f26a"
|
||||
|
@ -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");
|
||||
|
@ -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,
|
||||
|
BIN
po/mcs/de.gmo
BIN
po/mcs/de.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
809a89236f060daa5b3d86a47711dad28241a998
|
||||
8527d85061d77a02a5cc5f2bf79e1792eb924620
|
BIN
po/mcs/es.gmo
BIN
po/mcs/es.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
e11216564c47fb88c2196f3c7181e53fec04cca8
|
||||
4cece26a586a9ca67f8054f740e6079db1bec128
|
BIN
po/mcs/ja.gmo
BIN
po/mcs/ja.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
c03a63745725aeb6625f978f49ab364a21799c0c
|
||||
bb20b832aaa89eb33068c0a8d05d8f70febc4998
|
@ -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"
|
||||
|
BIN
po/mcs/pt_BR.gmo
BIN
po/mcs/pt_BR.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
40da4ad61e5c677486b69139e0c5a64eee7f5aa6
|
||||
8e5540dd0371f910cac2d287dd1784cde21fea26
|
Loading…
x
Reference in New Issue
Block a user