Skip to content

update#3

Merged
john-h-k merged 1670 commits intojohn-h-k:masterfrom
dotnet:master
Jul 16, 2019
Merged

update#3
john-h-k merged 1670 commits intojohn-h-k:masterfrom
dotnet:master

Conversation

@john-h-k
Copy link
Owner

No description provided.

dotnet-maestro bot and others added 30 commits July 1, 2019 14:18
* Update dependencies from https://github.com/dotnet/coreclr build 20190628.2

- Microsoft.NET.Sdk.IL - 3.0.0-preview8.19328.2
- Microsoft.NETCore.ILAsm - 3.0.0-preview8.19328.2
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview8.19328.2

* Update dependencies from https://github.com/dotnet/coreclr build 20190629.2

- Microsoft.NET.Sdk.IL - 3.0.0-preview8.19329.2
- Microsoft.NETCore.ILAsm - 3.0.0-preview8.19329.2
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview8.19329.2

* Update dependencies from https://github.com/dotnet/coreclr build 20190630.2

- Microsoft.NET.Sdk.IL - 3.0.0-preview8.19330.2
- Microsoft.NETCore.ILAsm - 3.0.0-preview8.19330.2
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview8.19330.2
…otnet-optimization build 20190701.1 (#39073)

- optimization.windows_nt-x64.IBC.CoreFx - 99.99.99-master-20190701.1
…90701.1 (#39074)

- NETStandard.Library - 2.1.0-prerelease.19351.1
* Remove dead code in System.Private.DataContractSerialization

* Remove dead code in System.Private.Uri

* Remove dead code in System.Private.Xml

* Remove dead code in System.Private.Xml.Linq

* Partial revert of ab0a4ab

Partial revert of ab0a4ab for public APIs that got
flagged by accident.
…e children (#39078)

* WaitIdAnyExitedNoHangNoWait: handle waitid returning 0 for no waitable children

* clear using memset
…90701.2 (#39080)

- NETStandard.Library - 2.1.0-prerelease.19351.2
* Generate framework manifest file

* Manual darc update from build '20190629.2'

* Handle DefaultReferenceExclusions

* Add runtime assets filter

* Generate manifest file for all verticals
I'd fixed the assert message to contain the right value when MaxResponseHeadersLength was exceeded, but this error message isn't used for WinHttpHandler, and thus it doesn't contain the value.  Special-case the check for just SocketsHttpHandler.
Windows 7, 8.1, 10-RS4, and 10-19H1 all fail to import the key described in the
RSAXml.FromNonsenseXml test with a WindowsCryptographicException from
NCryptImportKey reporting NTE_NOT_SUPPORTED.

Windows 10-RS1 successfully imports the invalid key, not realizing that it is
invalid until use -- e.g. calling SignData throws a
WindowsCryptographicException reporting NTE_INVALID_PARAMETER.

By copying the same D.Length == Modulus.Length, everything else == halfModulusLength
check from RSACryptoServiceProvider, invalid keys of this form are now
consistently rejected in ImportParameters, and the exception message is
a bit friendlier.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…ckBase (#25482)

Fixes https://github.com/dotnet/coreclr/issues/25242
- The issue could be that there is no memory barrier (or in the wrong place) on the thread reading the value, and an old value could be cached and read

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
We were missing methods that got added for 3.0. The only LoadContext that works is the default one though.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…the underlying framework (#38322)

* Fixing some doc comments and adjusting Utf8JsonWriter to try and roundtrip float/double on .NET Framework.

* Fixing up various tests to handle framework vs core differences for float/double

* Changing the Utf8JsonWriter to replicate the .NET Core 3.0 Utf8Formatter.TryFormat method.

* Modifying some tests to enforce netfx and netcore test the same things.

* Fixing up some code comments to clarify .NET Core 3.0 or higher vs anything else.

* Adding code comments explaining why we duplicate the netcoreapp3.0 Utf8Formatter logic.

* Removing three usages of var.

* Responding to more PR feedback.

* ifdef out the ISpanFormattable parts of the TryFormatDouble and TryFormatSingle shims for netfx

* Removing an unnecessary using that was added during a rebase.

* Changing some RangePassFloatingPoint scenarios to epect JsonException rather than FormatException

* Removing dependency on Span from the TryFormatSingle/TryFormatDouble fallback paths

* Resolving some more PR feedback.
* Do not directly abort connection on GOAWAY

* Address feedback and add disabled GOAWAY tests

* remove redundant frame ignoring logic
Now you can just update the baseline by running

	$ build /p:NETStandard21UpdatedBaseLine=True

This assumes you've got a local build of .NET Standard parallel to corefx,
checked out to a folder named standard.
When updating the baseline, a newline will always be added. This avoids noisy
diffs.
* Add a number of new RealFormatter tests

* Fixing up some custom formatter tests in response to dotnet/coreclr#25400

* Don't run the custom numeric format tests against the UTF8Formatter
…itrary String (#25173)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Change ArgumentException message to one line

* Disable 2 tests

* Remove duplication in AggregateException.ToString()

* Inner exceptions on new lines

* Caps letter

* Typo

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* improve Http2_PendingSend_SendsReset

* style update
…701.4 (#39109)

- Microsoft.DotNet.XUnitExtensions - 2.4.1-beta.19351.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.19351.4
- Microsoft.DotNet.VersionTools.Tasks - 1.0.0-beta.19351.4
- Microsoft.DotNet.ApiCompat - 1.0.0-beta.19351.4
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19351.4
- Microsoft.DotNet.Build.Tasks.Configuration - 1.0.0-beta.19351.4
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19351.4
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19351.4
- Microsoft.DotNet.CodeAnalysis - 1.0.0-beta.19351.4
- Microsoft.DotNet.CoreFxTesting - 1.0.0-beta.19351.4
- Microsoft.DotNet.GenAPI - 1.0.0-beta.19351.4
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19351.4
- Microsoft.DotNet.RemoteExecutor - 1.0.0-beta.19351.4
- Microsoft.DotNet.GenFacades - 1.0.0-beta.19351.4
stephentoub and others added 29 commits July 15, 2019 13:12
…#39471)

* Fix SocketsHttpHandler canceling request when response stream dropped

Good code using HttpClient should Dispose of the HttpResponseMessage and/or response Stream when its done with it.  However, if code fails to do so, we still want to ensure that we don't leak connections/requests to the server or leak resources on the client.  If the response isn't disposed but the code reads all the way to the end of it, then internally things are cleaned up.  But if the response isn't disposed and hasn't read to the end, for both HTTP/1.1 and HTTP/2, we have some issues.

For HTTP/1.1, we rely on the Socket's finalization to close the associated connection.  However, we use a cache of SocketAsyncEventArgs instances to handle creating connections, and it turns out that these SocketAsyncEventArgs instances are keeping around a reference to the last created Socket.  If the SAEA is reused for another connection, then there's no issue, but until it is, it maintains several references to the socket: in ConnectSocket, in _currentSocket, in _multipleConnect, and then further within another SAEA instance that the _multipleConnect itself is creating for some reason.  We should go through and clean all that up in SAEA, but for now, this just removes the SAEA cache.

For HTTP/2, nothing was cleaning up in this case.  To handle it, we:
1. Make the response stream finalizable, such that when finalized it behaves as if Dispose were called.
2. When SendAsync completes, we remove the strong reference from the Http2Stream to the response message, such that the response (and in turn the response stream) doesn't get rooted by the Http2Connection storing the Http2Stream in its dictionary).
3. The only reason that reference was still needed was to support trailing headers.  So we create a lazily-allocated list on the Http2Stream for storing trailers if any should arrive, and then when the response body completes, the response stream pulls those headers in from the temporary collection into the response that it then has a reference to.  This also helps to avoid a race condition where consuming code erroneously accesses TrailingHeaders before the request has completed, in which case we previously could have been trying to write to the collection while user code was reading from it; with this change, that mutation happens as part of a call the consumer makes.

* Address PR feedback
…cOnly (#39395)

* Add tests for nullable compiler emitted attributes

* Set nullablePublicOnly compiler feature unconditionally

* PR Feedback

* PR Feedback -- add positive and more exhaustive tests
…0713.2 (#39463)

- Microsoft.NET.Sdk.IL - 3.0.0-preview8.19363.2
- Microsoft.NETCore.ILAsm - 3.0.0-preview8.19363.2
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview8.19363.2
…90715.2 (#39487)

- NETStandard.Library - 2.1.0-prerelease.19365.2
…rvices (#25214)

* Address nullable feedback for System.Threading.Overlapped

* Address nullable feedback for System.Memory

* Address nullable for System.Runtime.InteropServices

* Update xml comments and make CultureInfo nullable to match String.ToLower/Upper feedback

* PR feedback: revert accepting null comparer in BinarySearch

* Disable test that needs to be updated in corefx

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
* Make CreateConverter public and add options

This is to facilitate composition with factory converters.

* Remove unnecessary using
…nt types (#39474)

* Ensure that CancellationToken is propagated to built-in request content types

We don't currently expose the overload that would allow CancellationToken to be accessed by HttpContent-derived types in general, but we can at least ensure that when using the built-in content types, the CancellationToken provided to SendAsync is appropriately threaded through.  We were doing this previously in only a few cases, where we knew that the previous overload wouldn't be overridden (namely internal types and sealed types), but we can enable the 90% scenario as well by doing a type check at run-time.

* Disable cancellation test for UAP handler
)

* Increase wait timeout and add extra logs

* nits

* Update FlushAsyncCancellationTests.cs

* Update ReadAsyncCancellationTests.cs

* This is what happens when you edit on github

* another one
* added client operation for post data

* client operation for multipart data content

* remove the subset test
Ensure we pass the `_abortException`, not `abortException`, to the streams, and log any non-duplicate exception.
* Strip out delegate API calls and use the SetDllImportResolver functionality instead.

* Fix the Unix buidl

* Fix NetFX build, create class for custom resolving

* Fix namespace, tweak comments in project file

* Tweak LibraryResolver per feedback

* Fix  breaks

* Adjust tests for NetFX behavior

* Harvest downlevel packages

* Put back UAP build, respond to feedback on projects and LOGFONT marking

* Remove local

* Tweak FileNotFoundException, guard in PageSettings

* Address feedback

Change LOGFONT round tripping to allow structs

* Fix hintpath. Finish fixing LOGFONT references.

* Address feedback
* request-in-flight GOAWAY test

* apply feedback
The ctor is already `protected`, so it can already be accessed by any derived type.  The only benefit adding `internal` would provide is so that it could be called directly by something else in the assembly, but the type is `abstract`, so that doesn't make sense for a ctor.
* Remove hooking of system color changes

Hooking user preference changes to update system colors is expensive, particularly as it is hooked via reflection. Getting the current color from the OS is extremely cheap.  Removing this layer of caching avoids creating a watcher window and thread and a significant number of startup allocations.

In starting up a blank WinForms app this cuts 200 allocations.

Note that Pens and Brushes in System.Drawing start their own user preference watcher so that they can update GDI+ when backed by system colors.

* Address feedback

* Remove newly dead files
Currently, if an abort occurs, it disposes of credit managers, and if there's a waiter on that credit manager, that waiter propagates an ObjectDisposedException.  It should instead propagate whatever exception resulted from the abort.
@john-h-k john-h-k merged commit b35819a into john-h-k:master Jul 16, 2019
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.