diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index a6dc71fd43..ee01b90492 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -ceb952e3a229b6b04abaa5b97538f01813e580ae \ No newline at end of file +e4b811826621e311f69263092df0e00b179fa373 \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index 73fb190464..f8f633f886 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -fdfbffe66849adf184e5d9e85c7fde89cdaf8fb2 \ No newline at end of file +f3be6684494b4fb113573ae47af14b3825890374 \ No newline at end of file diff --git a/external/nunit-lite/NUnitLite-1.0.0/src/framework/FinallyDelegate.cs b/external/nunit-lite/NUnitLite-1.0.0/src/framework/FinallyDelegate.cs index 091ef093ca..d94cf79490 100644 --- a/external/nunit-lite/NUnitLite-1.0.0/src/framework/FinallyDelegate.cs +++ b/external/nunit-lite/NUnitLite-1.0.0/src/framework/FinallyDelegate.cs @@ -60,6 +60,23 @@ namespace NUnit.Framework.Internal Dictionary lookupTable; + // Why is CallContext used? Consider the following scenario: + // + // * say Test_A runs in Thread_1 + // * Test_A spawns another Thread_2 + // * Thread_1 finishes with Test_A, and moves on to Test_B + // * Thread_2 isn't done yet really, crashes and causes an unhandled exception + // * we need a way to map this unhandled exception to Test_A, although Test_B is the currently running test + // + // => what we need is some sort of "thread local" that gets inherited: when + // Thread_1 creates Thread_2, it needs to have the same "thread local" values. + // that is achieved with `CallContext`. + // + // Unfortunately, remoting isn't available on every platform (it will + // throw PlatformNotSupportedexception), thus we can't support this + // scenario. Luckily, this scenario is very rare. + + Container container = null; private static readonly string CONTEXT_KEY = "TestResultName"; public FinallyDelegate () { @@ -73,14 +90,18 @@ namespace NUnit.Framework.Internal /* keep name in LogicalCallContext, because this will be inherited by * Threads spawned by the test case */ var guid = Guid.NewGuid(); - CallContext.SetData(CONTEXT_KEY, new Container(guid)); + try { + CallContext.SetData(CONTEXT_KEY, new Container(guid)); + } catch { + container = new Container (guid); + } this.lookupTable.Add(guid, result); this.testStack.Push(frame); } public void HandleUnhandledExc (Exception ex) { - Container c = (Container) CallContext.GetData(CONTEXT_KEY); + Container c = container ?? (Container) CallContext.GetData(CONTEXT_KEY); TestResult result = this.lookupTable [c.guid]; result.RecordException(ex); result.ThreadCrashFail = true; diff --git a/mcs/build/common/Consts.cs b/mcs/build/common/Consts.cs index 7e4575a6ee..12f4c1f1ff 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.10.0.141"; + public const string MonoVersion = "5.10.0.144"; 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/lib/monolite-darwin/1051000002/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/Mono.Security.dll.REMOVED.git-id index 19be982554..7dfd4a8c9a 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -027cdedf223b55ea18d0e1cc2bfe1c9bb9aa0cf5 \ No newline at end of file +17d71941f008b9d762ca324d866fafb74c4710da \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000002/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/System.Configuration.dll.REMOVED.git-id index c53e6e6ba9..40c30fcc60 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -ec34e84d269ff27bc4763a59725cb1f27cb2ae0c \ No newline at end of file +6476109f8ed6ff211b4ea34f27d1c116d3c75109 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000002/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/System.Numerics.dll.REMOVED.git-id index 605d57aa17..03c624002b 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -969213b6cefc33120f6b55ea45da40af3be73308 \ No newline at end of file +0d866f89477a413e0602168cedb677538c26c5a5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000002/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/System.Security.dll.REMOVED.git-id index 05f7fd8782..415d748163 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -db177403ce219d45733074c530b13fee61b9624f \ No newline at end of file +8c4410a6c0c7fd0987c68314e9da660f1a09eb02 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000002/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/System.Xml.dll.REMOVED.git-id index 25349ca0d6..7e839110f0 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -29812ba06b65a1a07d168ccf5dc54362284ca8ae \ No newline at end of file +724ba0ca29a8f94f33c0c2b9cfa478b5513c8ad8 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000002/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/mcs.exe.REMOVED.git-id index 63277bbc6b..0821032786 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -73fae5bfa8d7c4bed4e9f3d3beacb75c13a50615 \ No newline at end of file +84b06b604c65bfe45810b53017f3ae0faf52520a \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000002/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000002/mscorlib.dll.REMOVED.git-id index a1783db754..f6daf2b43c 100644 --- a/mcs/class/lib/monolite-darwin/1051000002/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000002/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -bba7bcf2231753be9cc7ade2b695cda5b26c4b56 \ No newline at end of file +c9899b42c53f78da69acda8a88a613cca6eb8b5b \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/Mono.Security.dll.REMOVED.git-id index 19be982554..7dfd4a8c9a 100644 --- a/mcs/class/lib/monolite-linux/1051000002/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -027cdedf223b55ea18d0e1cc2bfe1c9bb9aa0cf5 \ No newline at end of file +17d71941f008b9d762ca324d866fafb74c4710da \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/System.Configuration.dll.REMOVED.git-id index c53e6e6ba9..40c30fcc60 100644 --- a/mcs/class/lib/monolite-linux/1051000002/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -ec34e84d269ff27bc4763a59725cb1f27cb2ae0c \ No newline at end of file +6476109f8ed6ff211b4ea34f27d1c116d3c75109 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/System.Numerics.dll.REMOVED.git-id index 605d57aa17..03c624002b 100644 --- a/mcs/class/lib/monolite-linux/1051000002/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -969213b6cefc33120f6b55ea45da40af3be73308 \ No newline at end of file +0d866f89477a413e0602168cedb677538c26c5a5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/System.Security.dll.REMOVED.git-id index 05f7fd8782..415d748163 100644 --- a/mcs/class/lib/monolite-linux/1051000002/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -db177403ce219d45733074c530b13fee61b9624f \ No newline at end of file +8c4410a6c0c7fd0987c68314e9da660f1a09eb02 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/System.Xml.dll.REMOVED.git-id index 25349ca0d6..7e839110f0 100644 --- a/mcs/class/lib/monolite-linux/1051000002/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -29812ba06b65a1a07d168ccf5dc54362284ca8ae \ No newline at end of file +724ba0ca29a8f94f33c0c2b9cfa478b5513c8ad8 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/mcs.exe.REMOVED.git-id index 63277bbc6b..0821032786 100644 --- a/mcs/class/lib/monolite-linux/1051000002/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -73fae5bfa8d7c4bed4e9f3d3beacb75c13a50615 \ No newline at end of file +84b06b604c65bfe45810b53017f3ae0faf52520a \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000002/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000002/mscorlib.dll.REMOVED.git-id index a1783db754..f6daf2b43c 100644 --- a/mcs/class/lib/monolite-linux/1051000002/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000002/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -bba7bcf2231753be9cc7ade2b695cda5b26c4b56 \ No newline at end of file +c9899b42c53f78da69acda8a88a613cca6eb8b5b \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/Mono.Security.dll.REMOVED.git-id index 19be982554..7dfd4a8c9a 100644 --- a/mcs/class/lib/monolite-win32/1051000002/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -027cdedf223b55ea18d0e1cc2bfe1c9bb9aa0cf5 \ No newline at end of file +17d71941f008b9d762ca324d866fafb74c4710da \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/System.Configuration.dll.REMOVED.git-id index c53e6e6ba9..40c30fcc60 100644 --- a/mcs/class/lib/monolite-win32/1051000002/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -ec34e84d269ff27bc4763a59725cb1f27cb2ae0c \ No newline at end of file +6476109f8ed6ff211b4ea34f27d1c116d3c75109 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/System.Numerics.dll.REMOVED.git-id index 605d57aa17..03c624002b 100644 --- a/mcs/class/lib/monolite-win32/1051000002/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -969213b6cefc33120f6b55ea45da40af3be73308 \ No newline at end of file +0d866f89477a413e0602168cedb677538c26c5a5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/System.Security.dll.REMOVED.git-id index 05f7fd8782..415d748163 100644 --- a/mcs/class/lib/monolite-win32/1051000002/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -db177403ce219d45733074c530b13fee61b9624f \ No newline at end of file +8c4410a6c0c7fd0987c68314e9da660f1a09eb02 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/System.Xml.dll.REMOVED.git-id index 25349ca0d6..7e839110f0 100644 --- a/mcs/class/lib/monolite-win32/1051000002/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -29812ba06b65a1a07d168ccf5dc54362284ca8ae \ No newline at end of file +724ba0ca29a8f94f33c0c2b9cfa478b5513c8ad8 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/mcs.exe.REMOVED.git-id index 63277bbc6b..0821032786 100644 --- a/mcs/class/lib/monolite-win32/1051000002/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -73fae5bfa8d7c4bed4e9f3d3beacb75c13a50615 \ No newline at end of file +84b06b604c65bfe45810b53017f3ae0faf52520a \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000002/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000002/mscorlib.dll.REMOVED.git-id index a1783db754..f6daf2b43c 100644 --- a/mcs/class/lib/monolite-win32/1051000002/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000002/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -bba7bcf2231753be9cc7ade2b695cda5b26c4b56 \ No newline at end of file +c9899b42c53f78da69acda8a88a613cca6eb8b5b \ No newline at end of file diff --git a/mono/mini/version.h b/mono/mini/version.h index aff9d2f297..31ad0a8cb3 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "explicit/e87d123" +#define FULL_VERSION "explicit/331f927" diff --git a/mono/sgen/sgen-workers.c b/mono/sgen/sgen-workers.c index fe9974cde6..5914946b43 100644 --- a/mono/sgen/sgen-workers.c +++ b/mono/sgen/sgen-workers.c @@ -358,7 +358,7 @@ sgen_workers_create_context (int generation, int num_workers) { static gboolean stat_inited = FALSE; int i; - WorkerData **workers_data_ptrs = (WorkerData**)sgen_alloc_internal_dynamic (num_workers * sizeof(WorkerData*), INTERNAL_MEM_WORKER_DATA, TRUE); + WorkerData **workers_data_ptrs; WorkerContext *context = &worker_contexts [generation]; SGEN_ASSERT (0, !context->workers_num, "We can't init the worker context for a generation twice"); @@ -366,20 +366,21 @@ sgen_workers_create_context (int generation, int num_workers) mono_os_mutex_init (&context->finished_lock); context->generation = generation; - context->workers_num = num_workers; - context->active_workers_num = num_workers; + context->workers_num = (num_workers > SGEN_THREADPOOL_MAX_NUM_THREADS) ? SGEN_THREADPOOL_MAX_NUM_THREADS : num_workers; + context->active_workers_num = context->workers_num; - context->workers_data = (WorkerData *)sgen_alloc_internal_dynamic (sizeof (WorkerData) * num_workers, INTERNAL_MEM_WORKER_DATA, TRUE); - memset (context->workers_data, 0, sizeof (WorkerData) * num_workers); + context->workers_data = (WorkerData *)sgen_alloc_internal_dynamic (sizeof (WorkerData) * context->workers_num, INTERNAL_MEM_WORKER_DATA, TRUE); + memset (context->workers_data, 0, sizeof (WorkerData) * context->workers_num); init_distribute_gray_queue (context); - for (i = 0; i < num_workers; ++i) { + workers_data_ptrs = (WorkerData**)sgen_alloc_internal_dynamic (context->workers_num * sizeof (WorkerData*), INTERNAL_MEM_WORKER_DATA, TRUE); + for (i = 0; i < context->workers_num; ++i) { workers_data_ptrs [i] = &context->workers_data [i]; context->workers_data [i].context = context; } - context->thread_pool_context = sgen_thread_pool_create_context (num_workers, thread_pool_init_func, marker_idle_func, continue_idle_func, should_work_func, (void**)workers_data_ptrs); + context->thread_pool_context = sgen_thread_pool_create_context (context->workers_num, thread_pool_init_func, marker_idle_func, continue_idle_func, should_work_func, (void**)workers_data_ptrs); if (!stat_inited) { mono_counters_register ("# workers finished", MONO_COUNTER_GC | MONO_COUNTER_ULONG, &stat_workers_num_finished); diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index 390ddbe38a..0bfdd33c63 100644 Binary files a/po/mcs/de.gmo and b/po/mcs/de.gmo differ diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index ee6776b004..33c1b8388e 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -2b9bdbce42bec4dddd1ccf7ad5257302e9d4ca65 \ No newline at end of file +6861e8c7e487f592d9cde75d28413716ed786a9e \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index f9c933d53e..5c04a90a54 100644 Binary files a/po/mcs/es.gmo and b/po/mcs/es.gmo differ diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index eebd91f970..0a6c25bfc9 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -8e2ff44e80d89e2160d6cab32772c269802d31f1 \ No newline at end of file +70cfa94fee4e4b593aad078253f95b0e2b3bc47a \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index 29482837c5..3c82153341 100644 Binary files a/po/mcs/ja.gmo and b/po/mcs/ja.gmo differ diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index b22b6db842..7aa33b4281 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -a0189e2b71c6f26db844c70c001d68781b01984f \ No newline at end of file +89b6b84f8535aaf21d282b1715f46e521e3ab5cc \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index 9b05a09cf0..e763801fca 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: mono 5.10.0.141\n" +"Project-Id-Version: mono 5.10.0.144\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2018-02-27 08:24+0000\n" +"POT-Creation-Date: 2018-02-28 08:21+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 a0cfdbd13a..393b569ba2 100644 Binary files a/po/mcs/pt_BR.gmo and b/po/mcs/pt_BR.gmo differ diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index 4c8908ce19..4d965b744f 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -c251704b20ed06c7d9cea8d53c80dad49d580092 \ No newline at end of file +9f762a51921c5e8b807627a6815245c78668d2a3 \ No newline at end of file