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

[automated] Merge branch 'master' => 'release/3.0'#38116

Closed
dotnet-maestro-bot wants to merge 631 commits intodotnet:release/3.0from
dotnet-maestro-bot:merge/master-to-release/3.0
Closed

[automated] Merge branch 'master' => 'release/3.0'#38116
dotnet-maestro-bot wants to merge 631 commits intodotnet:release/3.0from
dotnet-maestro-bot:merge/master-to-release/3.0

Conversation

@dotnet-maestro-bot
Copy link
Copy Markdown

I detected changes in the master branch which have not been merged yet to release/3.0. I'm a robot and am configured to help you automatically keep release/3.0 up to date, so I've opened this PR.

This PR merges commits made on master by the following committers:

Instructions for merging from UI

This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.

merge button instructions

If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.

Instructions for merging via command line

Run these commands to merge this pull request from the command line.

git fetch
git checkout master
git pull --ff-only
git checkout release/3.0
git pull --ff-only
git merge --no-ff master

# If there are merge conflicts, resolve them and then run git merge --continue to complete the merge
# Pushing the changes to the PR branch will re-trigger PR validation.
git push https://github.com/dotnet-maestro-bot/corefx HEAD:merge/master-to-release/3.0
or if you are using SSH
git push git@github.com:dotnet-maestro-bot/corefx HEAD:merge/master-to-release/3.0

After PR checks are complete push the branch

git push

Instructions for resolving conflicts

⚠️ If there are merge conflicts, you will need to resolve them manually before merging. You can do this using GitHub or using the command line.

Instructions for updating this pull request

Contributors to this repo have permission update this pull request by pushing to the branch 'merge/master-to-release/3.0'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.

git checkout -b merge/master-to-release/3.0 release/3.0
git pull https://github.com/dotnet-maestro-bot/corefx merge/master-to-release/3.0
(make changes)
git commit -m "Updated PR with my changes"
git push https://github.com/dotnet-maestro-bot/corefx merge/master-to-release/3.0
or if you are using SSH
git checkout -b merge/master-to-release/3.0 release/3.0
git pull git@github.com:dotnet-maestro-bot/corefx merge/master-to-release/3.0
(make changes)
git commit -m "Updated PR with my changes"
git push git@github.com:dotnet-maestro-bot/corefx merge/master-to-release/3.0

Contact .NET Core Engineering if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/master/scripts/GitHubMergeBranches.ps1.

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 (dotnet#37705)

- runtime.native.System.IO.Ports - 4.6.0-preview6.19265.6
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19265.6
…0190515.11 (dotnet#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 (dotnet#37683)

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

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

Fixes https://github.com/dotnet/corefx/issues/37198
Regression by dotnet#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 (dotnet#37611)
* Add placeholder entry to global.json
Update owners
…et#37409)

* 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 (dotnet#37750)

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

- runtime.native.System.IO.Ports - 4.6.0-preview6.19266.12
- Microsoft.NETCore.Platforms - 3.0.0-preview6.19266.12
@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run corefx-ci

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run corefx-ci

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run corefx-ci

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run corefx-ci

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run

@wtgodbe wtgodbe closed this May 31, 2019
@wtgodbe wtgodbe reopened this May 31, 2019
@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run corefx-ci

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines could not run because the pipeline triggers exclude this branch/path.

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe wtgodbe closed this May 31, 2019
@wtgodbe wtgodbe reopened this May 31, 2019
@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines failed to run 1 pipeline(s).

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

This is insane, I'm just going to close this and open a new one.

@wtgodbe
Copy link
Copy Markdown
Member

wtgodbe commented May 31, 2019

Closed in favor of #38125

@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.