Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Merge master into release/3.0#38125

Merged
wtgodbe merged 631 commits intorelease/3.0from
Mergep6
May 31, 2019
Merged

Merge master into release/3.0#38125
wtgodbe merged 631 commits intorelease/3.0from
Mergep6

Conversation

@wtgodbe
Copy link
Copy Markdown
Member

@wtgodbe wtgodbe commented May 31, 2019

Hail-mary attempt to kickstart the CI. Duplicate of #38116

mairaw and others added 30 commits May 15, 2019 22:11
* update/add links

* remove en-us from link
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
…515.6 (#37705)

- runtime.native.System.IO.Ports - 4.6.0-preview6.19265.6
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19265.6
…0190515.11 (#37704)

- Microsoft.NETCore.App - 3.0.0-preview6-27715-11
- Microsoft.NETCore.DotNetHost - 3.0.0-preview6-27715-11
- Microsoft.NETCore.DotNetHostPolicy - 3.0.0-preview6-27715-11
…90515.2 (#37683)

- NETStandard.Library - 2.1.0-prerelease.19265.2
…#37294)

* Linux: ProcessName: return script name instead of interpreter program

Fixes https://github.com/dotnet/corefx/issues/37198
Regression by #37144

* Add ProcessNameMatchesScriptName test

* ProcessNameMatchesScriptName: don't run on OSX

* LongProcessNamesAreSupported: don't run on Alpine

* Remove ActiveIssue attributes
Update area ownerships
We encountered some cultures have a time patterns with single quotes which we should handle keeping the parts between quotes as fixed text inside the pattern and not treat it as any of the time specifiers

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
CancellationToken.Register captures the current ExecutionContext and uses it to invoke the callback if/when it's invoked.  That's generally desirable and is the right default, but in cases where we know for certain the callback doesn't care about EC (e.g. we're not invoking any 3rd-party code), we can use UnsafeRegister instead (newly added in 3.0), which skips capturing the ExecutionContext, as if Capture returned null.  This helps few a couple of small costs:
- Avoids thread local lookups to capture the current EC.
- Avoids additional delegate invocations and thread local gets/sets to invoke the callback with the captured EC.
- Avoids holding on to the EC in case it's needed, which can potentially keep alive an unbounded amount of state due to AsyncLocals.
[System.Text.Json] Serializing class that has array of children of the same class throws StackOverflowException (#37611)
* Add placeholder entry to global.json
Update owners
* Determine the anyAttribute Namespace based on the NamespaceList

* Do not test the namespace attribute for full framework for intersection and union cases

* Compare namespaces using string comparison in unit tests
* Fixed deserialization of null root arrays.

* Used reader.CurrentDepth to catch root level nulls.
X509Chain will use cached versions of CU\My, CU\CA, and CU\Root, in addition to the already cached LM\CA and LM\Root stores.

By avoiding the dips down to the filesystem it knocks a significant amount of I/O and computation off of the store reloads (~45% of one of my perf tests was spent doing SHA-1... for verifying the HMAC on opening the CU\My files).

The new heuristics are:

* CU\My, CU\CA, CU\Root
  * After one second elapses check to see if the LastWriteTimeUtc on the directory has changed, if so, invalidate the cache.
  * After 30 seconds invalidate the cache no matter what.
  * Cache invalidation is per store
* LM\CA, LM\Root
  * After 5 seconds elapses check to see if the LastWriteTimeUtc on either (or both) of the SSL_CERT_FILE file or SSL_CERT_DIR directory has changed (and if so, invalidate the cache)
  * After 5 minutes invalidate the cache no matter what.
  * System stores are rebuilt together.

All X509Store objects for LM\CA and LM\Root will get the same Pal instance (which just no-ops the Dispose) which is a projection over the cache.

All X509Store objects for CU\ stores will still use the existing "raw read" model, because otherwise the cache led to observable differences between Windows and Linux. Only X509Chain gets the cached stores.

In running a chain-build-only 1000 times in a loop test, before this change my machine reported ~13.6ms per chain build, and after was 0.822ms.

In running a particular SslStream-to-SslStream handshake test, 10000 iterations before the change was 7 minutes 51 seconds. After was 3 minutes 40 seconds.

This change also fixes a bug introduced in the previous perf enhancement where ERR_get_error was used instead of ERR_peek_last_error (wrong end of the queue, and destructive vs passive)... and that the managed code wasn't checking for the error anyways.
* Fix a bug in xsd validation during deserialization
* Add a test
It's searching the output to ensure the id doesn't get written out, so it can't match other IDs that are written out.
* Use Arcade props

* Use global dotnet if applicable
The primary motivator of this change is to prepare for moving cryptography from
the public, shared ArrayPool instance to a private pool (or pools), just as a defense
in depth strategy.  Since only the shared ArrayPool instance has GC cooperation
the change to a private pool is not happening at this time.

What this change does provide:
* Every ArrayPool.Rent was identified as being private to the assembly or shared
  out.  If the array gets shared out, it is not appropriate to use a private pool.
* CryptoPool clears returned arrays by default. Instead of an optional bool for
  clearing it has an optional length to clear (from index 0).
* Some rents were removed altogether, via a couple strategies:
  * Opportunistic stackalloc
  * Add a SpanAction-based AsnWriter.WriteBitString overload to avoid the
    pattern of rent-write-call-copy (instead do request-write-done).
  * Add AsnWriter.ValueEquals to prevent rent-encode-compare.
* At least one Rent with no Return was found and fixed.
* Fixed several Rent-growth strategies that could double-Return on exceptions.
* Changed Rfc2898DeriveBytes to just use the one field array instead of a
   lot of rent-write-copy-to-the-field.
* Moves some Return calls out of finally blocks in Async methods to avoid a
  Return-while-in-use path with Task composition when one Task gets aborted
  and another is still running.
* Enable rolling builds and add arm64 in outerloop

* Disable tests on official builds

* Allow Outerloop to run aggregated

* Disable failing RH6 test
…90517.1 (#37750)

- NETStandard.Library - 2.1.0-prerelease.19267.1
…516.12 (#37745)

- runtime.native.System.IO.Ports - 4.6.0-preview6.19266.12
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19266.12
stephentoub and others added 22 commits May 31, 2019 11:27
…530.2 (#38095)

- Microsoft.DotNet.XUnitExtensions - 2.4.1-beta.19280.2
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.19280.2
- Microsoft.DotNet.VersionTools.Tasks - 1.0.0-beta.19280.2
- Microsoft.DotNet.ApiCompat - 1.0.0-beta.19280.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19280.2
- Microsoft.DotNet.Build.Tasks.Configuration - 1.0.0-beta.19280.2
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19280.2
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19280.2
- Microsoft.DotNet.CodeAnalysis - 1.0.0-beta.19280.2
- Microsoft.DotNet.CoreFxTesting - 1.0.0-beta.19280.2
- Microsoft.DotNet.GenAPI - 1.0.0-beta.19280.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19280.2
- Microsoft.DotNet.RemoteExecutor - 1.0.0-beta.19280.2
- Microsoft.DotNet.GenFacades - 1.0.0-beta.19280.2
* Fix Loop in System.Private.Uri

* Mark variables in test project as private

* Disable test on NetFx
* Fix IPv6Address parsing

* Update src/System.Net.Primitives/src/System/Net/IPAddressParser.cs

Co-Authored-By: Karel Zikmund <karelz@microsoft.com>

* Use System.Diagnostics, Remove duplicate function, fix method header in Fake

* Fix deletion of call to Parse()

* Fix call to Parse()

* Fix tests to account for NetFx runs

* Fix Syntax
…531.1 (#38098)

- runtime.native.System.IO.Ports - 4.6.0-preview6.19281.1
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19281.1
…ystem.Text.Json.Serialization (#38061)

* custom exception for parameterless constructors

* add polymorphic interface exception

* fix ReflectionMaterializer

* address PR feedback
…from the Sse41 class (#38102)

* Removing the TestAllOnes, TestAllZeros, and TestMixOnesZeros methods from the Sse41 class

* Adding a MatchingRefApiCompatBaseline for System.Runtime.Intrinsics
* Adding net461 target to Microsoft.Bcl.* packages

* Adding System.Text.Json net461 target as well
* Add tests for double-encoded URLs to both UrlDecode() methods

* Make test cases more clear
…te (#38083)

* Update package index and harvest props to reflect WinHttpHandler updte

* Fix packageIndex

* Update Package index for missing stable package 4.3.3 entry
* Check regex timeout in loops and repetitions

Check the regex timeout in SetLoop and SetRepetition opcodes to avoid
the timeout not being handled.

* PR feedback and fix OOM
* Add (de)serialization for Base64 string as Byte array

* Review feedback
* Initial commit of serializer overload that takes reader.

* Move utf8jsonreader api to a new file.

* Add more reader tests and update some exception cases.

* Add start of WriteValue API.

* Add the new files that were missed in previous commit.

* Remove writer related changes.
The default options static was getting mutated. Moving to ReadStack which doesn't have this issue.
…0190530.01 (#38097)

- Microsoft.NETCore.App - 3.0.0-preview6-27730-01
- Microsoft.NETCore.DotNetHost - 3.0.0-preview6-27730-01
- Microsoft.NETCore.DotNetHostPolicy - 3.0.0-preview6-27730-01
* Update dependencies from https://github.com/dotnet/standard build 20190531.1

- NETStandard.Library - 2.1.0-prerelease.19281.1

* Update dependencies from https://github.com/dotnet/standard build 20190531.2

- NETStandard.Library - 2.1.0-prerelease.19281.2
* Update dependencies from https://github.com/dotnet/coreclr build 20190530.2

- Microsoft.NET.Sdk.IL - 3.0.0-preview6.19280.2
- Microsoft.NETCore.ILAsm - 3.0.0-preview6.19280.2
- Microsoft.NETCore.Runtime.CoreCLR - 3.0.0-preview6.19280.2

* Expose, test, and use Environment.TickCount64

* Back out change to WinInetProxyHelper.cs
* Add support for immutable dictionaries

* Some clean up

* Address review comments

* Address review comments

* Remove commented out code

* Move object property infos to JsonSerializerOptions

* Re-add immutable test

* Cache IsImmutableDict bool

* More immutable support

* Modify processing enumerable or dictionary check

* Correct handle end dictionary checks

* Re-add dict tests

* React to changes from master
…eCollection<T> (#35772)" (#38115)

* Revert "Added Range Manipulation APIs to Collection<T> and ObservableCollection<T> (#35772)"

This reverts commit b705522.

* Baseline API Compat errors

* Fix baseline vs netstandard
* expect100

* updates

* remove dead code

* fix tests

* use configured value for allowExpect100ToContinue timer

* feedback from review

* dispose expect100Timer

* feedback from review

* feedback from review

* feedback from review

* small updates to sync up with master changes

* add concurent send/recive and more tests

* fix netfx

* feedback from review

* feedback from review

* feedback from review

* feedback from review

* feedback from review

* kick ci
@wtgodbe
Copy link
Copy Markdown
Member Author

wtgodbe commented May 31, 2019

/azp run corefx-ci

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member Author

wtgodbe commented May 31, 2019

Infra failures on Alpine (musl) are known

@wtgodbe
Copy link
Copy Markdown
Member Author

wtgodbe commented May 31, 2019

Packaging all-config job is done, but AzDO reporting is being wonky. Merging.

@wtgodbe wtgodbe merged commit 5f9f2e5 into release/3.0 May 31, 2019
@wtgodbe wtgodbe deleted the Mergep6 branch May 31, 2019 23:22
@karelz karelz added this to the 3.0 milestone Jul 17, 2019
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.