Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

Update CoreClr, CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview2-26302-01, preview2-26228-08, beta-26301-00, beta-26301-00, respectively (master) #27640

Merged
merged 6 commits into from
Mar 2, 2018

Conversation

dotnet-maestro-bot
Copy link

No description provided.

@ahsonkhan
Copy link
Member

ahsonkhan commented Mar 2, 2018

Fixing the failures:

19:14:23 TestMemoryPool.cs(99,24): error CS0103: The name 'MemoryMarshal' does not exist in the current context [D:\j\workspace\windows-TGrou---74aa877a\src\System.IO.Pipelines\tests\System.IO.Pipelines.Tests.csproj]
19:14:23 SocketAsyncEventArgsTest.netcoreapp.cs(51,47): error CS1061: 'Memory<byte>' does not contain a definition for 'TryGetArray' and no extension method 'TryGetArray' accepting a first argument of type 'Memory<byte>' could be found (are you missing a using directive or an assembly reference?) [D:\j\workspace\windows-TGrou---74aa877a\src\System.Net.Sockets\tests\FunctionalTests\System.Net.Sockets.Tests.csproj]
19:14:23 SocketAsyncEventArgsTest.netcoreapp.cs(62,47): error CS1061: 'Memory<byte>' does not contain a definition for 'TryGetArray' and no extension method 'TryGetArray' accepting a first argument of type 'Memory<byte>' could be found (are you missing a using directive or an assembly reference?) [D:\j\workspace\windows-TGrou---74aa877a\src\System.Net.Sockets\tests\FunctionalTests\System.Net.Sockets.Tests.csproj]

I am seeing this locally, but I don't get why:

D:\GitHub\Fork\corefx\src\shims\ApiCompat.proj(76,5): error : TypeCannotChangeClassification : Type 'System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter' is marked as readonly in the contract so it mu
st also be marked readonly in the implementation.

Edit: Fixed

https://github.com/dotnet/corefx/pull/27640/files#diff-b3d39e42f75b9efe89d21eb385ed61f6R6445
I think this needs to be readonly (line 6445 of System.Runtime ref).

public partial struct ConfiguredValueTaskAwaiter : System.Runtime.CompilerServices.ICriticalNotifyCompletion, System.Runtime.CompilerServices.INotifyCompletion

Tested locally and it fixes the ApiCompat error.

@stephentoub will resolve this issue. Thanks.

@ahsonkhan
Copy link
Member

Regarding OSX CI leg - https://github.com/dotnet/core-eng/issues/2808

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'ahsonkhan' is not 'dotnet-maestro-bot'
Would have applied 'Update CoreClr, CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview2-26302-01, preview2-26228-08, beta-26302-00, beta-26302-00, respectively'

dotnet-maestro-bot and others added 4 commits March 1, 2018 23:33
…6302-01, preview2-26228-08, beta-26301-00, beta-26301-00, respectively
This commit does several things:
- Exposes the new `ValueTask` extensibility model being added in coreclr.  The ValueTask-related files will separately be mirrored over to corefx to enable the netstandard build of System.Threading.Tasks.Extensions.
- Adapts all `Stream`-derived types to return `ValueTask` instead of `Task` from `WriteAsync`.
- Changes the new `WebSocket` `SendAsync` method to return `ValueTask` instead of `Task`, and updates the `ManagedWebSocket` implementation accordingly.  Most `SendAsync`s on `ManagedWebSocket` should now return a `ValueTask` that's either completed synchronously (no allocation) or using a pooled object.  It now uses the underlying transport's new `WriteAsync` overload that returns `ValueTask`.
- Switches more uses of `ReadAsync` and `WriteAsync` over to the new overloads, including in Process, DeflateStream, BrotliStream, File, HttpClient, SslStream, WebClient, BufferedStream, CryptoStream,
- Removed some unnecessary array clearing from various routines using ArrayPool (after the clearing was added we changed our minds and decided clearing was only necessary in very specific circumstances)
- Implements a custom `IValueTaskSource` in Socket, such that async receives and sends become allocation-free (ammortized).  `NetworkStream` then inherits this functionality, such that its new `ReadAsync` and `WriteAsync` are also allocation-free (in the unbounded channel implementations; we can subsequently add it in for bounded).
- Implements a custom `IValueTaskSource` in System.Threading.Channels, such that reading and writing are ammortized allocation-free up to one concurrent reader and writer.
- A few random things I noticed as I was going through, e.g. missing ConfigureAwait, some incorrect synchronization in tests, etc.
- Adds a ton of new tests, mainly in System.Threading.Tasks.Extensions, System.Threading.Channels, and System.Net.Sockets.
…Array (#16692)

* Remove Span.NonGenerics and update leftover AsRoS -> AsSpan changes

* Move MemoryExtensions.TryGetString to MemoryMarshal and remove TryGetArray

* Move TryGetString to common MemoryMarshal.cs

* Remove the `this` keyword, not an extension method

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
@stephentoub
Copy link
Member

@jkotas, per your suggestion I disabled some uapaot configurations to get things to build cleanly, and they did for me locally (with build --allconfigurations), but in CI the UWP leg is now failing with:

System.forwards.cs(10,77): error CS0012: The type 'Enum' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. [D:\j\workspace\windows-TGrou---c60886e1\src\shims\manual\System.csproj]

and I don't see a Configuration.props file anywhere in the vicinity. Suggestions?

@jkotas jkotas force-pushed the master-UpdateDependencies branch from 4021734 to c039b09 Compare March 2, 2018 07:09
@jkotas
Copy link
Member

jkotas commented Mar 2, 2018

Disabled the errors in a few more projects and disable validations that complained about missing bits.

cc @ericstj @joperezr

@ahsonkhan
Copy link
Member

ahsonkhan commented Mar 2, 2018

https://ci3.dot.net/job/dotnet_corefx/job/master/job/windows-TGroup_uapaot+CGroup_Release+AGroup_x86+TestOuter_false_prtest/7724/console

...
23:19:17 Cast\IsTests.cs(984,18): error CS0012: The type 'Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. [D:\j\workspace\windows-TGrou---c60886e1\src\System.Linq.Expressions\tests\System.Linq.Expressions.Tests.csproj]
23:19:17 Cast\IsTests.cs(984,18): error CS0012: The type 'Type' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. [D:\j\workspace\windows-TGrou---c60886e1\src\System.Linq.Expressions\tests\System.Linq.Expressions.Tests.csproj]
23:19:17     0 Warning(s)
23:19:17     14384 Error(s)

@jkotas jkotas force-pushed the master-UpdateDependencies branch from c039b09 to 1b24cba Compare March 2, 2018 08:09
This was needed to get through the change of Stream.WriteAsync's return type from Task to ValueTask.
@jkotas jkotas force-pushed the master-UpdateDependencies branch from 1b24cba to 18fa454 Compare March 2, 2018 08:37
@ahsonkhan
Copy link
Member

CI is green (modulo OSX). Merge?

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'Jan Kotas' is not 'dotnet-maestro-bot'
Would have applied 'Update CoreClr, CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview2-26302-04, preview2-26228-08, beta-26302-00, beta-26302-00, respectively'

@dotnet-maestro-bot
Copy link
Author

Couldn't update this pull request: Head commit author 'Jan Kotas' is not 'dotnet-maestro-bot'
Would have applied 'Update CoreClr, CoreFx, ProjectNTfs, ProjectNTfsTestILC to preview2-26302-06, preview2-26228-08, beta-26302-00, beta-26302-00, respectively'

@stephentoub
Copy link
Member

To anyone watching: please hold off on merging this until @jkotas gives the go ahead.

@ericstj
Copy link
Member

ericstj commented Mar 2, 2018

@jkotas those changes will not impact the packages shipping for 2.1. As a general rule you can check for a pkg folder for the library. You may even consider disabling the UAP package entirely, not sure what might happen with that partial package flowing and what havoc it could reek upstack @joperezr may know.

@jkotas
Copy link
Member

jkotas commented Mar 2, 2018

You may even consider disabling the UAP package entirely

Where would be the right place to do that?

@ericstj
Copy link
Member

ericstj commented Mar 2, 2018

Either here or here. Latter is cleaner as an exclude from that item group.

@jkotas jkotas mentioned this pull request Mar 2, 2018
@jkotas
Copy link
Member

jkotas commented Mar 2, 2018

After thinking about it some more, there may be use even for the incomplete package as we flow the difference breaking changes through the system. I will disable it if we find that it is causing havoc - it should not because of the only consumer of it is ProjectN TFS.

@jkotas jkotas removed the * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) label Mar 2, 2018
@jkotas jkotas merged commit 3fca26c into dotnet:master Mar 2, 2018
@stephentoub stephentoub deleted the master-UpdateDependencies branch March 2, 2018 18:09
@stephentoub
Copy link
Member

Thanks, @jkotas and @ahsonkhan.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants