Skip to content
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

[jit] Avoid nullifying LDADDR instructions in load_simd_vreg_class ()… #5979

Merged
merged 1 commit into from Nov 10, 2017

Conversation

vargaz
Copy link
Contributor

@vargaz vargaz commented Nov 9, 2017

…, they could have references if explicit-null-checks are enabled. Fixes #60535.

…, they could have references if explicit-null-checks are enabled. Fixes #60539.
Copy link
Contributor

@kumpera kumpera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this change introduce a codegen regression? The code nullify the LDADDR so later mono_simd_simplify_indirection can eliminate some MONO_INST_INDIRECT and make then local.

Beyond that, this is a fix without a test case. Could we get one added?

@vargaz
Copy link
Contributor Author

vargaz commented Nov 10, 2017

The LDADDR is removed automatically later by the local dce pass. This only happens when explicit null checks are enabled which add a reference to the LDADDR which is removed.

@vargaz vargaz merged commit d59f8a6 into mono:master Nov 10, 2017
@vargaz vargaz deleted the simd-no-nullify branch November 10, 2017 18:35
vargaz added a commit to vargaz/mono that referenced this pull request Nov 10, 2017
…, they could have references if explicit-null-checks are enabled. Fixes #60539. (mono#5979)
lewurm pushed a commit that referenced this pull request Nov 12, 2017
…, they could have references if explicit-null-checks are enabled. Fixes #60539. (#5979)
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.
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
…, they could have references if explicit-null-checks are enabled. Fixes mono/mono#60539. (mono/mono#5979)

Commit migrated from mono/mono@d59f8a6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants