New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[msbuild] Bump msbuild to mono-2017-10 branch which tracks vs15.5 #5977
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
akoeplinger
approved these changes
Nov 10, 2017
baulig
pushed a commit
that referenced
this pull request
Nov 28, 2017
Squashed commit of the following: commit 7c6a14bf0bec7eea4a4246582068b01149dfa51d Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Tue Nov 28 16:47:37 2017 +0100 Bump msbuild to bring in fix for #60770 (#6107) This mainly applies to Linux packaging. commit 2bf70eb74fc540cfdf969f9174a132732f9ef1e2 Author: Bernhard Urban <bernhard.urban@xamarin.com> Date: Tue Oct 3 10:37:05 2017 +0200 [interp] fix using conv.u with string commit 5f06bd46ce35b4738992611f08698ecd29fc9752 Author: monojenkins <jo.shields+jenkins@xamarin.com> Date: Mon Nov 27 19:17:35 2017 +0000 Bump API snapshot submodule commit c679daadc634363f590d447f784d2ebebccdd0e0 Author: Rolf Bjarne Kvinge <rolf@xamarin.com> Date: Mon Nov 27 17:40:38 2017 +0100 Bump cecil & linker to match master. commit 869be11730bb799ca3f7b80ff22c78206b04fde3 Author: Bernhard Urban <bernhard.urban@xamarin.com> Date: Tue Oct 31 13:09:14 2017 +0100 [interp] allow unsigned i8 in pinvoke signature commit ad5201ccaae07663b417ead3702de68460b7ec21 Author: Rolf Bjarne Kvinge <rolf@xamarin.com> Date: Mon Nov 27 09:43:36 2017 +0100 [System][Test] Only Xamarin.iOS has a synchronization context by default. This shows up when Xamarin.Mac tests start defining XAMMAC [1] [1]: xamarin/xamarin-macios#3034 commit becb293a938d88ee2bbd99642fc92016d9be51d3 Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Fri Nov 24 01:30:00 2017 +0100 [ci] Add Jenkins pipeline script for building OSX and Windows packages Backport of d3c7faa and 4535442 to 2017-10. commit 233e918f811d8f7150140a5261954785f2f94c50 Author: Marek Safar <marek.safar@gmail.com> Date: Thu Nov 23 17:46:25 2017 +0100 [corlib] Disable test check which is timezone dependent commit 7b396cfa3198fc58a0ee1f23f061bfcc89f15891 Author: Rolf Bjarne Kvinge <rolf@xamarin.com> Date: Thu Nov 23 21:05:39 2017 +0100 [tests] Adjust ifdefs to get the expected behavior for Xamarin.Mac/Modern tests. (#6088) commit 910fae9e6c42a5ec1928c2334c7da7d9a877a11b Author: Rolf Bjarne Kvinge <rolf@xamarin.com> Date: Thu Nov 23 21:04:47 2017 +0100 [tests] Adjust ifdefs to get the expected behavior for Xamarin.Mac's cryptography tests. (#6090) commit 12525787a88c74ee74e9eb1e9c06bbc5fe29174e Author: Rolf Bjarne Kvinge <rolf@xamarin.com> Date: Wed Nov 22 12:50:49 2017 +0100 [bitcode] Disable test_0_float_return_spill in bitcode to get green tests. See https://bugzilla.xamarin.com/show_bug.cgi?id=59953 commit d32f8f2919c47dfced856794213d7b0cf6a5fa63 Author: Zoltan Varga <vargaz@gmail.com> Date: Wed Nov 22 12:51:36 2017 -0500 [aot] Add generic instances referenced by MONO_PATCH_INFO_METHOD_RGCTX patches. Fixes #60771. (#6075) Some generic instances were not generated because they were only referenced by METHOD_RGCTX patches, and the gsharedvt fallback didn't work because the method in question Unsafe.Add<T> uses a sizeof opcode on a gsharedvt type which is currently not supported. Testcase: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< using System; using System.Runtime.CompilerServices; public class Tests { [MethodImplAttribute (MethodImplOptions.NoInlining)] public void Foo55<T> () { byte[] arr = new byte [10]; ref byte data0 = ref arr [0]; Unsafe.Add (ref data0, 0); } interface IFace { void Foo55 <T> (); } class AClass : IFace { public void Foo55 <T> () { byte[] arr = new byte [10]; ref byte data0 = ref arr [0]; Unsafe.Add (ref data0, 0); } } public static int Main () { IFace iface = new AClass (); iface.Foo55<int> (); return 0; } } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> commit 909e522997dc77959a6e53f1b1cc6bd4456f0854 Author: Ludovic Henry <luhenry@microsoft.com> Date: Mon Nov 13 15:16:03 2017 -0500 [System] Fix DeflateStream crash with high concurrency on Read/Write/Close (#5994) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=56727 commit aaa91aef14adaae3f83084bbbcde8747ac2fb413 Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Wed Nov 22 02:56:48 2017 +0100 [ci] Fix msbuild paths in Windows packaging They changed with ef1ea85 and fbbde0f. commit 564e29e9b8e427262f19a097ba8a93b6bd811f88 Author: Aleksey Kliger <alklig@microsoft.com> Date: Tue Nov 21 12:39:47 2017 -0500 [loader] inflate constrained result if constraining an inflated generic method Fixes an interpreter failure in gtest-253.cs due to previous commit commit 4f2cb881c69923febd7b3089104240a9dc6eafb1 Author: Chris Hamons <chris.hamons@xamarin.com> Date: Mon Nov 20 13:04:28 2017 -0600 Fix CryptoConfig.CreateFromName on XM Modern (#6029) commit 2d04a1593695ee168773401899cc1dc73ed0e04c Author: Aleksey Kliger <alklig@microsoft.com> Date: Thu Nov 16 17:41:08 2017 -0500 [loader] Rework get_method_constrained (Fixes #60545) Instead of using find_method which relies on method name and exact signature matching (and thus can't work for variant interfaces), use the vtable and the interface offset to find the constrained method. Terminology: base method - a method of the base class to be called base class - some general class or interface that declares a method constraint class - a more specific class that also implements the method. constrained method - the version of the base method in the constraint class. To find the constrained method given the base method: - if the base class is a class: the constraint class can't be an interface. it's either the base class or some subclass of it. If the base method isn't virtual there's nothing to do the constrained method is the same one. If the base method is virtual, get its vtable slot and find the corresponding method in the constraint class's vtable. - if the base class is an interface: in this case the constraint class is either another interface or a class. if the constraint class is an interface, since interfaces can't have implementations, there's nothing to do. if the constraint class is a class, then to find the constrained method get the interface slot offset of the base method and find the base interface offset of the base interface and look in the constrained class vtable. (the base interface offset gives the starting vtable slot for the base interface in the constraint class vtable; the slot offsets go consecutively for each of the methods of the interface). Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=60545 commit 5f8b7f2671895a7e39da73a877ce50b7cd5c25a5 Author: Chris Hamons <chris.hamons@xamarin.com> Date: Fri Nov 17 13:54:05 2017 -0600 Bump cecil commit 5f4a7fbdfe79b871d056af61117e97403e8bc50b Author: Aleksey Kliger <alklig@microsoft.com> Date: Thu Nov 16 18:45:42 2017 -0500 [tests] Mono test for contravariant constrained.callvirt Test that constrained.callvirt IL instruction sequence works for contravariant interfaces. Regression test for https://bugzilla.xamarin.com/show_bug.cgi?id=60545 commit ce7952fc0e3eff0caa37cf10c8208897a998b7f8 Author: Bernhard Urban <bernhard.urban@xamarin.com> Date: Tue Nov 14 22:18:05 2017 +0100 [metadata] make get_darwin_locale thread-safe fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59916 commit 6c183651e327d6a7c7cdd5cf26a9a1f77a9d46f9 Author: Rodrigo Kumpera <kumpera@gmail.com> Date: Tue Nov 14 13:04:49 2017 -0800 [profiler] Restore 'counters' and 'sampling-real' options commit c32c51bc1f27b8563a78a88ccd0933fa87ac8e95 Author: Rodrigo Kumpera <kumpera@gmail.com> Date: Mon Nov 13 16:49:13 2017 -0800 [profiler] Make profiler arg parsing more compatible with previous version. This introduces the following changes. By default, enable more events. Exceptions and Counters are on by default. By default, if alloc or heapshot are enabled, we emit root events as well. New `nodefaults` argument that disables the above changes to default arg processing. Added "nocalls" argument for compat only purposes. Restored "cycles/" prefix to sample frequency argument. It was already a dead argument, but kept for compat. We restored that as existing clients pass that flag. commit 3e2bc038e075501c2cb3b3ce5cfb58a8ec7b61f2 Author: Aleksey Kliger <alklig@microsoft.com> Date: Wed Nov 15 17:10:29 2017 -0500 [sre] Don't warn about duplicate token for MonoArrayMethod ModuleBuilder::GetArrayMethod returns a fresh MonoArrayMethod instance each time it's called, even if you ask for the same method multiple times. On the other hand, mono_image_get_array_token caches tokens by method signature. Therefore mono_image_create_token should expect collisions. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=60238 commit a5c878e7022edffa3f9e989c035c95d67db9f604 Author: Aleksey Kliger <alklig@microsoft.com> Date: Wed Nov 15 17:43:18 2017 -0500 [test] Regression test for 60238 commit 5cfe7b0af4b086410081c445757eb1b724b2d51a Author: Rodrigo Kumpera <kumpera@gmail.com> Date: Mon Oct 2 16:31:40 2017 -0700 [jit] Fix using conv.u with string. commit 59c6e6f1d9a0f8d4436f5e4cfeb82b2a2b47874e Author: Jonathan Chambers <joncham@gmail.com> Date: Tue Nov 14 15:48:06 2017 -0500 Fix icall parameters to use managed boolean type. (#6006) commit 21c41abc620903faa8467afe8003b7a9ee4b437f Author: Bernhard Urban <bernhard.urban@xamarin.com> Date: Tue Nov 14 14:10:21 2017 +0100 [aot] Don't error out if a method fails to JIT in full-aot mode. This was a regression caused by 9302c31. Fixes #59832. (#5686) (#6005) commit 510ed2eb3a0e7c899a7b9ebcbcfa836290522b18 Author: Radek Doulik <rodo@xamarin.com> Date: Tue Oct 24 10:01:37 2017 +0200 [corlib] Updated LinkerDescriptor Preserve `System.Runtime.Remoting.Activation.ActivationServices.CreateProxyForType`. It is called from `object.c:mono_object_new_specific_checked` when constructing remoting or com objects. I didn't add `feature="remoting"` because it is used also for com objects. Added linker test. Without the LinkerDescriptor addition, it fails like this: Unhandled Exception: System.NotSupportedException: Linked away. at (wrapper managed-to-native) System.Object.__icall_wrapper_ves_icall_object_new_specific(intptr) at C.Main () [0x00001] in /Users/rodo/git/mono/mcs/tools/linker/Tests/mscorlib/test-remoting.cs:11 [ERROR] FATAL UNHANDLED EXCEPTION: System.NotSupportedException: Linked away. at (wrapper managed-to-native) System.Object.__icall_wrapper_ves_icall_object_new_specific(intptr) at C.Main () [0x00001] in /Users/rodo/git/mono/mcs/tools/linker/Tests/mscorlib/test-remoting.cs:11 (cherry picked from commit 4b702c8) commit 0683da6b800a24fd997ebf32c76d12878d2662e0 Author: Zoltan Varga <vargaz@gmail.com> Date: Tue Nov 14 03:22:09 2017 -0500 [runtime] Initialize the min_align field of ptr classes, since they have the 'inited' field set, so mono_class_init_sizes () might not be called for them. Fixes #60634. (#5999) (#6002) commit 3fd31fa175f08492f52ac8261c3ed39b136d62c5 Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Fri Nov 10 16:19:04 2017 +0100 [corlib] Add more tests, embed linker descriptor xml in test assembly This enables us to remove https://github.com/xamarin/xamarin-android/blob/e0c0c2bae53f15f8949bef5eda64d1018455ab59/tests/Xamarin.Android.Bcl-Tests/Resources/LinkerDescription.xml. (cherry picked from commit f23ce4f) commit d474b92fb140fb80577f55d394201a3850e76008 Author: Zoltan Varga <vargaz@gmail.com> Date: Fri Nov 10 13:35:32 2017 -0500 [jit] Avoid nullifying LDADDR instructions in load_simd_vreg_class (), they could have references if explicit-null-checks are enabled. Fixes #60539. (#5979) commit 51764b420f86b2c418de5a0df6098362e311b2a1 Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Fri Nov 10 22:48:05 2017 +0100 [bcl] Optimize Process.GetCurrentProcess ().MainModule. (#5843) (#5987) (cherry picked from commit 03ea90c) commit b7561da5919e8fbe9436f8e6c184e8d0b9e7ff64 Author: Ankit Jain <radical@gmail.com> Date: Fri Nov 10 11:48:30 2017 -0500 [msbuild] Change the version used in bockbuild to just '15', instead .. (#5986) .. of 15.x. It doesn't really affect anything and makes it simpler on wrench to specify directory from which to run the tests! commit 9d1d7a0ea18653742f54f89c961ba0db7c975bd5 Author: Ankit Jain <radical@gmail.com> Date: Thu Nov 9 23:16:15 2017 -0500 [msbuild] Fix build (#5981) - Don't copy 14.0/Imports to 15.0 now, as we do that in nuget-buildtasks. - And don't create symlinks for Microsoft.NuGet.targets as it is not required anymore. commit 843046e3899c1dd46e7cd88c9fe02630e082fd6f Author: Ankit Jain <radical@gmail.com> Date: Thu Nov 9 20:40:42 2017 -0500 [msbuild] Fix build - create the directories before installing .. (#5980) .. to them. commit 2e061d9932052de39e82473717578752ad12db42 Author: Ankit Jain <radical@gmail.com> Date: Thu Nov 9 19:17:15 2017 -0500 [msbuild] Bump msbuild to mono-2017-10 branch which tracks vs15.5 (#5977) commit b88ed19fc1b59e2d1ba777d8eb21cbe175c644bb Author: Ankit Jain <radical@gmail.com> Date: Thu Nov 9 12:58:33 2017 -0500 [msbuild] Install importbefore/after hooks for nuget commit 2707bfba687f92a4fd351d599f8328173ad7f298 Author: Ankit Jain <radical@gmail.com> Date: Thu Nov 9 12:55:37 2017 -0500 Bump nuget-buildtasks commit 09ba744e728a1fa5b7f66c2c8079b1d1a5e57b61 Author: Ludovic Henry <luhenry@microsoft.com> Date: Wed Nov 8 15:45:18 2017 -0500 [System] Add missing ConfigureAwait (#5963) (#5968) This is a candidate fix for: https://bugzilla.xamarin.com/show_bug.cgi?id=60317 The bug was introduced by 1b5e0f7. Preliminary verification ======================== If I make just this _one_ change to a "bad" commit of Mono from after commit 1b5e0f7, rebuild System.dll in the `xammac` profile, and then overwrite that file in the MonoBundle directory of a Xamarin.Mac test app, then I restore the old "good" behavior. (I started with 38da0b3 as the "bad" version for my tests.) I believe this confirms that the cause of bug 60317 was the usual deadlocking issue when awaiting Tasks on the UI thread. As discussed on https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html, if any Tasks awaited anywhere up the call stack are missing `ConfigureAwait (false)`, then you can run into trouble on the UI thread. Additional little checks ======================== 1. Do the other `await` statements in commit 1b5e0f7 all look OK? Yes, it looks like this was the only `await` statement that was missing `ConfigureAwait (false)`: ``` $ git show 1b5e0f7 | grep await + await ProcessOperation (cancellationToken).ConfigureAwait (false); + var ret = await InnerRead (cancellationToken).ConfigureAwait (false); + await Parent.InnerWrite (RunSynchronously, cancellationToken); + var ret = await Parent.InnerRead (RunSynchronously, requestedSize, cancellationToken).ConfigureAwait (false); + result = await asyncRequest.StartOperation (CancellationToken.None).ConfigureAwait (false); + result = await asyncRequest.StartOperation (cancellationToken).ConfigureAwait (false); + var ret = await task.ConfigureAwait (false); + await task.ConfigureAwait (false); ``` 2. Is it a concern that mcs/class/System did not contain any calls to `ConfigureAwait ()` until commit 1b5e0f7: ``` $ git grep ConfigureAwait 1b5e0f7^ -- mcs/class/System || echo 'None' None ``` I do not think this is a concern. For example, System.Net.Http.HttpClient has been using `ConfigureAwait (false)` for several years, so there is a precedent for it. commit 80ee693784e5a69a211d605e74c2145958b41721 Author: Aleksey Kliger <alklig@microsoft.com> Date: Fri Nov 3 16:16:25 2017 -0400 [test] FieldInfo.{Get,Set}Value tests for ContextBoundObject Test that passing a transparent proxy to GetValue and SetValue works as expected Regression tests for https://bugzilla.xamarin.com/show_bug.cgi?id=60245 commit e3164c23c394d818e32df9ac315e6e40c1a5e428 Author: Aleksey Kliger <alklig@microsoft.com> Date: Fri Nov 3 16:06:23 2017 -0400 [remoting] Check for transparent proxy in ves_icall_MonoField_{Get,Set}ValueInternal Cover the case where System.Reflection.TypeInfo:GetValue or System.Reflection.TypeInfo:SetValue are passed a transparent proxy as the object. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=60245 commit f11a6ab50e77aa1df3289d1cd683db5841079697 Author: Manuel de la Pena <mandel@microsoft.com> Date: Wed Nov 8 16:58:10 2017 +0100 [Tests] Make Mono.Data.Sqlite tests more robust. (#5957) * [Tests] Make Mono.Data.Sqlite tests more robuts. There are cases in which the tests are ran in parallel and the files used for the db are writte/read by several tests at the same time. This changes ensures that we do have a diff test file per test case to ensure that we do not have false negatives. commit 948d6fd915851825853a2b20390cd7681e0e5b78 Author: Manuel de la Pena <mandel@microsoft.com> Date: Tue Nov 7 19:52:04 2017 +0100 [Tests] Small improvement to make sure that the tmp directories are unique. (#5956) In the original tests there was a confusion between GetTempDir and GetTempFileName, GetTempDir always return the tmp dir. commit 5f41a4be0e42fbfd388f69f8d6143e0e70f08de8 Author: Rolf Bjarne Kvinge <rolf@xamarin.com> Date: Tue Nov 7 02:45:26 2017 +0100 [System] Ignore tests that fail on device until the corresponding bugs have been fixed. (#5952) * [System] Ignore broken test until corresponding bug is fixed. * [System] Ignore test that randomly hangs on device. commit a43968e929771a8c6102e1d992be6adfc5c15c9d Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Sat Nov 4 03:17:07 2017 +0100 [ServiceModel.Web] Fix test by adding WebHttpBehavior to WebChannelFactory endpoint on MOBILE Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59909 WebChannelFactory doesn't add the WebHttpBehavior on mobile: https://github.com/mono/mono/blob/4272b68b769951c221ec39d3e844f8f715e1df62/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web/WebChannelFactory.cs#L87-L90 This makes the WebInvokeAttributeTest.RejectTwoParametersWhenNotWrapped test fail on mobile since it doesn't reach the normal validation method where it'd fail with InvalidOperationException, e.g. here''s the stack on net_4_x profile: ``` System.InvalidOperationException : Operation 'Join' has multiple message body parts. Add parameters to the UriTemplate or change the BodyStyle to 'Wrapped' or 'WrappedRequest' on the WebInvoke/WebGet attribute. at System.ServiceModel.Description.WebHttpBehavior.ValidateOperation (System.ServiceModel.Description.OperationDescription operation) [0x000f9] in /Users/alexander/dev/mono/mcs/class/System.ServiceModel.Web/System.ServiceModel.Description/WebHttpBehavior.cs:249 at System.ServiceModel.Description.WebHttpBehavior.Validate (System.ServiceModel.Description.ServiceEndpoint endpoint) [0x00028] in /Users/alexander/dev/mono/mcs/class/System.ServiceModel.Web/System.ServiceModel.Description/WebHttpBehavior.cs:268 at System.ServiceModel.Description.ServiceEndpoint.Validate () [0x0007f] in /Users/alexander/dev/mono/mcs/class/System.ServiceModel/System.ServiceModel.Description/ServiceEndpoint.cs:129 at System.ServiceModel.ChannelFactory`1[TChannel].CreateChannel (System.ServiceModel.EndpointAddress address, System.Uri via) [0x0002b] in /Users/alexander/dev/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs:148 at System.ServiceModel.ChannelFactory`1[TChannel].CreateChannel (System.ServiceModel.EndpointAddress address) [0x00000] in /Users/alexander/dev/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs:115 at System.ServiceModel.ChannelFactory`1[TChannel].CreateChannel () [0x00006] in /Users/alexander/dev/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs:110 ``` We can fix this by adding the WebHttpBehavior in the test manually. NB: I'm actually not sure why this isn't done by default on MOBILE? According to MSDN it should. (cherry picked from commit 733b4a4) commit 20748bf29ef4f50d67aee4cb0466bb5d72d4b0c4 Author: Alexander Köplinger <alex.koeplinger@outlook.com> Date: Fri Nov 3 16:59:00 2017 +0100 [corlib] Add missing file to .sources It was missed in the last cherry-pick. commit bd3c7dea65a0cfdcfff09b856a23a51f83116b3a Author: Manuel de la Pena <mandel@microsoft.com> Date: Fri Nov 3 14:49:08 2017 +0100 [Tests] Fix flaky IO tests due to parrallel execution on Mac bots. (#5932) Some of the IO tests do not create a diff temp file per test but per fixture. This is problematic when the test cases are ran in parallel. Moving the creation of the tmp dirs to the SetUp to ensure that each test case has its own path.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.