Pull Request on 2026年03月14日

dotnet/runtimeにマージされたPull RequestをAIで日本語要約

注意点

このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。



#125548 Fix wasm Playwright TargetClosedException caused by wrong Helix queue

  • 作成者: @lewing
  • 作成日時: 2026年03月14日 01:46:04(UTC)
  • マージ日時: 2026年03月14日 15:20:57(UTC)
  • ラベル: area-Infrastructure-mono

概要

Wasm Playwright ブラウザテストの間欠的な TargetClosedException 失敗を修正します。内部ビルドではAndroidキューが誤ってすべてのプラットフォームに適用されていた(特に browser_wasm)ため、Chrome 共有ライブラリ依存関係がないベアメタルマシンでテストが実行されていました。また、メモリ不足によるChrome クラッシュに対する耐性も不足していました。

変更内容

  • eng/pipelines/libraries/helix-queues-setup.yml
    Android キュー選択条件を修正。or 条件から and 条件に変更し、Android/bionic プラットフォームにのみAndroid キューを適用。内部ビルドであっても非Android プラットフォーム(例:browser_wasm)には適用されなくなります。

  • src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs

    • CheckBrowserDependencies() 追加:Linux上で ldd を使用してChrome共有ライブラリの欠損を起動前に検出し、明確なエラーメッセージを提供
    • SpawnBrowserAsync でのリトライ対象に PlaywrightException を追加(従来は TimeoutException のみ)
    • RunAsync にセッションレベルのリトライを追加:ブラウザ起動からGotoAsyncナビゲーションまでの全プロセスをリトライ対象にし、ナビゲーション中のChrome クラッシュから復旧可能に
    • ブラウザ起動リトライ失敗時に lastExceptionInnerException として保持

パフォーマンスへの影響

影響なし。変更はテスト実行の可靠性向上が主目的で、パフォーマンス(メモリ、実行速度、スループット)への負の影響はありません。リトライロジックは既存の例外処理をカバーする形で拡張されています。

関連Issue

#121195

その他

提供された情報に基づき、以下のような問題が修正されました:

  • 内部ビルド失敗(100% 再現可能):Androidキュー条件の不備により、wasm テストがChrome システム依存関係のないベアメタルマシンで実行されていました。

  • 公開ビルド失敗(間欠的):xunit のデフォルト並列実行により複数の Chrome インスタンスと wasm-opt ビルドが同時実行され、Dockerコンテナのメモリが枯渇。Chrome は GotoAsync ナビゲーション中にOOM-killされていました。セッションレベルリトライにより、フレッシュなブラウザインスタンスで回復可能になります。


#125546 Fix gssapi headers on OpenBSD

  • 作成者: @sethjackson
  • 作成日時: 2026年03月14日 01:28:27(UTC)
  • マージ日時: 2026年03月14日 09:05:16(UTC)
  • ラベル: area-Infrastructure community-contribution os-openbsd

概要

OpenBSD環境でGSSAPI(Generic Security Service Application Program Interface)ヘッダーが見つからないコンパイルエラーを修正するものです。configure.cmakeinclude_directoriesを追加することで、#include <gssapi/gssapi.h>がコンパイラに正しく解決されるようにします。

変更内容

  • src/native/libs/configure.cmake: GSSAPI関連のインクルードディレクトリ設定を追加(+2行、-3行)

パフォーマンスへの影響

影響なし

関連Issue

#124911

その他

OpenBSD固有のビルド設定修正です。ネイティブライブラリのコンパイル段階に影響する変更です。


#125426 cDAC: Implement ISOSDacInterface::GetRCWData

  • 作成者: @Copilot
  • 作成日時: 2026年03月11日 04:36:03(UTC)
  • マージ日時: 2026年03月14日 01:45:18(UTC)
  • ラベル: area-Diagnostics-coreclr

概要

RCW(Runtime Callable Wrapper)データ取得機能を cDAC(Compact Diagnostic Access Component)の ISOSDacInterface::GetRCWData として実装します。RCW フラグのデコード機能と切断検出を含み、ダンプテストと単体テストを追加して RCW データおよびインターフェースキャッシュ動作を検証します。

変更内容

  • BuiltInCOM_1.cs: RCW フラグ列挙型を追加し、GetRCWData を実装(切断検出を含む)
  • IBuiltInCOM.cs: RCWData 型を導入し、GetRCWData メソッドをコントラクトインターフェースに追加
  • RCW.cs: GetRCWData で使用される追加フィールドを読み込むようにデータモデルを拡張
  • CtxEntry.cs: RCW 切断検出をサポートするため CtxCookie を追加
  • SOSDacImpl.cs: cDAC BuiltInCOM を使用して ISOSDacInterface.GetRCWData を実装
  • ISOSDacInterface.cs: DacpRCWData 構造体を追加し、GetRCWData シグネチャを更新
  • BuiltInCOMTests.cs: GetRCWData および切断シナリオをカバーする単体テストを追加
  • RCWDumpTests.cs: RCW インターフェースと GetRCWData 動作の検証用ダンプテストを新規追加
  • RCW デバッグ対象プログラム: 通常および含有 RCW を作成し、ダンプ検出用にピン留めするよう拡張
  • native VM ヘッダー: runtimecallablewrapper.hcomcache.h に cDAC フィールドオフセットを追加

パフォーマンスへの影響

影響なし

関連Issue

なし

その他

本変更は内部実装(cDAC コントラクト層)の拡張であり、公開 API への変更はありません。RCW フラグエンコーディングへの依存関係がドキュメント化されています。


#125419 [main] Source code updates from dotnet/dotnet

  • 作成者: @dotnet-maestro[bot]
  • 作成日時: 2026年03月10日 22:28:07(UTC)
  • マージ日時: 2026年03月14日 09:09:50(UTC)
  • ラベル: linkable-framework area-codeflow

概要

dotnet/dotnetからのコードフロー更新PR。VMR(Virtual Monolithic Repository)から複数のリポジトリのソースコード更新と依存関係の更新をまとめたものです。コンパイラ、ビルドツール、ランタイムコンポーネントなど幅広いNuGetパッケージが更新されています。

変更内容

  • バージョン管理ファイル更新: eng/Version.Details.propseng/Version.Details.xmlの更新
  • ビルド構成の変更: eng/Signing.propseng/Subsets.propsの修正
  • Renovateワークフロー導入: 新しいrenovate.ymlテンプレートとrenovate.env設定ファイルの追加
  • ビルド パイプライン調整: source-index-stage1.ymlpost-build.ymlpublish-logs.ymlの更新
  • プロジェクトファイルの簡素化: pretest.projsfx-finish.projの依存関係削除

主要な依存関係更新:

  • Microsoft.CodeAnalysis系: 5.6.0-2.26152.106 → 5.6.0-2.26163.109
  • NuGet.* パッケージ: 7.5.0-rc.15306 → 7.6.0-rc.16409
  • Microsoft.DotNet.Arcade.Sdk: 11.0.0-beta.26152.106 → 11.0.0-beta.26163.109
  • ランタイムコンポーネント: Mono LLVM, JIT Tools, Wasmランタイムなど複数プラットフォーム対応版の更新

パフォーマンスへの影響

影響なし

関連Issue

なし

その他

  • このPRは自動生成されたコードフロー更新です(dotnet-maestrobot作成)
  • 関連する複数のリポジトリ(arcade、aspnetcore、efcore、fsharp、msbuild、nuget.client、roslyn、sdk、winformsなど)での変更を統合しています
  • Renovateワークフロー機構の新規導入により、今後の依存関係管理が自動化されます

#125364 Exclude noisy crypto rules from the repo's CodeQL runs

  • 作成者: @GrabYourPitchforks
  • 作成日時: 2026年03月10日 05:10:21(UTC)
  • マージ日時: 2026年03月14日 00:22:23(UTC)
  • ラベル: area-CodeGen-coreclr

概要

CodeQLの暗号化関連ルールの実行範囲を調整し、暗号実装とinteropコード自体では無効化する一方、暗号消費者向けのアラートは維持するように設定を更新しました。暗号実装コードに対する不要なルール適用を排除し、ノイズを軽減します。

変更内容

  • .CodeQL.yml: 暗号関連のCodeQLルール除外設定を追加(+24行)
    • 暗号実装およびinteropパスに対する複数の暗号関連ルールの除外を設定
    • 暗号実装コード以外(消費者コード)では引き続きルールを有効に保持

パフォーマンスへの影響

影響なし(CodeQL分析時のノイズ削減により、実質的な分析効率は向上するが、ランタイムパフォーマンスへの影響はなし)

関連Issue

なし

その他

暗号実装やinteropコードに対してCodeQL警告ルールを一律適用するのではなく、ルールの適用対象を明確に区分することで、CI/CDパイプラインでの有効な警告に集中できるようになります。


#125294 Fix some CMake definitions on OpenBSD

  • 作成者: @sethjackson
  • 作成日時: 2026年03月07日 20:04:45(UTC)
  • マージ日時: 2026年03月14日 22:52:21(UTC)
  • ラベル: area-PAL-coreclr community-contribution os-openbsd

概要

OpenBSD上のCMakeビルド定義の修正。特定の機能検出マクロに必要なヘッダーファイルのインクルードを追加しています。HAVE_STATFS_FSTYPENAMEHAVE_MNTINFOHAVE_GETPEEREIDの定義時に、それぞれsys/types.hsys/socket.hHAVE_GETPEEREIDの場合)が必要です。

変更内容

  • src/coreclr/gc/unix/configure.cmake: sys/types.hのインクルード追加(1行変更)
  • src/coreclr/pal/src/configure.cmake: sys/types.hのインクルード追加(1行変更)
  • src/native/libs/configure.cmake: sys/types.hsys/socket.hのインクルード追加(2行変更)

これらの変更はOpenBSD固有のビルド構成に関するもので、機能検出時のヘッダー依存関係を正確に解決します。

パフォーマンスへの影響

影響なし

関連Issue

#124911#124992

その他

OpenBSD環境でのビルド失敗に対応する修正です。これは前回の修正(#124992)の追加対応となります。


#124920 Convert constructor invocations from the runtime to use UnmanagedCallersOnly

  • 作成者: @jkoritzinsky
  • 作成日時: 2026年02月26日 19:20:34(UTC)
  • マージ日時: 2026年03月14日 04:01:15(UTC)
  • ラベル: area-VM-coreclr

概要

ランタイム内のコンストラクタ呼び出しをUnmanagedCallersOnlyパターンに移行するPRです。クラスコンストラクタ(.cctor)とデフォルトインスタンスコンストラクタの呼び出しを、VM-to-Managed逆P/Invokeパターンで実装し直します。これにより、CATCH_HANDLER_FOUND_NOTIFICATION_CALLSITEPREPARE_NONVIRTUAL_CALLSITE_USING_METHODDESCの不要なインフラが削除されます。

変更内容

  • methodtable.cpp: MethodTable::RunClassInitExをUnmanagedCallersOnlyCallerを使用したパスに変更
  • RuntimeHelpers.CoreCLR.cs: デフォルトコンストラクタ呼び出し用の[UnmanagedCallersOnly]メソッドCallDefaultConstructorを追加
  • InitHelpers.cs: クラスコンストラクタ呼び出し用の[UnmanagedCallersOnly]メソッドCallClassConstructorを追加
  • corelib.h: CoreLibバインダーエントリを新規メソッドに対応
  • callhelpers.h/cpp: デバッガ通知フラグ関連コードを削除し、UnmanagedCallersOnlyパターン対応に切り替え
  • cominterfacemarshaler.cpp: RCWデフォルトコンストラクタ呼び出しをUnmanagedCallersOnlyパスに切り替え
  • excep.cpp/excep.h: 不要な例外処理ロジック削除
  • wasm/callhelpers-reverse.cpp: WebAssembly向けのUnmanagedCallersOnlyサポート追加

パフォーマンスへの影響

影響なし(InfrastructureRefactoring)

関連Issue

#123864

その他

このPRは#123864での確立されたUnmanagedCallersOnlyパターンの継続的な移行の一部です。内部実装の変更で、公開APIへの影響はありません。


目次