Skip to content

Conversation

@hoyosjs
Copy link
Member

@hoyosjs hoyosjs commented Oct 9, 2025

No description provided.

lateralusX and others added 30 commits July 23, 2025 17:49
When debugging different parts of the test pipeline it is good to see
the different pids of launched processes in case there is need to attach
debugger to it. For the debuggee we output the pid, but for the debugger
executed through remote executor we didn't. This PR adds logging to
output pid of started process.
Fixes: #5474

Context: https://developer.android.com/tools/variables

`$ANDROID_SDK_ROOT` is deprecated, but it is currently the
only way to select an Android SDK path.

To fix this, track a new dependency from Maestro via:

    <Dependency Name="Xamarin.Android.Tools.AndroidSdk" Version="1.0.105-preview.225">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>bf304cf475308547a2a1a342bb9f2e6825cc33cd</Sha>
    </Dependency>

This is the same library we use for locating the Android SDK in various
locations by Visual Studio and other tooling.

We can use this instead of only checking `$ANDROID_SDK_ROOT`.

Also, updated various messages to say `$ANDROID_HOME` instead,
which the new dependency probes for among other locations.

Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
`dotnet dump` can analyze dumps from any .NET runtime, but it needs a
matching DAC and unmanaged symbols. For .NET runtimes built by others,
these are not available from the usual symbol servers.

Users can try going back to the original environment so `dotnet dump`
can find the matching dac.
…5530)

As identified by dotnet/runtime#116545,
macOS26 have broken semaphores in case debugger and debuggee have been
signed with different team ids, currently only mentioned for iOS/iPadOS,
https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-26-release-notes,
but testing shows its broken for regular apps as well.

This PR adds support for a different startup handshake protocol for
debugger/debuggee using FIFO file (aka named pipes) on Apple platforms
due to limitation introduced in macOS26. All other POSIX platforms will
continue to use the semaphore based handshake protocol.

The implementation is backward compatible on Apple platforms.
Implementation will always setup semaphores to support runtimes using
semaphore protocol, but on Apple platforms it will also create the new
FIFO files, it will then spawn a separate background thread checking the
FIFO files for connections and handling the protocol. In case runtime
supports new FIFIO based protocol, background thread will handle
complete protocol and signal/wait semaphores, making the underlying
protocol transparent for the startup thread, it will always use the
semaphores. In case runtime doesn't support FIFO files, runtime will
signal/wait on the semaphores as normal coordinating with the debugger
startup thread. In the case runtime doesn't support FIFO files, the
background thread will just sit and wait on connections until canceled.
Unregister cancel out background thread in case runtime didn't support
FIFO files.

Since this fix supports both semaphores and FIFO files on Apple platform
it is compatible with old runtimes using semaphores as well as new
runtimes that supports the FIFO based handshake protocol.

In order for this change to work E2E, the debugger needs to use changes
introduced in this PR with a runtime including
dotnet/runtime#118120. Until both debugger and
debuggee have been update, debug launch on macOS26 won't work.

Names of the two new FIFO files follow the same naming pattern as we
have for existing debugger FIFO's, using suffix currently used for the
startup and continue semaphores, "st" for startup and "co" for continue,
example of full FIFO names:


/var/folders/d0/l_56x0lx6l7bbrv3pfr128xc0000gn/T/clr-debug-pipe-11462-1753451225-st

/var/folders/d0/l_56x0lx6l7bbrv3pfr128xc0000gn/T/clr-debug-pipe-11462-1753451225-co
SOS supports reading NAOT crash information using a JSON encoding
mechanism. The mechanism relies on passing the serialized exception
address via a [FailFast exception
parameter](https://github.com/dotnet/runtime/blob/67837792faa88beb3f44105dfa7a3a430961ff12/src/coreclr/nativeaot/System.Private.CoreLib/src/System/RuntimeExceptionHelpers.cs#L322-L332)
along with a special code. SOS can read this data via `!crashinfo` as
well as `!clrma`. As of dotnet/runtime#117832,
NAOT can serialize exception data when
`ExceptionHandling.RaiseAppDomainUnhandledExceptionEvent` is called.
This PR adds the corresponding SOS functionality to locate the
[g_CrashInfoBuffer](https://github.com/dotnet/runtime/blob/67837792faa88beb3f44105dfa7a3a430961ff12/src/coreclr/nativeaot/Runtime/DebugHeader.cpp#L261)
global as an alternate mechanism in the event the exception does not
contain the address of the buffer. Since this requires reading module
exports, this change introduces a configurable module enumeration
mechanism via the `!crashinfo` command.

---------

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
This improves upon d7d8500 by caching the Android SDK path in a
`static` field.

I was testing `dsrouter` and noticed it logging duplicate messages:

    > dotnet-trace collect --dsrouter android
For finer control over the dotnet-dsrouter options, run it separately
and connect to it using -p

WARNING: dotnet-dsrouter is a development tool not intended for
production environments.

How to connect current dotnet-dsrouter pid=45036 with android device and
diagnostics tooling.
Start an application on android device with ONE of the following
environment variables set:
    [Default Tracing]
    DOTNET_DiagnosticPorts=127.0.0.1:9000,nosuspend,connect
    [Startup Tracing]
    DOTNET_DiagnosticPorts=127.0.0.1:9000,suspend,connect
Run diagnotic tool connecting application on android device through
dotnet-dsrouter pid=45036:
    dotnet-trace collect -p 45036
See
https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-dsrouter
for additional details and examples.

    info: dotnet-dsrouter-45036[0]
          Starting dotnet-dsrouter using pid=45036
    info: dotnet-dsrouter-45036[0]
          Looking for Android NDK...
    info: dotnet-dsrouter-45036[0]
          Looking for Android SDK...
    info: dotnet-dsrouter-45036[0]
          Looking for Android NDK...
    info: dotnet-dsrouter-45036[0]
          Looking for Android SDK...
    info: dotnet-dsrouter-45036[0]

With the changes in d7d8500, it is running the code to "find" the
Android SDK multiple times. The operation itself isn't very fast if
called repeatedly, and it also clutters the logs with duplicate
messages.

With these changes, I only see the log message once now:

    info: dotnet-dsrouter-48616[0]
          Starting dotnet-dsrouter using pid=48616
    info: dotnet-dsrouter-48616[0]
          Looking for Android NDK...
    info: dotnet-dsrouter-48616[0]
          Looking for Android SDK...
[main] Update dependencies from microsoft/clrmd
[main] Update dependencies from microsoft/clrmd
`dotnet-trace collect --dsrouter android` logs an unnecessary message
currently:

Run diagnotic tool connecting application on android device through
dotnet-dsrouter pid=38004:
    dotnet-trace collect -p 38004

`dotnet-trace` is launching and controlling `dotnet-dsrouter`, and so
you would not need to run `dotnet-trace collect -p 38004`.

To solve this:

* Pass `--parentprocess pid:name` when launching `dotnet-dsrouter` from
`dotnet-trace`

* `dotnet-dsrouter` checks `--parentprocess` switch to tell if it is
running as a subprocess

* Only log this message when *not* a subprocess
We added this to `dotnet-gcdump` in fcaeae3 and `dotnet-trace` in
a29f26d.

This allows `dsrouter` to be launched, such as:

    > dotnet-counters collect --dsrouter android
For finer control over the dotnet-dsrouter options, run it separately
and connect to it using -p

WARNING: dotnet-dsrouter is a development tool not intended for
production environments.

How to connect current dotnet-dsrouter pid=40432 with android device and
diagnostics tooling.
Start an application on android device with ONE of the following
environment variables set:
    [Default Tracing]
    DOTNET_DiagnosticPorts=127.0.0.1:9000,nosuspend,connect
    [Startup Tracing]
    DOTNET_DiagnosticPorts=127.0.0.1:9000,suspend,connect
See
https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-dsrouter
for additional details and examples.

    info: dotnet-dsrouter-40432[0]
        Starting dotnet-dsrouter using pid=40432
    info: dotnet-dsrouter-40432[0]
        Looking for Android NDK...
    info: dotnet-dsrouter-40432[0]
        Looking for Android SDK...
    info: dotnet-dsrouter-40432[0]
Starting IPC server (dotnet-diagnostic-dsrouter-40432) <--> TCP server
(127.0.0.1:9001) router.
--counters is unspecified. Monitoring System.Runtime counters by
default.

Documentation PR:
* dotnet/docs#47874
See commits descriptions.
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes



















[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250801.3](https://dev.azure.com/dnceng/internal/_build/results?buildId=2762746)
- **Date Produced**: August 1, 2025 7:18:38 PM UTC
- **Commit**:
[8b29a1682219da555ee27e4fdda55dc3884b316f](dotnet/dotnet@8b29a16)
- **Commit Diff**:
[eaa19c2...8b29a16](dotnet/dotnet@eaa19c2...8b29a16)
- **Branch**: [main](https://github.com/dotnet/dotnet/tree/main)

**New Dependencies**
- Added
[1.0.105-preview.225](dotnet/dotnet@bf304cf)
  - Xamarin.Android.Tools.AndroidSdk

**Updated Dependencies**
- From [10.0.0-beta.25351.106 to 10.0.0-beta.25401.103][19]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis
- From [10.0.100-preview.7.25351.106 to 10.0.100-rc.1.25401.103][19]
  - Microsoft.NET.Sdk
- From [10.0.0-preview.7.25351.106 to 10.0.0-rc.1.25401.103][19]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-1.25351.106 to 5.0.0-2.25401.103][19]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.0-preview.25351.106 to 10.0.0-preview.25401.103][19]
  - Microsoft.CodeAnalysis.NetAnalyzers
- From [4.0.0-beta.25381.2 to
4.0.0-beta.25381.2](dotnet/dotnet@f11663f...f11663f)
  - Microsoft.Diagnostics.Runtime
  - Microsoft.Diagnostics.Runtime.Utilities

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)



















[1]: dotnet/dotnet@eaa19c2...23101ed

[2]: dotnet/dotnet@eaa19c2...f451e5d

[3]: dotnet/dotnet@eaa19c2...86117ef

[4]: dotnet/dotnet@eaa19c2...f65cc9c

[5]: dotnet/dotnet@eaa19c2...0b032b9

[6]: dotnet/dotnet@eaa19c2...3c34a3f

[7]: dotnet/dotnet@eaa19c2...78061f4

[8]: dotnet/dotnet@eaa19c2...d13c858

[9]: dotnet/dotnet@eaa19c2...699b011

[10]: dotnet/dotnet@eaa19c2...8eb9ff1

[11]: dotnet/dotnet@eaa19c2...46deba7

[12]: dotnet/dotnet@eaa19c2...1c92f34

[13]: dotnet/dotnet@eaa19c2...96ac952

[14]: dotnet/dotnet@eaa19c2...c0e325f

[15]: dotnet/dotnet@eaa19c2...87e4c82

[16]: dotnet/dotnet@eaa19c2...2dfd0aa

[17]: dotnet/dotnet@eaa19c2...03fb785

[18]: dotnet/dotnet@eaa19c2...6a953e7

[19]: dotnet/dotnet@eaa19c2...8b29a16
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/arcade@0e33564...8df06d3
-
dotnet/aspnetcore@9e69f19...52ae1ca
-
dotnet/cecil@48fe72b...2478ada
-
dotnet/command-line-api@68b6dad...1f2adb8
-
dotnet/deployment-tools@1478b7e...e14aee3
-
dotnet/efcore@14b439c...d48457e
-
dotnet/emsdk@d7f6017...b702848
-
dotnet/fsharp@7346d84...82e4f15
-
dotnet/msbuild@0e2431a...3427ef4
-
dotnet/razor@58de0c1...1c424f9
-
dotnet/roslyn@d92a029...0be066d
-
dotnet/roslyn-analyzers@62b0e09...5261191
-
dotnet/runtime@61f2ad6...e58b345
-
dotnet/scenario-tests@6ab0ec2...086c938
-
dotnet/sdk@4177291...d4e9bbc
-
dotnet/source-build-reference-packages@31f6014...9983f7e
-
dotnet/sourcelink@3e1ad8d...3409332
-
dotnet/symreader@66c6797...fa7beaa
-
dotnet/templating@bbbcb1d...fabe402
-
microsoft/vstest@cdcfb7f...5b4ee03
-
dotnet/windowsdesktop@3406b15...bca9d03
-
dotnet/winforms@d93ffb3...6e61bc0
-
dotnet/wpf@28843aa...4bd6464
-
dotnet/xdt@0d66c13...3ae5c14

[marker]: <> (End:Footer:CodeFlow PR)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Juan Sebastian Hoyos Ayala <juan.s.hoyos@outlook.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
This change largely:

- Cleans up conditions to call the release tool.
- Fixes up pools to the ones we should be using.
- Fixes an issue with building singlefile tools.
- Pipes down product names and new release names to the release tool to
allow it to be used elsewhere.
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes

[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250820.9](https://dev.azure.com/dnceng/internal/_build/results?buildId=2776321)
- **Date Produced**: August 20, 2025 6:33:29 PM UTC
- **Commit**:
[619d5633513d1b31c528db4360833fce52f51829](dotnet/dotnet@619d563)
- **Commit Diff**:
[8b29a16...619d563](dotnet/dotnet@8b29a16...619d563)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rc.1.25411.106 to 10.0.0-rc.2.25420.109][1]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25411.106 to 5.0.0-2.25420.109][1]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.0-preview.25411.106 to 10.0.0-preview.25420.109][1]
  - Microsoft.CodeAnalysis.NetAnalyzers
- From [10.0.0-beta.25411.106 to 10.0.0-beta.25420.109][1]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis
- From [10.0.100-rc.1.25411.106 to 10.0.100-rc.2.25420.109][1]
  - Microsoft.NET.Sdk

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

[1]: dotnet/dotnet@c583c44...619d563
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/arcade@8df06d3...e58b086
-
dotnet/aspnetcore@52ae1ca...52453ff
-
dotnet/cecil@2478ada...2a768f2
-
dotnet/command-line-api@1f2adb8...e292617
-
dotnet/deployment-tools@e14aee3...fb3ca08
-
dotnet/efcore@d48457e...5f505fd
-
dotnet/emsdk@b702848...8e74ba4
-
dotnet/fsharp@82e4f15...a3e663d
-
dotnet/msbuild@3427ef4...c4c851a
-
NuGet/NuGet.Client@772ee13...6a593d0
-
dotnet/razor@1c424f9...64d0011
-
dotnet/roslyn@0be066d...7c7cfd9
-
dotnet/roslyn-analyzers@5261191...d45048f
-
dotnet/runtime@e58b345...d1691e1
-
dotnet/scenario-tests@086c938...0823590
-
dotnet/sdk@d4e9bbc...b4882e0
-
dotnet/source-build-reference-packages@9983f7e...2994715
-
dotnet/sourcelink@3409332...9b949ee
-
dotnet/symreader@fa7beaa...9994998
-
dotnet/templating@fabe402...b67630f
-
microsoft/vstest@5b4ee03...9cbffb0
-
dotnet/windowsdesktop@bca9d03...5cf429a
-
dotnet/winforms@6e61bc0...687601b
-
dotnet/wpf@4bd6464...e103fb8
-
dotnet/xdt@3ae5c14...ec08678

[marker]: <> (End:Footer:CodeFlow PR)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
When packaging, exclude the bin related sos binaries because they will come along in the published assets. Failure to do this will cause a warning as error and the official build will fail.
The generic UNIX code in this function seem 100% appropriate for FreeBSD
too. Not sure why this was ifdef'ed.
…ogging events (#5558)

Fixes #5557

**Description:**
This PR fixes a bug in `TraceEventExtensions.GetLogMessageJsonEventData`
where `ActivityTraceId`, `ActivitySpanId`, and `ActivityTraceFlags` were
never read because the method gated on `traceEvent.Version >= 2`.

Since `Microsoft-Extensions-Logging.LoggingEventSource` uses
TraceLogging (`EtwSelfDescribingEventFormat`), the ETW event header
always reports `Version=0`. As a result, the correlation fields
introduced in .NET 9 were silently ignored.

**Changes:**

- Replace `traceEvent.Version >= 2` check with a payload name lookup for
`"ActivityTraceId"`, `"ActivitySpanId"`, and `"ActivityTraceFlags"`.

- This ensures:
- On runtimes where the fields don’t exist (<= .NET 8): values remain
`null`.
  - On .NET 9+: fields are parsed correctly.

**Result**:
Out-of-process auto-instrumentation (dotnet-monitor) now receives full
trace correlation data for logs emitted via
`Microsoft-Extensions-Logging`.

<img width="3693" height="351" alt="image"
src="https://github.com/user-attachments/assets/42395320-1691-4751-99d1-074a33e0fbdc"
/>
This PR is intended to indent tag sets such as those under
gc.heap.generation by one extra indent. This makes it clearer that the
label gc.heap.generation is a header and not a data value.

Before:
<img width="3818" height="1145" alt="image"
src="https://github.com/user-attachments/assets/226f5bfe-7635-4581-a91d-203f3fd51579"
/>

After:
<img width="3819" height="1127" alt="image"
src="https://github.com/user-attachments/assets/1b1b756d-064f-4b43-be1e-cdcfeb629300"
/>

closes #4935
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes

[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250910.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=2790406)
([282708](https://maestro.dot.net/channel/5173/github:dotnet:dotnet/build/282708))
- **Date Produced**: September 10, 2025 10:08:20 PM UTC
- **Commit**:
[eac14590f69f6876d418cef9e8fdd3f44f6ef0b2](dotnet/dotnet@eac1459)
- **Commit Diff**:
[619d563...eac1459](dotnet/dotnet@619d563...eac1459)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rc.2.25420.109 to 10.0.0-rc.2.25460.104][1]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25420.109 to 5.0.0-2.25460.104][1]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.0-preview.25420.109 to 10.0.100-rc.2.25460.104][1]
  - Microsoft.CodeAnalysis.NetAnalyzers
- From [10.0.0-beta.25420.109 to 10.0.0-beta.25460.104][1]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis
- From [10.0.100-rc.2.25420.109 to 10.0.100-rc.2.25460.104][1]
  - Microsoft.NET.Sdk

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

[1]: dotnet/dotnet@619d563...eac1459
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/arcade@e58b086...c831777
-
dotnet/aspnetcore@52453ff...03e9582
-
dotnet/cecil@2a768f2...27abc57
-
dotnet/deployment-tools@fb3ca08...c3b8848
-
dotnet/efcore@5f505fd...87080da
-
dotnet/emsdk@8e74ba4...5160f55
-
dotnet/fsharp@a3e663d...1614065
-
dotnet/msbuild@c4c851a...c9e83a9
-
NuGet/NuGet.Client@6a593d0...24e1124
-
dotnet/razor@64d0011...40db6c3
-
dotnet/roslyn@7c7cfd9...a70b5c1
-
dotnet/runtime@d1691e1...9b91562
-
dotnet/sdk@b4882e0...faf4349
-
dotnet/source-build-reference-packages@2994715...c9ace1e
-
dotnet/templating@b67630f...fcc5f29
-
microsoft/vstest@9cbffb0...f7325aa
-
dotnet/windowsdesktop@5cf429a...e2dc1b2
-
dotnet/winforms@687601b...a4af282
-
dotnet/wpf@e103fb8...27b82f6

[marker]: <> (End:Footer:CodeFlow PR)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Steve Pfister <stpfiste@microsoft.com>
Context: dotnet/android#10351
Context: dotnet/macios#23429

We are adding new MSBuild properties to simplify setting
`$DOTNET_DiagnosticPorts` on mobile:

* `$(DiagnosticAddress)`
* `$(DiagnosticPort)`
* `$(DiagnosticSuspend)`
* `$(DiagnosticListenMode)`
* `$(DiagnosticConfiguration)` if you want to specify the full value
yourself, escape `,` with `%2c`, etc.

We will ship these properties in future releases of .NET 9 and 10.

To improve `dsrouter` the current log message:

Start an application on android device with ONE of the following
environment variables set:
    [Default Tracing]
    DOTNET_DiagnosticPorts=127.0.0.1:9000,nosuspend,connect
    [Startup Tracing]
    DOTNET_DiagnosticPorts=127.0.0.1:9000,suspend,connect

Will change to:

    Build and run an Android application such as:
    [Default Tracing]
dotnet build -t:Run -c Release -p:DiagnosticAddress=127.0.0.1
-p:DiagnosticPort=9000 -p:DiagnosticSuspend=false
-p:DiagnosticListenMode=connect
    [Startup Tracing]
dotnet build -t:Run -c Release -p:DiagnosticAddress=127.0.0.1
-p:DiagnosticPort=9000 -p:DiagnosticSuspend=true
-p:DiagnosticListenMode=connect

Note that `dotnet run` *does work*, but it doesn't show good progress on
the build & deploy steps as compared to `dotnet build -t:Run` and
MSBuild's terminal logger. It can take several seconds to run a
`Release` build. I think it's better to recommend `-t:Run` until we
improve `dotnet run`.
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes



[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250914.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=2793247)
([283152](https://maestro.dot.net/channel/5173/github:dotnet:dotnet/build/283152))
- **Date Produced**: September 15, 2025 6:57:45 AM UTC
- **Commit**:
[87cc9e9aebf530502d4450dd9b4682b8caa722b2](dotnet/dotnet@87cc9e9)
- **Commit Diff**:
[eac1459...87cc9e9](dotnet/dotnet@eac1459...87cc9e9)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rc.2.25460.104 to 10.0.0-rc.2.25464.104][3]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25460.104 to 5.0.0-2.25464.104][3]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.100-rc.2.25460.104 to 10.0.100-rc.2.25464.104][3]
  - Microsoft.CodeAnalysis.NetAnalyzers
  - Microsoft.NET.Sdk
- From [10.0.0-beta.25460.104 to 10.0.0-beta.25464.104][3]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)



[1]: dotnet/dotnet@eac1459...26861c1

[2]: dotnet/dotnet@eac1459...ee760c4

[3]: dotnet/dotnet@eac1459...87cc9e9
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/arcade@c831777...fff7a81
-
dotnet/aspnetcore@03e9582...36c70b8
-
dotnet/efcore@87080da...a419d5d
-
dotnet/msbuild@c9e83a9...6bb31fd
-
NuGet/NuGet.Client@24e1124...28aa798
-
dotnet/razor@40db6c3...34bcb6b
-
dotnet/runtime@9b91562...012f08c
-
dotnet/sdk@faf4349...7b1b205
-
dotnet/source-build-reference-packages@c9ace1e...fdb961b
-
dotnet/winforms@a4af282...2b94716

[marker]: <> (End:Footer:CodeFlow PR)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
The documentation of `!gchandles` is outdated, the command supports more
handle types than what is listed (I found out while trying to list
dependent handles in a memory dump)
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes

[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250916.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2794438)
([283422](https://maestro.dot.net/channel/5173/github:dotnet:dotnet/build/283422))
- **Date Produced**: September 16, 2025 2:48:21 PM UTC
- **Commit**:
[b0eeb50560544fa782bd8bbddbe2e964c2ab6388](dotnet/dotnet@b0eeb50)
- **Commit Diff**:
[87cc9e9...b0eeb50](dotnet/dotnet@87cc9e9...b0eeb50)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rc.2.25464.104 to 10.0.0-rc.2.25466.101][1]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25464.104 to 5.0.0-2.25466.101][1]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.100-rc.2.25464.104 to 10.0.100-rc.2.25466.101][1]
  - Microsoft.CodeAnalysis.NetAnalyzers
  - Microsoft.NET.Sdk
- From [10.0.0-beta.25464.104 to 10.0.0-beta.25466.101][1]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

[1]: dotnet/dotnet@87cc9e9...b0eeb50
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/razor@34bcb6b...bde4f70
-
dotnet/roslyn@a70b5c1...6ea0a05

[marker]: <> (End:Footer:CodeFlow PR)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro bot and others added 12 commits September 24, 2025 23:55
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes

[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250923.11](https://dev.azure.com/dnceng/internal/_build/results?buildId=2800598)
([284571](https://maestro.dot.net/channel/5173/github:dotnet:dotnet/build/284571))
- **Date Produced**: September 24, 2025 8:50:03 PM UTC
- **Commit**:
[537ecf871e65b50bbe5c8d70c284caa87b69b3cd](dotnet/dotnet@537ecf8)
- **Commit Diff**:
[b0eeb50...537ecf8](dotnet/dotnet@b0eeb50...537ecf8)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rc.2.25466.101 to 10.0.0-rc.2.25473.111][1]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25466.101 to 5.0.0-2.25473.111][1]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.100-rc.2.25466.101 to 10.0.100-rc.2.25473.111][1]
  - Microsoft.CodeAnalysis.NetAnalyzers
  - Microsoft.NET.Sdk
- From [10.0.0-beta.25466.101 to 10.0.0-beta.25473.111][1]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

[1]: dotnet/dotnet@b0eeb50...537ecf8
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/arcade@fff7a81...6275af4
-
dotnet/aspnetcore@36c70b8...b862c38
-
dotnet/efcore@a419d5d...a4f37c5
-
dotnet/emsdk@5160f55...36bb709
-
dotnet/fsharp@1614065...e0100ac
-
dotnet/msbuild@6bb31fd...bf373ed
-
NuGet/NuGet.Client@28aa798...c69588a
-
dotnet/razor@bde4f70...295eeb4
-
dotnet/roslyn@6ea0a05...b48cd5e
-
dotnet/runtime@012f08c...0abfd87
-
dotnet/sdk@7b1b205...b7b9812
-
microsoft/vstest@f7325aa...f9fca5c
-
dotnet/wpf@27b82f6...f74ad86

[marker]: <> (End:Footer:CodeFlow PR)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Adds new DumpGCData test to verify bug fixed in dotnet/runtime#119393
* Adds new FindRootsOlderGeneration to verify bug fixed in dotnet/runtime#119396
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes

[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250925.6](https://dev.azure.com/dnceng/internal/_build/results?buildId=2801826)
([284752](https://maestro.dot.net/channel/5173/github:dotnet:dotnet/build/284752))
- **Date Produced**: September 25, 2025 11:42:36 PM UTC
- **Commit**:
[c9f0e3e586ba580f1ae64ef3990c6cd01374bf13](dotnet/dotnet@c9f0e3e)
- **Commit Diff**:
[537ecf8...c9f0e3e](dotnet/dotnet@537ecf8...c9f0e3e)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rc.2.25473.111 to 10.0.0-rtm.25475.106][1]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25473.111 to 5.0.0-2.25475.106][1]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.100-rc.2.25473.111 to 10.0.100-rtm.25475.106][1]
  - Microsoft.CodeAnalysis.NetAnalyzers
  - Microsoft.NET.Sdk
- From [10.0.0-beta.25473.111 to 10.0.0-beta.25475.106][1]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

[1]: dotnet/dotnet@537ecf8...c9f0e3e
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/aspnetcore@b862c38...9ee3a38
-
dotnet/deployment-tools@c3b8848...c0c5287
-
dotnet/msbuild@bf373ed...5480b47
-
NuGet/NuGet.Client@c69588a...28eeb09
-
dotnet/roslyn@b48cd5e...ff0a209
-
dotnet/runtime@0abfd87...d8e71a4
-
dotnet/wpf@f74ad86...a94c8eb

[marker]: <> (End:Footer:CodeFlow PR)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Runtime frame behavior changed and this ICF is no longer present at execution
point
> [!NOTE]
> This is a codeflow update. It may contain both source code changes
from [the VMR](https://github.com/dotnet/dotnet) as well as dependency
updates. Learn more
[here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md).

This pull request brings the following source code changes

[marker]: <> (Begin:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

## From https://github.com/dotnet/dotnet
- **Subscription**:
[7e2c91d5-dafe-449a-9d20-a3d5aa478584](https://maestro.dot.net/subscriptions?search=7e2c91d5-dafe-449a-9d20-a3d5aa478584)
- **Build**:
[20250926.4](https://dev.azure.com/dnceng/internal/_build/results?buildId=2802606)
([284895](https://maestro.dot.net/channel/5173/github:dotnet:dotnet/build/284895))
- **Date Produced**: September 26, 2025 6:18:42 PM UTC
- **Commit**:
[e1eaf1bbd9702e9b6ee9b10dbc94105732e07896](dotnet/dotnet@e1eaf1b)
- **Commit Diff**:
[c9f0e3e...e1eaf1b](dotnet/dotnet@c9f0e3e...e1eaf1b)
- **Branch**:
[release/10.0.1xx](https://github.com/dotnet/dotnet/tree/release/10.0.1xx)

**Updated Dependencies**
- From [10.0.0-rtm.25475.106 to 10.0.0-rtm.25476.104][1]
  - Microsoft.AspNetCore.App.Ref
  - Microsoft.AspNetCore.App.Ref.Internal
  - Microsoft.NETCore.App.Ref
  - Microsoft.NETCore.Platforms
  - runtime.linux-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.linux-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.osx-x64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-arm64.Microsoft.DotNet.Cdac.Transport
  - runtime.win-x64.Microsoft.DotNet.Cdac.Transport
- From [5.0.0-2.25475.106 to 5.0.0-2.25476.104][1]
  - Microsoft.CodeAnalysis
  - Microsoft.CodeAnalysis.Analyzers
  - Microsoft.CodeAnalysis.CSharp
- From [10.0.100-rtm.25475.106 to 10.0.100-rtm.25476.104][1]
  - Microsoft.CodeAnalysis.NetAnalyzers
  - Microsoft.NET.Sdk
- From [10.0.0-beta.25475.106 to 10.0.0-beta.25476.104][1]
  - Microsoft.DotNet.Arcade.Sdk
  - Microsoft.DotNet.CodeAnalysis

[marker]: <> (End:7e2c91d5-dafe-449a-9d20-a3d5aa478584)

[1]: dotnet/dotnet@c9f0e3e...e1eaf1b
[marker]: <> (Start:Footer:CodeFlow PR)

## Associated changes in source repos
-
dotnet/aspnetcore@9ee3a38...8d29610
-
dotnet/efcore@a4f37c5...3c78edc
-
dotnet/fsharp@e0100ac...605486e
-
dotnet/runtime@d8e71a4...812c6ca

[marker]: <> (End:Footer:CodeFlow PR)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* modify the test to force the entire LOH array to be alive which should prevent the GC from doing a gen2 collection.
When adding new SOS test debuggees, we need to modify the
`debuggees.sln` file. These solution files frequently cause merge
conflicts and are difficult to parse.

This PR updates them to the new XML based format `slnx`. Migration was
done using `dotnet sln migrate <sln>` as described
[here](https://devblogs.microsoft.com/dotnet/introducing-slnx-support-dotnet-cli/).

Verified:
* `start-vs.cmd` script works
* Can load `slnx` projects in VS and VSCode ".NET: Open Solution"
This PR fixes an incorrect command in the bug report template
instructions. The template currently instructs users to run `dotnet
info`, but the correct command is `dotnet --info`.

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hoyosjs <19413848+hoyosjs@users.noreply.github.com>
@hoyosjs hoyosjs requested a review from a team as a code owner October 9, 2025 20:47
@hoyosjs hoyosjs enabled auto-merge October 9, 2025 21:39
@steveisok steveisok self-requested a review October 9, 2025 21:44
@hoyosjs hoyosjs merged commit 2d64146 into release/stable Oct 9, 2025
20 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Nov 9, 2025
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.