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

[manual] Merge release/7.0-staging into release/7.0 #93582

Merged
merged 20 commits into from
Oct 17, 2023

Commits on Sep 18, 2023

  1. Check for <framework_name>.deps.json when enumerating framework paths (

    …dotnet#92033)
    
    This adds a check for the framework's .deps.json instead of just the existence of the directory. To avoid extra file checks in the normal/happy path (where all framework version folder are valid), when resolving, it only does the check after resolving the best version match. And if that version directory isn't valid, it tries resolving again without it.
    
    Backport of dotnet#90035
    elinor-fung authored Sep 18, 2023
    Configuration menu
    Copy the full SHA
    db56d40 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. Configuration menu
    Copy the full SHA
    46a293b View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2023

  1. [release/7.0-staging] Fix JsonDocument thread safety. (dotnet#92831)

    * Fix JsonDocument thread safety.
    
    Co-authored-by: stoub@microsoft.com
    
    * Update ServicingVersion
    
    ---------
    
    Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
    github-actions[bot] and eiriktsarpalis authored Sep 30, 2023
    Configuration menu
    Copy the full SHA
    c7425f7 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2023

  1. Merge pull request dotnet#91916 from dotnet-maestro-bot/merge/release…

    …/7.0-to-release/7.0-staging
    
    [automated] Merge branch 'release/7.0' => 'release/7.0-staging'
    carlossanlop authored Oct 3, 2023
    Configuration menu
    Copy the full SHA
    36e33db View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2023

  1. Configuration menu
    Copy the full SHA
    89d99c9 View commit details
    Browse the repository at this point in the history
  2. Update dependencies from https://github.com/dotnet/emsdk build 202310…

    …04.1 (dotnet#92991)
    
    Microsoft.NET.Workload.Emscripten.net6.Manifest-7.0.100 , Microsoft.NET.Workload.Emscripten.net7.Manifest-7.0.100
     From Version 7.0.12 -> To Version 7.0.13
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Oct 4, 2023
    Configuration menu
    Copy the full SHA
    83ec4e3 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2023

  1. [release/7.0] [Mono] Race in init_method when using LLVM AOT. (dotnet…

    …#93006)
    
    Backport of dotnet#75088 to release/7.0-staging
    
    Fixes dotnet#81211 
    
    ## Customer Impact
    
    Customers targeting Apple platforms using LLVM AOT codegen (the default) in highly concurrent settings (such as firing off multiple simultaneous async HTTP requests) may experience unexpected behavior such as InvalidCastExceptions, NullReferenceExceptions or crashes.
    
    ## Testing
    
    Manual testing
    
    ## Risk
    
    Low.  This code has been running on .NET 8 `main` for over a year in CI, as well as on some other non-mobile platforms
    
    ---
    
    * [Mono] Race in init_method when using LLVM AOT.
    
    When using LLVM AOT codegen, init_method updates two GOT slots.
    These slots are initialized as part of init_method,
    but there is a race between initialization of the two slots. Current
    implementation can have two threads running init_method for the same
    method, but as soon as:
    
    [got_slots [pindex]] = addr
    
    store is visible, it will trigger other threads to return back from
    init_method, but since that could happen before the corresponding
    LLVM AOT const slot is set, second thread will return to method
    calling init_method, load the LLVM aot const, and crash when
    trying to use it (since its still NULL).
    
    This crash is very rare but have been identified on x86/x64 CPU's,
    when one thread is either preempted between updating regular GOT slot
    and LLVM GOT slot or store into LLVM GOT slot gets delayed in
    store buffer. I have also been able to emulate the scenario in debugger,
    triggering the issue and crashing in the method loading from LLVM aot
    const slot.
    
    Fix change order of updates and make sure the update of LLVM aot const
    slot happens before memory_barrier, since:
    
    got [got_slots [pindex]] = addr;
    
    have release semantics in relation to addr and update of LLVM aot const
    slot. Fix also add acquire/release semantics for ji->type in init_method
    since it is used to guard if a thread ignores a patch or not and it
    should not be re-ordered with previous stores, since it can cause
    similar race conditions with updated slots.
    
    * Move register_jump_target_got_slot above mono_memory_barrier.
    
    * revert unintentional branding change
    
    ---------
    
    Co-authored-by: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com>
    Co-authored-by: lateralusX <lateralusx.github@gmail.com>
    Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
    4 people authored Oct 6, 2023
    Configuration menu
    Copy the full SHA
    7ee35b9 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. [release/7.0-staging] Fix a memory leak in runtime interop stubs when…

    … using an array of structs of types that use old-style managed marshalers (dotnet#93148)
    
    Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
    github-actions[bot] and jkoritzinsky authored Oct 9, 2023
    Configuration menu
    Copy the full SHA
    be8f744 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2023

  1. Make thread pool thread timeouts configurable (dotnet#92987)

    - Added two config options, one that configures the worker and wait thread timeouts, and another that enables keeping some number of worker threads alive after they are created
    - This enables services that take periodic traffic to keep some worker threads around for better latency, while allowing extra threads to time out as appropriate for the service
    kouvel authored Oct 11, 2023
    Configuration menu
    Copy the full SHA
    341b81c View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Fix max chunk size limiting (dotnet#81607)

    When the new stub heaps were implemented, the chunk size needed to be
    limited so that all precodes for a chunk fit into a single memory page.
    That was done in `MethodDescChunk::CreateChunk`. But it was discovered
    now that there is another place where it needs to be limited, the
    `MethodTableBuilder::AllocAndInitMethodDescChunk`. The
    JIT\opt\ObjectStackAllocation\ObjectStackAllocationTests started to fail
    in the outerloop due to too long chunk. The failure happens in crossgen2
    as it is using a separate build of runtime in release and only that
    uncovers the problem. And only when DOTNET_TieredCompilation=0 and
    DOTNET_ProfApi_RejitOnAttach=0.
    
    This change fixes the problem. With this change applied to the dotnet
    runtime version used by the crossgen2 and patching it in place in the
    .dotnet/shared/.... directory, the issue doesn't occur.
    
    Close dotnet#81103
    
    Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
    github-actions[bot] and janvorli authored Oct 12, 2023
    Configuration menu
    Copy the full SHA
    5d8b3d6 View commit details
    Browse the repository at this point in the history
  2. Re-add removed feed

    carlossanlop authored Oct 12, 2023
    Configuration menu
    Copy the full SHA
    e5c41ae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    39f3a97 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. Merge pull request dotnet#92980 from dotnet-maestro-bot/merge/release…

    …/7.0-to-release/7.0-staging
    
    [automated] Merge branch 'release/7.0' => 'release/7.0-staging'
    carlossanlop authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    8c8fb37 View commit details
    Browse the repository at this point in the history
  2. Update dependencies from https://github.com/dotnet/xharness build 202…

    …30905.3 (dotnet#93392)
    
    Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
     From Version 7.0.0-prerelease.23407.3 -> To Version 7.0.0-prerelease.23455.3
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Oct 13, 2023
    Configuration menu
    Copy the full SHA
    cbe1474 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. Workaround for dotnet#93442 (dotnet#93529)

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    github-actions[bot] and jkotas authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    69483a0 View commit details
    Browse the repository at this point in the history
  2. TcpReceiveSendGetsCanceledByDispose: update test for change in Linux …

    …kernel. (dotnet#93505)
    
    Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
    github-actions[bot] and tmds authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    d1ca532 View commit details
    Browse the repository at this point in the history
  3. [release/7.0-staging] Update dependencies from dotnet/arcade dotnet/i…

    …cu dotnet/emsdk (dotnet#93390)
    
    * Update dependencies from https://github.com/dotnet/arcade build 20231011.9
    
    Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
     From Version 7.0.0-beta.23408.3 -> To Version 7.0.0-beta.23511.9
    
    * Update dependencies from https://github.com/dotnet/icu build 20231012.1
    
    Microsoft.NETCore.Runtime.ICU.Transport
     From Version 7.0.0-rtm.23409.2 -> To Version 7.0.0-rtm.23512.1
    
    * Update dependencies from https://github.com/dotnet/emsdk build 20231012.1
    
    Microsoft.NET.Workload.Emscripten.net6.Manifest-7.0.100 , Microsoft.NET.Workload.Emscripten.net7.Manifest-7.0.100
     From Version 7.0.13 -> To Version 7.0.13
    
    ---------
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com>
    3 people authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    4b2416f View commit details
    Browse the repository at this point in the history
  4. [release/7.0] Fixes not find assembly and pdb if it's not using the d…

    …efault path (dotnet#92955)
    
    * Fixing https://github.com/dotnet/aspnetcore/issues/51093
    
    * Addressing comments
    
    * Addressing comments
    
    * Addressing comments
    thaystg authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    317a01f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    19045fa View commit details
    Browse the repository at this point in the history
  6. ProcessTests: allow WorkingSet to be zero just after launching the pr…

    …ocess. (dotnet#85649) (dotnet#93572)
    
    * ProcessTests: allow WorkingSet to be zero just after launching the process.
    
    The WorkingSet tests fail on Fedora 38+ because a zero working set value
    is observed just after the process start.
    
    Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
    lewing and tmds authored Oct 16, 2023
    Configuration menu
    Copy the full SHA
    72a4b26 View commit details
    Browse the repository at this point in the history