← アーカイブ一覧へ戻る
このページは、dotnet/runtime リポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
日別 Pull Request 数
日付をクリックするとその日のセクションへ移動します。
ラベル別 Pull Request 数(上位10)
ラベル別 Pull Request 数の上位10
上位10件の合計509件を100%とした内訳です。各スライスの番号は凡例の番号に対応します。ラベルごとの件数は凡例を参照してください。
1. Servicing-approved — 112 PRs (22.0%)
2. area-CodeGen-coreclr — 73 PRs (14.3%)
3. area-codeflow — 58 PRs (11.4%)
4. community-contribution — 56 PRs (11.0%)
5. arch-wasm — 47 PRs (9.2%)
6. area-Infrastructure — 47 PRs (9.2%)
7. area-Diagnostics-cdac — 37 PRs (7.3%)
8. area-VM-coreclr — 34 PRs (6.7%)
9. area-ReadyToRun — 23 PRs (4.5%)
10. area-System.Net — 22 PRs (4.3%)
1
2
3
4
5
6
7
8
9
10
509
上位10件の合計
1 Servicing-approved 112 PRs 22.0%
2 area-CodeGen-coreclr 73 PRs 14.3%
3 area-codeflow 58 PRs 11.4%
4 community-contribution 56 PRs 11.0%
5 arch-wasm 47 PRs 9.2%
6 area-Infrastructure 47 PRs 9.2%
7 area-Diagnostics-cdac 37 PRs 7.3%
8 area-VM-coreclr 34 PRs 6.7%
9 area-ReadyToRun 23 PRs 4.5%
10 area-System.Net 22 PRs 4.3%
上位10件で全966件中509件(52.7%)を占めます。ラベルは1つの Pull Request に複数付くため、比率は PR 数ではなくラベル付与の延べ数に対するものです。
各 Pull Request の概要
この月にマージされた 655 件を新しい日から順に並べています。タイトルをクリックするとその日のページの該当箇所へ移動します。Bot が作成した 106 件はタイトルのみにして、各日の最後にまとめています。
2026年08月31日 (19 PRs) うち Bot 2 件 この日のページ →
@LuckyXu-HF ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-loongarch64
LoongArch64プラットフォーム上のNativeAOTにおいて、pcalau12i + addi.d/ld.d命令のリロケーションケースでGCRegの更新タイミングが誤っていた問題を修正します。GCRegは計算完了後に更新される必要があります。この修正により、NativeAOTテストSmokeTests/DynamicGenericsの間欠的なGCクラッシュが解決されます。
@Copilot ・ GitHub ・ area-Interop-coreclr
不安定な動作が報告されていた GcRestrictedCalloutReversePInvoke テストを削除します。このテストはCOM/ComWrappersの相互運用性を検証するもので、タイムアウトによるGen2ガベージコレクション待機時の失敗が既知の問題でした。
@awakecoding ・ GitHub ・ community-contribution area-NativeAOT-coreclr
NativeAOT のCOFF リロケーション処理におけるメモリ割り当てオーバーヘッドを削減します。CoffRelocationをヒープオブジェクトから12バイトの不変値型構造体に変更し、リロケーション列挙時にref readonlyで反復処理することで、数千万のリロケーションレコード処理時のメモリ使用量とGC圧力を大幅に軽減します。
@MihaZupan ・ GitHub ・ area-System.Net.Sockets
SocketAsyncEventArgsTest.Connect_Parallel_FailsテストがmacOSで30秒のタイムアウトを超える問題を修正。バインドされているが待機していないソケットへの接続がmacOSで保留状態のままになる代わりに、テストスイートの予約済み未使用ポートを使用することで、OS依存の遅い動作を回避しながら並列IPv4/IPv6接続エラーをテストしています。
@steveisok ・ GitHub ・ area-VM-coreclr
CoreCLRのGS Cookie保護をNativeAOTに合わせて調整し、Apple macOS arm64でLLDB内部でのホストが失敗する問題(coreclr_initializeが0x8007000Cを返す)を修正します。Apple、WebAssembly、OpenBSDでは読み取り専用ページ保護機能を無効化し、これらのプラットフォームの不変セグメント制限に対応します。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
SIMD分類ヘルパー関数(IsInfinityなど)がコンパイル時に定数にフォールドされる際に、オペランドの副作用(例外など)が失われる問題を修正しました。9つの分類操作すべてが対象です。Vector128.WithElementの例外生成オペランドを使用した回帰テストを追加し、x64とWASMの共有インポート形状をカバーしています。
@jozkee ・ GitHub ・ Servicing-approved area-Infrastructure
release/10.0ブランチにおいて、内部ビルドで約2,000件のエラーが発生していた問題を修正します。Ubuntu AndroidキューをAndroidとBionicプラットフォームのみに制限し、内部検証時に非Android/BionicのライブラリワークアイテムがAndroidエージェントで実行されるのを防ぎます。
@BrzVlad ・ GitHub ・ area-ReadyToRun
Read-Ahead (R2R) コンパイルにおいて、--target-allows-runtime-code-generation オプションを追加し、ランタイムコード生成を強制的に無効化できるようにしました。これにより iOS のような動的コード生成が禁止される環境の設定をシミュレートできます。ランタイムが dynamiccodecompiled false でビルドされた場合、corelib も同じ設定でビルドされるようになり、corerun と testhost がこの設定を確実に遵守します。
続きを読む
@mdh1418 ・ GitHub ・ area-Tracing-coreclr
EventPipeの非ロッシーBlockバッファリングモード向けのエンドツーエンド機能テストカバレッジを追加します。vendored診断クライアント(Microsoft.Diagnostics.NETCore.Client)とIpcTraceTestインフラストラクチャをdotnet/diagnosticsと再同期し、CollectTracing3~6プロトコル、バッファリングモード選択、イベント損失検証機能に対応させています。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process tenet-performance
Unix環境でのProcess.Startのパス解決処理を最適化し、メモリ割り当てを削減するPRです。FindProgramInPathをUnix実装に移動し、ValueStringBuilderを使用して実行ファイル候補を構築し、成功時のみ文字列を確保するようにしました。また、spanベースのUTF-8 interopを活用して実行ファイルチェックを行います。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
Native AOTで生成されるデバッグ情報(CodeView/PDB)の改善により、デバッガがメソッドおよびパラメータの型情報をスタックトレースに表示できるようになります。主な改善点は以下の通りです:
メソッドの型情報をCodeView記号に含める(methodTypeIndexを非ゼロ値で設定)
VS デバッガのようなC#形式のメソッド名を表示(マングルされたシンボル名の代わり)
暗黙的なthisパラメータを適切に命名(デバッガが署名に含めないようにするため)
修正前はパラメータint nが表示されず、修正後は正しく表示されます。
続きを読む
@davidwrighton ・ GitHub ・ area-System.Runtime.InteropServices
LibraryImport ソースジェネレータに、メソッドレベルの ErrorHandlerAttribute(メタデータ名で認識)を使用したカスタムネイティブエラーハンドリング機能を追加しました。エラー値の取得元として、ネイティブ戻り値、最終マネージ型の out/ref パラメータ、隠れた最終ネイティブパラメータ、隠れた戻り値をサポートします。エラー変換は論理的な戻り値と通常の出力変換の前に実行され、エラーマーシャラーが無効なネイティブ出力を読む前に例外をスローできます。SetLastError=true の場合、システムエラーはネイティブ呼び出し直後にキャプチャされ、成功後に復元されます。
[CustomMarshaller(typeof(NativeError), MarshalMode.Default,
typeof(NativeErrorMarshaller))]
static class NativeErrorMarshaller
{
public static NativeError ConvertToManaged(int error)
{
if (error < 0) throw new NativeErrorException(error);
return new NativeError(error);
}
}
[LibraryImport("NativeLibrary")]
[ErrorHandler(typeof(NativeErrorMarshaller), ErrorLocation.ReturnValue)]
static partial void Invoke();
続きを読む
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
MAYBENULL TypeHandle → RuntimeType ヘルパー関数を廃止し、null チェックをインライン化するように変更します。JIT と Interpreter の両方で、(handle == 0) ? default(RuntimeTypeHandle) : CORINFO_TYPEHANDLE_TO_RUNTIMETYPEHANDLE(handle) 相当のチェックを直接生成します。Interpreter には maybe-null 引数を持つヘルパー呼び出しを処理するための新しいオペコードが追加されました。
続きを読む
@tannergooding ・ GitHub ・ area-System.Collections tenet-performance
Dictionary<TKey, TValue>とHashSet<T>のTrimExcessメソッドが、成長指向のキャッシュ済みプライム数を使用する代わりに、最も近い有効なプライム数を選択するように改善されました。これにより、トリミング後の保持ストレージが最大約19%削減されます。構築、EnsureCapacity、自動成長時には既存のキャッシュ済みプライム動作を維持します。プライム選択ロジックはlibraries/Commonに統合され、重複実装が排除されました。
続きを読む
@rosebyte ・ GitHub ・ area-Extensions-Configuration source-generator
Configuration Binder ソースジェネレータが、読み取り専用コレクション型のコンストラクタパラメータを持つネストされたメンバーの初期化に失敗する問題を修正しました。修正前は参照型はnullに、値型はdefaultに暗黙的にバインドされていましたが、リフレクションバインダーとの動作の乖離がありました。
public record Inner(IReadOnlyList<string> Values);
public class Outer
{
public Inner? Nested { get; set; } // 修正前: null, 修正後: 正しく初期化
}
続きを読む
@rosebyte ・ GitHub ・ area-Extensions-Configuration source-generator
ConfigurationBinder ソースジェネレータが、要素型を構築できない非辞書コレクション(例:抽象クラスの要素型)に対して空の BindCore メソッドを生成しないように修正します。インターセプタの動作(引数検証、非サポートオプションの例外スロー)は保持されます。
修正前の問題コード例:
// 非バインド可能な要素型に対して空のループが生成される
public static void BindCore(IConfiguration configuration, ref EndPointCollection instance, bool defaultValueIfNotFound, BinderOptions? binderOptions)
{
foreach (IConfigurationSection section in configuration.GetChildren())
{
}
}
続きを読む
@lewing ・ GitHub ・ area-VM-coreclr
WebAssemblyのReadyToRun (R2R)スタックウォーク機能に対するcDAC(Compact Diagnostic Access Component)テストを強化します。空のFunctionTableIndexRangeListケースの検証と、実際のディスパッチング複合R2Rイメージから取得した完全なランタイム関数テーブルを使用した統合テストを追加します。また、XML コメントで WASM フレームレイアウトのネイティブソース参照を修正します。
続きを読む
2026年08月29日 (3 PRs) うち Bot 1 件 この日のページ →
@mmitche ・ GitHub ・ area-Infrastructure
release/11.0ブランチで、一時的に無効化されていたHelixジョブモニター機能を再度有効化するPullRequest。#132880で無効化された後、固定パッケージ(11.0.0-beta.26427.10)が#132869で利用可能になったため、条件付きステージの動作を維持しながら再有効化を行うもの。
@agocke ・ GitHub ・ area-Infrastructure
Helix CI/CDパイプラインのWindows テストキュー設定を更新し、最新のWindows x64 公開エイリアス (helix_windows_x64_latest) を、バージョン固定のWindows 11クライアントキューから、ローリング実行時キュー (Windows.Amd64.Open.rt) に変更。CoreCLRおよびライブラリのパイプラインを、中央集中管理されたキュー変数(Windows x64/CET/ARM64)を使用するよう統一。
続きを読む
2026年08月28日 (37 PRs) うち Bot 7 件 この日のページ →
@lewing ・ GitHub ・ arch-wasm area-ReadyToRun
WebAssembly エンジンの effective type-size limit を超える問題を解決するため、WebCil wasm object writer がすべての定義関数をエクスポートするのをやめ、代わりに関数名を name カスタムセクションで保持するようにしました。エクスポートテーブルはホストが呼び出すスタブ関数のみに限定されます。
フレームワーク規模(181アセンブリ + corelib)での効果:
関数数:232,673(不変)
エクスポート数:232,675 → 4
エクスポートセクション:29.0 MB → 65 bytes
検証結果:❌ effective type size exceeds 1000000 → ✅ valid
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラのデータセクション管理を最適化し、重複する定数の参照やアライメント対応を改善。各データエントリに論理オフセット(dsOffset)を割り当て、重複する定数は同じアライメント済みロケーションを参照するようにすることで、不要なデータセクションエントリの生成を削減。SIMD整数除算コード生成では、符号付き除算でのみオーバーフロー検査に必要な全ビット1の定数を生成するよう最適化。
@premun ・ GitHub ・ area-Infrastructure
Azure Pipelines YAMLの定義を更新し、enableHelixJobMonitor変数がオフの場合にHelix Job Monitor ステージを除外するようにしました。helix-job-monitor.ymlジョブテンプレートの挿入を${{ if eq(variables['enableHelixJobMonitor'], true) }}条件でガードすることで、パイプライン実行時の不要なステージ生成を防ぎます。
続きを読む
@premun ・ GitHub ・ area-Infrastructure-coreclr
CoreCLR outerloop Azure Pipelines定義を更新し、Helix Job Monitorステージを条件付きで含める変更です。enableHelixJobMonitorパラメータが有効な場合のみJob Monitorテンプレートをインクルードするよう修正されました。デフォルトはenableHelixJobMonitor: falseのままなので、このパイプラインではモニタージョブは除外されます。
続きを読む
@thaildhe172591 ・ GitHub ・ area-System.Net community-contribution
WebProxyが非ASCII文字のドット区切り文字(U+3002、U+FF0E、U+FF61など)を含むホスト名を正しく処理していない問題を修正しました。従来はUri.HostのASCIIドットのみを検索していたため、intranet。corpのような名前がローカルホストと判定され、BypassProxyOnLocal設定時のプロキシ迂回動作が不正確でした。修正後はUri.IdnHostを使用することで、すべてのIDN区切り文字を.に正規化して処理します。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Host
CoreCLR-on-wasmで、Webcil R2R画像(.wasmファイル)がWebAssemblyエンジンに拒否された場合の処理を改善しました。従来は例外を無視して通常のフォールバックと同じく無言で解釈実行に切り替わっていましたが、今後は明示的にエラーをスローするようにしました。これにより、R2R画像が存在しない場合と存在但し無効な場合を区別できるようになり、問題の可視化が向上します。
@mmitche ・ GitHub ・ area-Infrastructure area-codeflow
dotnet/arcadeの最新コミット(2cdfe99944d984749c8bdfc7d8d6a2589ed15d6d)に基づいて、Microsoft.DotNet.Helix.JobMonitorを11.0.0-beta.26427.10にアップデートします。このPRはrelease/11.0-rc1ブランチにおけるHelix Job Monitorの機能を再度有効化するものです。
@mmitche ・ GitHub ・ area-Infrastructure area-codeflow
dotnet/arcade内のHelixJobMonitor依存関係を11.0.0-beta.26427.10に更新し、release/11.0ブランチでHelixJobMonitorを再度有効化するPull Requestです。このアップデートにより、ランタイムパイプラインのHelixJobMonitor機能が復旧されます。
@mmitche ・ GitHub ・ area-Infrastructure
Microsoft.DotNet.Helix.JobMonitorを11.0.0-beta.26427.10にアップデートし、依存関係メタデータを更新するPRです。
また、#132806と#132847で一時的に無効化されていたモニター設定を復元しています。
@Copilot ・ GitHub ・ area-ReadyToRun
crossgen2が大文字の.DLL/.EXE拡張子を持つアセンブリを拒否する問題を修正しました。この問題はファイルシステムやネットワークシェア(WinFsp/virtiofs など)で大文字に正規化されるケースで発生し、PublishReadyToRunビルドを破損させていました。Microsoft.NETCore.App.Crossgen2 10.0.5 → 10.0.9でのリグレッションです。
続きを読む
@PranavSenthilnathan ・ GitHub ・ area-System.Security
Composite ML-DSA CNG テストの Windows プラットフォーム対応判定を改善しています。Windows ビルド + UBR に基づいた Composite ML-DSA サポート検出と、NCrypt サポートに基づいた CNG テストのゲーティングを追加しました。BCrypt サポートがあっても対応する NCrypt サポートがない場合、CNG テストをスキップするようになります。
続きを読む
@Copilot ・ GitHub ・ area-System.Buffers
Base64/Base64Url APIのXML doc コメントにおける誤った要素型の記述を修正します。主な問題として、Base64Url.EncodeToCharsが返す値をバイト数ではなく文字数として正しく記載すること、UTF-8エンコーディング向けと文字向けのメソッドで異なる戻り値型の記述を統一すること、およびデコード操作での説明誤りを修正しています。動作変更なし。
var dest = new char[10];
int written = Base64Url.EncodeToChars("fff"u8, dest); // 4 chars, not bytes
続きを読む
@svick ・ GitHub ・ area-Extensions-Hosting
BackgroundServiceExceptionBehavior enum の XML ドキュメントを改善し、IHost が BackgroundService の障害時にどのように動作するかをより明確に説明します。<remarks> タグは Learn.Microsoft.com の API ドキュメント生成時に表示されないため、重要な詳細情報を <summary> タグの複数段落に移動することで、生成されたドキュメントに確実に表示されるようにしました。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Quic
Windows上のQUICで、エフェメラル秘密鍵を持つクライアント証明書の検出ロジックを修正しました。Schannel が SEC_E_UNKNOWN_CREDENTIALS (0x8009030D) を返すようになった環境でも、適切に AuthenticationException で報告するよう対応しています。
@jakobbotsch ・ GitHub ・ area-ReadyToRun runtime-async
CLR→COM スタブが transient IL として生成される(#131494 )ようになったことに伴い、COM インターフェイスメソッドの async バリアント対応に関する特殊ケース処理が不要になったため、その処理を削除します。これにより async 変種の COM メソッドが通常の marshalling IL から直接コンパイルされるようになります。
@PranavSenthilnathan ・ GitHub ・ area-System.Text.Json
JsonSerializerOptions.AllowDuplicatePropertiesがfalseの場合、JsonObjectコンバーターが重複プロパティに対してArgumentExceptionを発生させていた問題を修正。ドキュメントに従ってJsonExceptionを発生させるように改善しました。JsonObject.Addの代わりにTryAddと既存の重複プロパティ処理ヘルパーを使用し、他のSystem.Text.Jsonコンバーターの動作と統一します。
続きを読む
@VSadov ・ GitHub ・ area-System.Threading
スレッドプール内の低飽和度シナリオにおいてレイテンシを改善するため、ワーカースレッドの駐車(parking)戦略を調整するPRです。以前の変更でスピニング削減により高飽和度シナリオでの効率を向上させましたが、低飽和度では不要な遅延が発生していました。本変更では、ワーカー数が少ない場合には過度な駐車を避け、適度なスピニングを許容することでバースト型ワークロードのレイテンシを改善します。
@dovydenkovas ・ GitHub ・ area-Infrastructure-libraries community-contribution
EncoderReplacementFallbackBuffer_InternalGetNextChar 関数でnull文字 \0 を返す際に、bFallingBack 状態フラグと iRecursionCount カウンタがリセットされていない問題を修正しました。この問題により、エンコーダーが置換完了後も fallback 状態に留まり、アサーション失敗を引き起こしていました。
@maraf ・ GitHub ・ arch-wasm test-enhancement area-Infrastructure-mono
Wasm.Build.TestsのHelix実行クラスリストを、手動メンテナンスの代わりにビルド時に自動生成するようにしました。新しいGenerateXunitTestClassListタスクがテストアセンブリから[Fact]/[Theory]/[ConditionalFact]/[ConditionalTheory]属性を持つパブリック非抽象クラスを自動検出し、カテゴリフィルタ(no-workload、IgnoreForCI、failingなど)を適用してリストを生成します。これにより、手動リストの漏れやドリフト(CoreCLR向けで7クラスが実行されていなかった問題など)を防ぎます。
続きを読む
@vitek-karas ・ GitHub ・ area-Infrastructure
CI障害スキャンの重複検出プロセスにおいて、KBE(Known Build Error)issue検索にuserフィールドを含めることを要求する変更です。これにより、整合性ゲートウェイがActions作成のKBEを信頼済みボットとして認識でき、重複検出中に誤って非表示にされることを防ぎます。
@EgorBo ・ GitHub ・ area-GC-coreclr
シングルプロセッサ構成用のWindows x86/x64 uniprocessor allocation helpers (RhpNewFast_UP等)を削除し、すべてのメモリ割り当てをスレッドローカル割り当てコンテキスト経由に統一する変更です。ほぼ到達不可能(GetSystemInfo()が正確に1プロセッサを報告する必要)で、既知のバグ(GCStress時のヒープ破損)があり、テストされていない最適化のため削除されます。
続きを読む
@PranavSenthilnathan ・ GitHub ・ area-System.Security
OpenSSLバックエンドのマネージド実装として、ハイブリッドML-KEM(ML-KEM + 従来型KEM)のComposite ML-KEM実装を追加します。X25519/X448、ECDH、RSA-OAEPの3つの従来型KEM方式に対応し、System.Security.Cryptographyに統合されます。Windows向けのネイティブ実装は別PRで追加予定です。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Aspire CLIのNativeAOT実装を対象とした新しいSuperPMI collection を追加します。ローカルに構築されたILCコンパイラを使用して、実環境で実際にAOT コンパイルされているサードパーティ製アプリケーション上での包括的なテストカバレッジを実現します。新しいコレクションは54,051のコンテキストを生成し、898MBのサイズとなり、既存のsmoke_tests.nativeaot(34,532コンテキスト、453MB)より多くのカバレッジを提供します。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
UTF-8解析とフォーマッティングにおけるUnicodeスカラ処理の改善。U+0020(空白)、U+00A0(NBSP)、U+202F(NNBSP)を同等のセパレータとして扱い、UTF-16とUTF-8間でのパリティを向上。さらに、サロゲートペアを正しくUTF-8の4バイトスカラとして出力し、ペアのないサロゲートはU+FFDに置換される。これにより、数値、日時、TimeSpan、BigIntegerの解析・フォーマッティングで一貫性が得られる。
続きを読む
@bartonjs ・ GitHub ・ area-System.Security
X509Chain のポリシー処理を Windows/OpenSSL/Apple/Android 間で正規化し、ApplicationPolicy/CertificatePolicy の処理と無効/デコード不可能なポリシー関連拡張の評価・報告をプラットフォーム間で一貫させます。コンテキストトラストの導入後に書き直された従来のポリシー処理コードを、より充実したテストに基づいて統一化します。
@Copilot ・ GitHub ・ area-System.Net
SSE(Server-Sent Events)パーサーにバッファサイズの設定機能を追加しました。新しい SseParserOptions<T> クラスを導入し、呼び出し元が MaxBufferSize プロパティでパーサーのバッファ上限を構成できるようにします。デフォルトは -1(内部デフォルト値を使用)です。
var parser = SseParser.Create(stream, new SseParserOptions<string>(
static (_, bytes) => Encoding.UTF8.GetString(bytes))
{
MaxBufferSize = 1024 * 1024
});
続きを読む
@brianrob ・ GitHub ・ area-Diagnostics-coreclr
ETW/EventPipeおよびPerfMapトレースにおいて、通常のJITメソッド外で生成された実行可能コード(コピーされたwrite barrier、スタブ、コード断片ブロック)のシンボル解決範囲を改善します。これにより、トレース内の未解決シンボルが大幅に減少します。
CodeHeapIteratorがヒープ終了をスナップショットし、スタブ範囲を識別して報告する機能が追加されました。コピーされたwrite barrierの報告はJITヘルパーテーブル設定から導出されます。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-coreclr
AsyncThunkStubManager::TraceManagerでのGC/contract違反を修正するため、非割り当て版の非同期バリアント検索(GetAsyncVariantNoCreate/GetOrdinaryVariantNoCreate)に切り替えました。デバッガ/トレースステップ中に不要なメモリ割り当てを回避します。
@jkoritzinsky ・ GitHub ・ area-VM-coreclr
vararg呼び出し規約はWindows上でのみサポートされているため、このPRはFEATURE_VARARGSフィーチャーフラグを導入し、vararg関連のインフラストラクチャをサポート対象プラットフォーム(主にWindows)上でのみビルドするように変更しました。これにより、Unix/ARM/loongarch64/riscv64/wasmなどの非対応プラットフォーム上で到達不可能なスタブ、cookie管理、マーシャリングヘルパーなどをコンパイルから除外できます。
Windows上のビヘイビアは変わりません。ConvToJitSigはプラットフォーム固有のチェックを単一のFEATURE_VARARGS定義で統一し、プラットフォーム間での齟齬を防ぎます。
続きを読む
@t-mustafin ・ GitHub ・ area-CodeGen-coreclr community-contribution arm-sve
ARM Hardware IntrinsicsテストでLargestVectorSizeがARM上のVector<T>サイズ(128ビット=16バイト)と一致していないことと、バッファサイズ計算式が不十分であることに起因するバッファオーバーフロー問題を修正しています。armel環境ではGC構造体の破損とGCアサーション例外につながる問題です。
2026年08月27日 (23 PRs) うち Bot 8 件 この日のページ →
@garath ・ GitHub ・ area-Infrastructure
Azure DevOps(ADO)の負荷軽減を目的として、複数のAzure PipelinesテンプレートでenableHelixJobMonitorフラグをtrueからfalseに変更し、Helix Job Monitorを一時的に無効化します。この変更はビルド・テスト実行時のモニタリング機能に影響を与えます。
@rolfbjarne ・ GitHub ・ area-Diagnostics-coreclr
JIT非搭載プラットフォーム(iOS、tvOS、Mac Catalyst、WASM)でFEATURE_REJITが無効な場合、ホットリロード(Edit and Continue)時にILコード版の解決が失敗し、"Bad IL range"例外が発生する問題を修正します。CodeVersionManager::GetILCodeVersion()が常にデフォルトILバージョンを返していたため、EnC で作成された非デフォルトバージョンを正しく検出できていませんでした。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT最適化処理で無限ループが発生する問題を修正しました。fgOptimizeBranchToEmptyUnconditionalが2ブロックの空サイクルのみを検出していた制限を解除し、エッジリダイレクト前に任意のサイズの空の無条件サイクルを検出するように改善しました。これにより、フロー最適化が正常に終了するようになります。
@ViveliDuCh ・ GitHub ・ area-System.ComponentModel.DataAnnotations
AsyncValidationAttributeの非同期検証におけるキャンセレーション契約をドキュメント化 する変更です。実装者に対して、キャンセレーション要求時にすぐに処理を停止する必要があることを、呼び出し元に対しては検証期間を制限する方法を説明するコメントを追加しています。
@jakobbotsch ・ GitHub ・ area-VM-coreclr
非同期リグレッションテスト Runtime_132017 で使用されていた冗長な s_calls カウンターを削除します。このカウンターは await の後でインクリメントされるため、fire-and-forget の Print と await された Print が非アトミックなインクリメントで競合し、間欠的なテスト失敗を引き起こしていました。テストの意図する動作は既に存在する s_log の順序付けられたアサーションで十分に検証されています。
続きを読む
@rzikm ・ GitHub ・ area-System.Net
SmtpClientがキャッシュしたSmtpConnectionを再利用する際、接続に関連するプロパティの変更後も古い接続が使用され続ける問題を修正しました。プロパティ変更時にキャッシュを無効化し、次の送信時に新しい設定で接続を再確立するようになりました。
@ViveliDuCh ・ GitHub ・ area-System.ComponentModel.DataAnnotations
DataAnnotations検証属性に新しい公開API ValidationAttribute.FormatMessage を追加し、呼び出し元が外部でローカライズされた複合形式文字列を供給できるようにしました。各検証属性は自身のプレースホルダー引数の提供を担当し、既存の FormatErrorMessage の動作は変わりません。
public virtual string FormatMessage(
[StringSyntax("CompositeFormat")] string format,
string name)
続きを読む
@kafka1991 ・ GitHub ・ area-System.Collections community-contribution
ConcurrentQueue.TryDequeueが、セグメントフリーズ時にストアの順序による競合状態により、実際には要素を含むセグメントを誤って空と報告する問題を修正しました。修正により、Tailの更新をフラグの公開前に実行することで、デキュー時の三つの可能なペアリングすべてにおいて正確な判定を保証します。
@Copilot ・ GitHub ・ area-System.IO.Compression os-tvos
tvOSなどのメモリ制約のあるAppleモバイルプラットフォームで、CompressionLevel.SmallestSizeがZstdの最高品質モード(800MB以上のワーキングメモリ必要)を使用することによりOutOfMemoryExceptionが発生する問題を修正します。テストのみの変更で、製品コードには影響ありません。
@thomhurst ・ GitHub ・ area-System.Threading community-contribution
ManyElementAsyncLocalValueMapの内部実装を最適化し、Dictionary<IAsyncLocal, object?>を不変なキー/値配列、バケット配列、衝突チェーン配列に置き換えました。既存値の更新ではキー/値配列のみをクローンし、ルックアップ配列は共有します。16要素以下のマップは既存実装を維持します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの初期段階(最初の5フェーズ)でIRフラグ検証を有効化し、「緩和」セマンティクスを導入しています。余分なフラグは許容しつつ不足しているフラグではアサーション発生させます。また、フラグが適切に伝播していなかった箇所を修正し、NewObjArrayArgsローカル変数のリサイズ時にGTF_USE_ASGフラグが必要になる問題に対応しています。
@Youssef1313 ・ GitHub ・ area-System.Text.Json
System.Text.JsonのJsonSchemaExporterにおけるnullability推論を修正しました。読み取り専用プロパティやreadonly フィールドのスキーマnullability判定が、存在しないアクセッサ(getterやsetter)を不正にnullableとして扱っていた問題に対応しています。スキーマnullabilityは利用可能なアクセッサ(getter/setter)のみを考慮するように調整されました。
続きを読む
@snickolls-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution arm-sve
ARM64-SVE環境におけるVector<T>の戻り値処理を修正するもので、以下の2つの改善を行います:
戻り値バッファがTYP_SIMDの場合、デバッグ情報を無効化(AOT環境でのスタックオフセット計算が不正確になるため)
ローカル変数がTYP_SIMDの場合、隠れた戻り値バッファ最適化を無効化(フルベクトル呼び出し規約サポート時に不要になるため先制的に対応)
続きを読む
@jkoritzinsky ・ GitHub ・ area-Interop-coreclr
CLR→COMスタブをTransient IL技術に移行し、メモリとパフォーマンスを改善。従来はCOM importメソッドごとに独立したILStubResolverとDynamicMethodDescを割り当てていたのに対し、本変更ではマーシャリングILをCLRToCOMCallMethodDescに直接生成してJIT後に破棄。これにより秘密引数の必要性が消滅し、スタックフレームが削減される。
@xtqqczze ・ GitHub ・ area-System.Text.Json community-contribution
.NET 9用のデッドコードを削除するPRです。PR #121853によりNetCoreAppMinimumがnet10に変更されたため、net9固有の条件付きコンパイルコードが不要になりました。System.Text.Jsonライブラリから該当コードを削除します。
2026年08月26日 (16 PRs) うち Bot 6 件 この日のページ →
@mmitche ・ GitHub ・ area-Infrastructure-mono
runtimeパイプラインの Helix Job Monitor を一時的に無効化する変更です。Azure DevOps の結果アップロード動作の調査と検証中の間、スタンドアロン Helix Job Monitor を無効にします。検証完了後に復元される予定です。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのIsConstantInt32Assertion()メソッドが64ビット定数を誤ってint32と判定していた問題を修正しました。O2K_CONST_INTはssize_tを格納するため、TYP_LONG定数もマッチしていました。これにより範囲推論時に64ビット定数がint32にキャストされ、誤った最適化が行われていました。修正によりFitsIn<int>チェックを追加し、メソッド名が実装と一致するようにしました。
続きを読む
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ILLink (Mono.Linker) のテストスイートを複数の独立したxUnit test classsに分割し、大規模なtheoriesをシャーディングすることで、並列実行を改善しました。作成者の環境では実行時間が約10.5分から約6.5分に短縮されています。
@Copilot ・ GitHub ・ area-CodeGen-coreclr arch-riscv
RISC-V JIT のコンパイル時に Clang が printf の書式指定エラー(-Wformat)を検出していた問題を修正します。%d フォーマット指定子に対して強い型付けの enum class である MajorOpcode を渡していたため、明示的に int にキャストして型チェックを満たします。
printf("MajorOpcode: %d\n", static_cast<int>(GetMajorOpcode(code)));
続きを読む
@maraf ・ GitHub ・ arch-wasm area-Build-mono os-browser
CoreCLR browser-Wasm アプリケーションがネイティブ再リンク時に必要な場合、ランタイムパック構築時の設定値をWebAssembly SDK のMSBuild ターゲットを通じて伝播させる機構を実装しました。JSON トランスポート機構をパッケージ化された .props/.targets ロジックに置き換え、アプリケーション構築時に設定値の不一致を検出します。
@elinor-fung ・ GitHub ・ Servicing-approved area-Host
macOS Apple Silicon上で圧縮単一ファイルアプリケーションの実行時に発生していた散発的なAccessViolationを修正するバックポート。メモリ保護の遷移処理を変更し、PAGE_READWRITE → PAGE_EXECUTE_READWRITEの遷移時にページが非実行のままになる問題に対応しました。
@pavelsavara ・ GitHub ・ arch-wasm area-ReadyToRun
WebAssembly(Browser/WASI)ターゲット向けのReadyToRun PerfMap(.ni.r2rmap)生成を有効化するPRです。2つの主要な問題を解決しています:
PerfMapOSTokenにBrowser/Wasiメンバーが、PerfMapArchitectureTokenにWasmメンバーが不足していた
Wasm向けのR2Rメソッドオフセット計算が不正確だった(LEB128圧縮後のセクションオフセットにミスマッチ)
続きを読む
@rosebyte ・ GitHub ・ area-Extensions-Caching
MemoryCacheのキャッシュエントリサイズ不正による会計ドリフトの問題を修正します。エントリが破棄された後にICacheEntry.Sizeプロパティが書き込まれると、キャッシュが追跡する合計サイズとの不一致が永続化していた問題を解決するため、破棄後のサイズ変更時にInvalidOperationExceptionをスローするようにしました。
@Copilot ・ GitHub ・ area-Infrastructure-libraries
TrueZip64暗号化テストが4GB以上のエントリを作成・読取するため、ローカルテスト実行時のパフォーマンスが大幅に低下する問題を解決します。該当するテストをOuterLoop属性でマークして、デフォルトのテスト実行対象から除外します。
[OuterLoop("Takes a long time to run locally")]
続きを読む
@adamperlin ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly RyuJITバックエンド向けにスタックポインタ/フレームポインタのデルタ計算ヘルパーメソッドを実装しました。これまでのNYI(Not Yet Implemented)スタブを置き換え、フレーム相対オフセット計算(アンワインド/スタックレイアウトロジック用)が正常に機能するようになります。
具体的な変更内容:
genCallerSPtoInitialSPdelta() を実装(固定線形メモリフレームサイズに基づく)
genCallerSPtoFPdelta() を実装(既存のデルタ関係を利用)
genSPtoFPdelta() は0を返すように実装(Wasmフレームモデルに準拠)
続きを読む
2026年08月25日 (19 PRs) うち Bot 2 件 この日のページ →
@rzikm ・ GitHub ・ area-System.Net.Security
TLSセッションレジューム機能のテストで並列実行時のフレーキネスを修正しました。複数テストが共有するOpenSSLセッションキャッシュに対する競合状態を解決するため、クライアントのSNI(TargetHost)をテスト実行ごとに一意な値に変更します。テスト分離バグであり、製品コード上の問題ではありません。
@rzikm ・ GitHub ・ area-System.Net.Security
テスト SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE の例外ハンドリングロジックを更新しました。StreamBuffer.WriteAsync がインライン化される可能性があるため、スタックトレースから StreamBuffer.WriteAsync の代わりに ConnectedStreams.* の存在を確認するように変更することで、インライン化によるスタックトレース変化に対して堅牢になりました。
続きを読む
@jkoritzinsky ・ GitHub ・ area-Infrastructure
PALTestsのHelix送信ステップでテスト結果の公開を有効化し、Azure Pipelinesレポーターが正常に動作するようにする変更です。publishTestResults: trueを渡すことで、共通のsend-to-helix-step.ymlテンプレートがSYSTEM_ACCESSTOKENを正しく注入できるようになり、Helixワークアイテムのキューイング前に失敗していた問題を解決します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(CoreDAC)のコントラクト記述子パーサーを、ソース生成型の JsonSerializer から直接 Utf8JsonReader を使用した実装に置き換え、バイナリサイズを削減します。コンパクト記述子形式、コメント、末尾のカンマ、入力検証、柔軟な数値解析などの機能は保持されます。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
Server GC の cDAC(Compact Data Access Contract)モデルにおいて、GCHeapSVR.FreeRegions フィールドの取扱いを修正するPRです。
従来は free_regions をポインタとして扱っていたため、インライン配列の最初の要素の num_free_regions がアドレスとして誤解釈され、無効なメモリ読み取りが発生していました。このPRでは [FieldAddress] 属性を使用してインライン配列の基底アドレスを正しく取得するように変更します。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security
System.Net.Securityの機能テストにおけるSslKeyLogFileテストから、不要になったコメント化されたアクティブIssueアトリビュートを削除するテストコードの整理です。OpenSSLがSSLKEYLOGFILE サポートを継続することが確認されたため、テストケースを無効化したままにすることが最適な対応方針となりました。
@rzikm ・ GitHub ・ area-System.Net.Security
SslStream.EnsureFullTlsFrameAsyncにおけるTLSフレーム検出のバグを修正。正確に5バイト(ヘッダーのみで0長ペイロード)のTLSレコード検出に失敗し、無限待機する問題を解決。フレームサイズ再計算の条件を>から>=に変更し、5バイト以上で即座に再計算するようになりました。
@EgorBo ・ GitHub ・ area-VM-coreclr
動的静的フィールドへのアクセスヘルパー(JIT_GetDynamic{GC,NonGC}StaticBase_SingleAppDomain)のアセンブリ実装をamd64/arm64/loongarch64/riscv64から削除し、すべてのプラットフォームで管理コード実装(StaticsHelpers)に統一しました。この変更により、コード重複を排除し、LoongArch64とRISC-Vのバグ(ビット0チェックの誤り)を同時に修正します。
続きを読む
@AndyAyersMS ・ GitHub ・ Servicing-approved area-VM-coreclr
arm64およびその他のアーキテクチャにおいて、Virtual Stub Dispatch (VSD)の単形から多形への遷移ロジックをx64と同じ実装に統一。arm64では共有ミスプリディクションカウンタの書き込みによるキャッシュコヒーレンスオーバーヘッドが高く、マルチコアマシンでスケーリングが大幅に制限されていた問題を修正。
@davidwrighton ・ GitHub ・ area-ReadyToRun
メソッドがC#コンパイルとR2Rコンパイル間で派生クラスから基底クラスに移動され、基底クラスがモジュール内で参照不可の場合、型をシグネチャにエンコードできない問題を解決します。新しいREADYTORUN_FIXUP_DeclaringTypeHandleエンコーディングでは、エンコード不可な型シグネチャの代わりにメソッドシグネチャ を使用し、そのメソッドを宣言する型に解決されます。
@glima ・ GitHub ・ area-System.Security community-contribution
Unix環境のSslStreamにおけるX509参照リークの修正です。CryptoNative_SslAddExtraChainCertのOpenSSL呼び出しが不正な所有権セマンティクス(add1)を使用していたため、接続ごとに中間証明書の参照がリークしていました。SSL_CTRL_CHAIN_CERTの引数を1から0に変更し、add0セマンティクス(OpenSSLが呼び出し元の参照を取得)に統一することで修正します。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-ReadyToRun os-browser
CoreCLR向けブラウザ-wasm(実験的・オプトイン)にReadyToRun(R2R)実装を追加します。R2Rイメージはwebcil-in-wasmモジュール(アセンブリのECMAメタデータとcrossgen2生成のR2Rネイティブコード含有)として機能します。フレームワークの事前ビルドR2Rイメージ(181共有フレームワークアセンブリ)とアプリ固有の動的R2Rの両方をサポート。PublishReadyToRunはブラウザ-wasmでデフォルト無効です。
関連Issue: #121257 、#132466
続きを読む
@elinor-fung ・ GitHub ・ area-Host
ネイティブホスティングAPIで複数のコンポーネント(カスタムホスト、COM、C++/CLI)を非デフォルトAssemblyLoadContext(ALC)にグループ化できるようにするための設計提案ドキュメントを追加しました。現在のホスティングデリゲートはデフォルトALCまたは分離ALCのみをサポートしており、複数コンポーネント間での共有ALC利用ができない課題に対応します。
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
JIT低レイヤーの処理をクリーンアップするため、2つの新しいターゲットフラグを追加するもの。PR #131909の後続作業として、TARGET_HAS_MULHI(乗算上位ビット命令のサポート)とTARGET_MASKS_SHIFTS(マスク・シフト命令のサポート)フラグを導入し、ターゲットアーキテクチャ別に定義します。
@mmitche ・ GitHub ・ area-Meta
Helix Job Monitor ツールを 11.0.0-beta.26424.2 にアップデートし、runtime パイプラインで有効化します。このアップデートは dotnet/arcade#17331 からのスケーラブルな結果処理の書き直しを取り込み、ビルドスコープの検出、並列インクリメンタル結果アップロード、リトライ対応の状態管理、レート制限処理、最終ドレイン/ステータス報告を実装します。並列処理能力を 48 に設定し、パスフィルタリングされたビルドで Helix 投入がない場合もサポートします。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics reduce-unsafe
数値解析・フォーマット処理全体におけるポインタベースのunsafeコードをSpan/ReadOnlySpanベースの実装に置き換えた大規模なセーフティ改善。NumberBuffer、数値型、DateTime、TimeSpan、Decimal浮動小数点型、BigIntegerなどのコア処理からポインタ操作を排除し、メモリ安全性を向上させながらパフォーマンスを維持・改善。
@radekdoulik ・ GitHub ・ arch-wasm area-Interop-coreclr
WebAssemblyではネイティブライブラリの動的ロードがサポートされていないため、テストがネイティブライブラリを持つ場合、browser-wasmで実行できていませんでした。このPRは、テスト固有のcorerun.js/corerun.wasmを生成して、ネイティブライブラリを静的リンクすることで、browser-wasmランタイムテストの実行を可能にします。12個のプロジェクトで新たに18個のテストメソッド が実行されるようになります。
続きを読む
2026年08月24日 (25 PRs) うち Bot 1 件 この日のページ →
@jeffhandley ・ GitHub ・ area-Meta
docs/area-owners.mdにarea-Announcements領域の所有権情報(リード、オーナー、スコープノート)を追加します。ルーティングポリシーは変更されません。
@jkoritzinsky ・ GitHub ・ area-Interop-coreclr
ICustomQueryInterface.GetInterface実装で例外が発生した際のComWrappersの例外処理が不正だった問題を修正しました。ネイティブコードに対して呼び出し成功を示す0が返されていたため、*ppvObjectがnullのままでもネイティブ側でアサート失敗が発生していました。修正により、例外時は-1(TryInvokeICustomQueryInterfaceResult.FailedToInvoke)を返し、ネイティブコードが正しく呼び出し失敗として処理し、フォールバックするようになりました。
続きを読む
@MichalStrehovsky ・ GitHub ・ arch-wasm area-GC-coreclr
gcenv.base.hのHOST_BROWSER定義をMSVC固有の条件分岐から移動し、非MSVCビルド(ブラウザ/WebAssembly向けなど)でも利用可能にする変更です。WebAssembly向けネイティブAOTコンパイルでYieldProcessor()とMemoryBarrierの定義が正しく適用されるようになります。
@ViveliDuCh ・ GitHub ・ area-System.ComponentModel.DataAnnotations
System.ComponentModel.AnnotationsのValidatorクラスにおいて、非同期検証タスクのライフタイム管理を強化しました。部分的に開始された検証タスクが失敗時やアーリーエクスイト時にキャンセルおよび待機されることを保証し、検証呼び出しから漏れ出したバックグラウンドワークを防ぎます。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
SIMD12(Vector3)の間接参照(indir)操作における再配置可能アドレス定数のコンテインメント判定が誤っていた問題を修正しました。条件判定をaddr->TypeIs(TYP_SIMD12)からnode->TypeIs(TYP_SIMD12)に変更し、アドレス演算子ではなく間接参照ノードの型に基づいて判定するように修正します。
@ApparentlyPlus ・ GitHub ・ area-System.Buffers test-enhancement community-contribution
ArrayPoolストレステスト内で破損していたプライベートリフレクションを修正するPR。ThreadLocalIsCollectedUnderHighPressureテストがGetMemoryPressureメソッドを誤ったインスタンス型から検索していたためnullが返され、テスト実行時にNullReferenceExceptionが発生していた問題を解決。正しい内部型(System.Buffers.Utilities)から検索するよう修正し、型・メソッドの解決に失敗した際に明示的なアサーション失敗を行うよう改善。
続きを読む
@radekdoulik ・ GitHub ・ area-Infrastructure
ネイティブテストライブラリのビルド時に、既存の ${TEST_LIB_TYPE} CMake変数を活用して、プラットフォームごとに動的/静的ライブラリの選択を柔軟に行えるようにする機械的な変更です。現在はSHAREDにハードコードされていますが、この変更により WASM環境での静的ライブラリビルドが可能になります(後続のPR #131866で活用予定)。
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
プロファイラーのGCヒープ列挙時に、外部スレッド(非管理スレッド)と中断スレッドの両方がnullptrの場合、外部スレッドが誤ってサスペンション所有者として識別される問題を修正しました。修正により、null同士の比較がサスペンション所有者の条件を満たさないようになります。
bool suspendedByThisThread =
pCurrentThread != nullptr &&
ThreadSuspend::GetSuspensionThread() == pCurrentThread;
続きを読む
@LE0-Lin ・ GitHub ・ area-System.Runtime community-contribution
Span<T>.ToArray()からAggressiveInlining属性を削除し、JITが通常の収益性判定に基づいてインライン化を決定できるようにします。これにより、Span<T>.ToArray()とReadOnlySpan<T>.ToArray()の実装を一貫させます。ToArray()はメモリ割り当てを行うため、強制インライン化の恩恵は限定的です。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの MEASURE_NOWAY 機能をデフォルトで無効化する変更です。従来は DEBUG ビルドで常に有効化されており、すべての noway_assert に対して無条件に RecordNowayAssertGlobal の呼び出しが展開されていました。この変更により、測定が必要な場合にのみ手動で MEASURE_NOWAY を 1 に定義する方式に変更されます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの Phase::PostPhase でノード一意性チェック(fgDebugCheckNodesUniqueness)が重複実行されていた問題を修正しました。CHECK_UNIQUE は importation 前に有効になり、CHECK_IR は morph 後のみ有効なため、fgDebugCheckLinks() 内の呼び出しは冗長です。この重複チェックを削除することで、JIT コンパイルのパフォーマンスを向上させます。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの重複するデバッグチェック呼び出しを削除し、パフォーマンスを改善する変更です。Phase::PostPhaseがすべてのフェーズ後にfgDebugCheckLinksを実行するため、4箇所の直接呼び出しは冗長でした。検出ロジックは変わらず、フェーズ中盤で導入された破損は現在フェーズ終了時に報告されます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの低位中間言語(LIR)検証ロジックを改善する変更です。CheckLIRのcheckUnusedValuesチェックが複数の場所で個別に呼び出されていた冗長性を排除し、CHECK_LIR_UNUSED_VALUESフラグを導入してラショナライゼーションからレジスタ割り当てまで一貫して有効化します。6つの直接呼び出しを削除し、fgDebugCheckLinks経由で統一的に処理することで保守性と効率を向上させます。
続きを読む
@Copilot ・ GitHub ・ area-System.Console
Unix環境でのコンソール機能で使用されるTerminalFormatStringsのトリミング対応を実施し、"Hello world"プログラムでLinuxにおいて約8kBのサイズ削減を実現します。ConsolePalの遅延初期化プロパティを削除し、一元化されたインスタンスアクセス方式に統合することで、NativeAOTのサイズ削減に貢献します。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT (clr.aot) ビルドにおいて、デフォルトで必要なホスト/ターゲットシナリオ向けの単一JITフレーバーのみをビルドするよう変更します。従来のすべてのクロスターゲットJITフレーバーのビルド (clr.alljits) はオプトイン方式になり、ビルド時間の短縮が期待されます。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JIT最適化処理で、暗黙的byrefパラメータのアドレスを取得してアラインメントテストを行う場合に、型の不一致によるアサーションエラーが発生していた問題を修正しました。
MODからANDへの書き換えが前処理で実行される際、暗黙的byrefパラメータがTYP_BYREFに再型化されても、AND操作は依然としてTYP_LONGとして扱われたため、optNarrowTreeの型チェックアサーションが失敗していました。
修正により、TYP_BYREF型の操作数に対する狭窄化を避け、代わりにCAST<int>でラップすることで、変換を継続適用しながら正しい型チェックを行うようにしました。
サンプルコード:
static bool TestAlignment(Vector128<float> test)
{
return ((nint)(&test) % 16) == 0;
}
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
WASM モジュールをランタイム WASM モジュールとリンク可能な形式で出力するための WasmRelocatableObjectWriter クラスを ILCompiler に追加します。基本的な実装で、すべてのリロケーションは完全に実装されておらず、.reloc カスタム WASM セクションはまだ出力されません。あわせて WASM ファイルのスタイル警告も修正されています。
@jkotas ・ GitHub ・ Servicing-approved area-Diagnostics-coreclr
64ビットプラットフォームでのDAC スタックウォーク処理において、InlinedCallFrame::m_Datum フィールドのビット判定ロジックを修正しました。アンマネージ calli ターゲットが奇数アドレスに配置された場合、ビット0を確認せずにビット1を検査していたため、例外処理ヘルパーマーカーが誤って認識されてフレームがスキップされる問題を解決しました。
@jkoritzinsky ・ GitHub ・ area-VM-coreclr
CoreCLRのアンマネージ calli 呼び出しの処理メカニズムを刷新し、レガシーな実行時ヘルパー(GenericPInvokeCalliHelper)からJIT時のILスタブ生成への移行を実装しました。これによりNativeAOTと同じ convertPInvokeCalliToCall JIT-EEパスを使用するようになります。
変更により、アンマネージ calli は呼び出し元のJITコンパイル時にスタブメソッドを作成・キャッシュし、初回呼び出し時にJITコンパイルされます。ターゲットアドレスはシークレットレジスタの代わりに通常の末尾パラメータとして渡されます。
続きを読む
@eduardo-vp ・ GitHub ・ area-System.Threading runtime-mono
Mono ランタイムでの ReentrantWaitFromSyncContextTest テストを無効化する変更です。Mono では Monitor.Wait がネイティブ実装のままで、CoreCLR のようにマネージド実装に移行していないため、SynchronizationContext.Wait へのフォワーディングが行われず、このテストの検証対象シナリオが実行されません。
@MichalStrehovsky ・ GitHub ・ area-NativeAOT-coreclr
AOT RyuJit JIT-EE インターフェースを改善し、静的フィールドアクセス時にクラスコンストラクタ(cctor)チェックが既に実行されたことが証明できる場合、そのチェックをスキップするようにしました。初期化分析(initClass)を活用することで、不要なcctorチェックを削除し、コード生成を最適化します。
@jtschuster ・ GitHub ・ arch-wasm area-ReadyToRun
crossgen2 WASM単体テストをコンパイルする際に、ホストマシンのcorelib(System.Private.CoreLib)ではなく、WASM専用のcorelbを使用するように変更するもの。これにより、crossgen2がWASM固有のcorelib機能に依存する場合でも失敗しなくなります。また、Windows/ARM/iOS-arm64などのプラットフォーム固有の問題も同様に解決されます。テストは対象アーキテクチャ・OSと互換性のあるものだけが実行されるようになります。
続きを読む
@Copilot ・ GitHub ・ area-ExceptionHandling-coreclr
FirstChanceExceptionEventArgsの割り当て失敗時の例外発生処理を改善するPRです。メモリ不足時にイベント引数の割り当てに失敗しても、無限再帰やスタックオーバーフローを防ぐため、fail-fast処理で確定的に終了するようにしました。同時に、AppDomain.FirstChanceExceptionハンドラの再入を防ぐスレッドローカルガードを追加しました。
// 割り当て失敗時はfail-fastで終了
OBJECTREF eventArgs = AllocateObject(g_pFirstChanceExceptionEventArgsClass);
if (eventArgs == NULL)
{
EEPOLICY_HANDLE_FATAL_ERROR(COR_E_OUTOFMEMORY);
}
続きを読む
@snickolls-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
Vector<T>のバイト長を取得するメソッドを再編成し、コンパイル時評価と実行時評価を分離しました。getVectorTByteLengthをgetCompileTimeVectorTByteLengthにリネームし、新たにgetRuntimeVectorTByteLengthを追加します。特にArm64のSVE対応で、ISA機能のみではVector<T>のサイズを予測できない場合に、実行時にキャッシュされたクラスハンドルから正確なサイズを取得できるようになります。
続きを読む
2026年08月23日 (1 PRs) この日のページ →
@steveisok ・ GitHub ・ area-VM-coreclr
PR #125536で追加されたメタデータ更新により、Reflection.Emitパスにおいてプロパティ/イベント親ルックアップテーブルへの追加が重複するようになった問題を修正します。この重複により、並行読み取り時にルックアップテーブルが不正な状態となり、TypeLoadExceptionが発生していました。本PRでは重複した追加処理を削除し、ルックアップテーブルの更新をCMiniMdRW::AddPropertyToPropertyMap/AddEventToEventMapの単一の場所に統一します。
続きを読む
2026年08月22日 (10 PRs) うち Bot 8 件 この日のページ →
@Copilot ・ GitHub ・ area-System.Threading
CoreCLR のスレッド相互運用性を簡素化するPRです。現在のスレッドに対する QCall(SetWaitSleepJoinState、ClearWaitSleepJoinState、CheckForPendingInterrupt)をマネージドスレッドハンドルの受け渡しから GetThread() による現在のネイティブスレッド取得に変更し、冗長なハンドル所有権管理コードを削除します。また ThreadNative_GetOSHandle でハンドル複製に失敗した際の例外処理を厳密化します。
続きを読む
@xtqqczze ・ GitHub ・ area-System.Text.Json
.NET 8向けの互換性コードを削除するクリーンアップです。PR #121853以降、最小サポートバージョン(NetCoreAppMinimum)が.NET 10に引き上げられたため、.NET 8固有の条件分岐やポリフィルコードが不要になりました。
2026年08月21日 (38 PRs) うち Bot 13 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-System.Threading tenet-performance
キャスト キャッシュのルックアップパスにおいて、ARM64上の明示的な読み取りバリア(dmb ishld)を、ソース・ターゲット/結果フィールドのacquire読み取りに置き換え、パフォーマンスを改善します。バージョン検証の必要な順序付けは維持されます。
@akoeplinger ・ GitHub ・ area-codeflow
Version.Details.xmlから不要な依存関係エントリを削除するメンテナンス変更です。Microsoft.DotNet.XunitAssert(dotnet/arcadeで削除済み)とHotReloadUtils(runtime内で統合済み)の古い依存メタデータを削除し、整理整頓を行います。
@premun ・ GitHub ・ area-codeflow
JobMonitorツールを11.0.0-beta.26421.1にアップデートします。このアップデートはdotnet/arcadeリポジトリの関連変更に対応するものです。
@noahfalk ・ GitHub ・ area-Diagnostics-cdac
cDAC検証モードの強化に伴い、cDAC fallbackテスト用パイプラインを削除し、fallback動作を明示的なallowlist方式のみに統一するPRです。dotnet/diagnostics側の変更後、cDAC_verifyが唯一の「レガシーDACとの比較」テストモードとして機能します。
@jjonescz ・ GitHub ・ area-Infrastructure-libraries
CS9368警告が Roslyn の更新により報告されなくなったため、複数のプロジェクトファイルから不要になった NoWarn 指定を削除するメンテナンス変更です。
@LE0-Lin ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
RuntimeInformation.ProcessArchitectureプロパティのgetterにNonVersionableAttributeを付与し、ReadyToRun(R2R)のクロスモジュールインライニングでアーキテクチャ固有の分岐をフォルドできるようにします。これにより、コンパイル時にプロセッサアーキテクチャに基づく条件分岐を最適化できます。
@Copilot ・ GitHub ・ area-VM-coreclr
CoreCLR アセンブリバインディングの回帰を修正し、TRUSTED_PLATFORM_ASSEMBLIES (TPA) 内で同じ簡易名を持つ重複エントリの解決ロジックを改善しました。修正前は「最後のエントリが優先」されマネージド .dll が ネイティブ .exe に上書きされていましたが、修正後は .dll を優先し、同等優先度の場合は最初のエントリを保持するようになります。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT デバッグチェック基盤の最適化により、fgDebugCheckNodesUniqueness のパフォーマンスを向上させます。既存のノードスレッド化を活用して線形走査を実現し、不使用の morphTrees パラメータを削除することで、デバッグ検証のオーバーヘッドを削減します。
@AndyAyersMS ・ GitHub ・ area-VM-coreclr
インターフェイス呼び出しサイトが単一の受信者型から複数の受信者型への遷移に失敗する問題を修正しました。ARM、ARM64、LoongArch64、RISC-V64において、ディスパッチカウンター満了時にSDF_ResolveBackPatchフラグを設定した後、インライン解決キャッシュをプローブしていたため、キャッシュヒット時にバックパッチ処理をスキップしていました。本修正により、カウンター満了時に遅延解決パスに進入してバックパッチが正常に行われるようにしました(x64の既存動作に統一)。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
GT_LCLHEAP(スタック割り当て)ノードにサイドエフェクトフラグ(GTF_CALLとGTF_GLOB_REF)を追加し、条件付きlocalloc が無条件に実行されるように最適化されるのを防ぐ修正です。if-conversion最適化により、サイズチェック前にスタック溢れが発生する可能性があった問題を解決します。
// 問題の例
byte* buffer = null;
if (size <= 261) { byte* tmp = stackalloc byte[size]; buffer = tmp; }
return (nint)buffer; // サイズチェック前にstackalloc実行でスタック溢れ
続きを読む
@davidwrighton ・ GitHub ・ area-VM-coreclr
LibraryImport宣言とそのQCall実装の間の署名不一致を修正しました。boolを返すと宣言されていながら、実装ではvoidを返すメソッドを正します。また、スレッド静的ヘルパー、アセンブリロードトレース、ThreadPool I/Oキューイベントで[MarshalAs(UnmanagedType.Bool)]パラメータを4バイトのネイティブBOOLパラメータに合わせました。これらの不一致により、ターゲットアーキテクチャと呼び出し規約によって、未定義の戻り値を読み込むか、異なるサイズのブール値をマネージド/ネイティブABIを超えて渡す可能性がありました。
続きを読む
@jkoritzinsky ・ GitHub ・ area-Diagnostics-coreclr
デバッガーが非Windowsプラットフォームで使用していた従来のPAL多重待機を、デバッガー所有のクロスプラットフォーム待機プリミティブに置き換える変更です。新しいWaitHandle、WaitEvent、WaitLatchの抽象化を導入し、ネイティブハンドルをWindowsに限定します。また、minipalに相互排除とCondition Variable機構を追加し、System.Native のLowLevelMonitorで利用します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのisContainedチェックのパフォーマンス最適化。高コストなcanBeContainedチェックが毎回実行されるのを避け、両アサーションをLIRRange CheckLIRに移動。さらに、GT_NOPとIsNothingNode()の不要な特殊ケース処理を削除。
@rosebyte ・ GitHub ・ area-Extensions-Configuration
Configuration Binder ソースジェネレータが、バインドされない属性([ConfigurationIgnore]修飾やpublicアクセッサなし)に対して不適切にSYSLIB1100/SYSLIB1101診断を報告する問題を修正します。修正により、除外された属性のタイプはジェネレータの型インデックスに登録されなくなり、不要な診断が抑制されます。
@jkoritzinsky ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT の IL スキャナーが RVA フィールドハンドルのメタデータ依存関係を不正に削除していた問題を修正します。RuntimeHelpers.InitializeArray と CreateSpan<T> の組み込み関数展開を証明する専用の RvaIntrinsicPatternAnalyzer を導入し、これらの場合にのみ反射メタデータ依存関係を抑制するようにしました。その他の RVA ldtoken は正常なメタデータ依存関係を保持し、コンパイル時の KeyNotFoundException クラッシュを防ぎます。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのfgPeelSwitch関数における正確性バグを修正しました。ステートメント作成後に比較式のオペランドを再アタッチしていたため、シーケンシング処理で定数オペランドが交換され、スイッチが誤った値(dominant case定数)に基づいて分岐していました。特にループアンローリング時にスイッチ値が定数化される場合に問題が顕在化していました。修正内容は、ステートメント作成前に比較式を完全に構築することです。
続きを読む
@martincostello ・ GitHub ・ area-System.Diagnostics.Tracing community-contribution
LegacyPropagatorがbaggage headerから解析したキーのリストを反転させる際のアルゴリズムを改善しました。従来のO(n²)のInsert操作から、O(n)のAdd+Reverse操作に変更し、W3CPropagatorの実装と統一しています。大規模なヘッダ(16KB以上)では最大11.9倍のパフォーマンス向上が期待できます。
@martincostello ・ GitHub ・ area-System.Diagnostics.Tracing community-contribution
Activity baggage の列挙時の割り当てを回避するため、struct ベースの enumerator を導入しました。公開 API は変更されていません。
@steveisok ・ GitHub ・ area-Extensions-Hosting
BackgroundService.StartAsyncが停止トークンをTask.Runのスケジューリングトークンとして使用していたため、StopAsyncまたはDisposeが呼び出された直後のタイミングでExecuteAsyncが起動されない問題を修正します。この修正により、開始後のExecuteAsyncの起動が確定的になります。
@steveisok ・ GitHub ・ area-System.Threading.Channels
System.Threading.ChannelsのAsyncOperationにおいて、キャンセルトークン登録中に同期的なキャンセルが発生した場合、完了時の原子的予約が行われないため二重完了が発生する競合状態を修正しました。これによりRendezvousChannelのリンクリスト破損やアイテム喪失が発生していた問題を解決しています。
キャンセル可能性を不変な_isCancelableフィールドとして構築時に初期化することで、登録コールバック実行時の競合を排除します。
続きを読む
@jkoritzinsky ・ GitHub ・ area-VM-coreclr
unmanaged-to-managed (U2M)のトランジション時に、管理コード側で既にtry-catch ブロックで保護されるようになったため、不要になったDebuggerU2MCatchHandlerFrameを削除し、関連コードを簡潔化するPR。また、ComWrappersのInterop呼び出しパスで例外を不要にrethrowするパターンを排除し、例外を out-parameterで直接取得する方式に変更。
続きを読む
@EgorBo ・ GitHub ・ area-System.Runtime reduce-unsafe
Decimal.DecCalc.cs内の一部のunsafeブロックを削除し、安全なC#コードに置き換える変更です。メモリ安全性を向上させながら機能の保持を目指しています。
@jtschuster ・ GitHub ・ wasm-aot-test area-NativeAOT-coreclr
NativeAOT コンパイラの bring-up シナリオ(特に WebAssembly 対応)をサポートするため、完全な .NET ランタイムを必要としない「runtime-less」repro プロジェクト reproZero を追加します。最小限の in-source「system module」(zerosharp.cs) を提供し、ILC(IL Compiler)を直接呼び出すための .rsp ファイルを生成します。
続きを読む
@bartonjs ・ GitHub ・ Servicing-approved area-System.Formats.Cbor
CBOR形式の不定長テキスト文字列読み込み時に、非ASCII文字データを含む場合の処理を修正します。TryReadTextStringメソッドが書き込み位置をUTF-8バイト数ではなく書き込まれた文字数だけ進めるよう修正し、バッファサイズ検証エラーを解決します。.NET 5以来の既存の不具合です。
@MichalStrehovsky ・ GitHub ・ area-GC-coreclr
vxsort(ガベージコレクション内のベクトル化されたソート実装)のプリプロセッサ条件分岐を整理し、clang-clのようなClangベースのツールチェーン(__GNUC__を定義しない)でも#pragma clang attributeターゲット有効化が機能するように修正しました。__GNUC__の入れ子条件を#if defined(__clang__) ... #elif defined(__GNUC__) ...構造に変更し、vxsortヘッダーとコード生成テンプレート両方に適用しています。
続きを読む
2026年08月20日 (29 PRs) うち Bot 7 件 この日のページ →
@tannergooding ・ GitHub ・ area-System.Globalization
CoreLibの未使用キャッシュ初期化を遅延させるため、CompareInfoの検索値とEncodingTableの名前キャッシュをネストされた静的ホルダーの背後に移動します。これにより、NativeAOTアプリケーションでこれらのパスが使用されない場合、それらをトリミングできるようになります。
@lewing ・ GitHub ・ Servicing-approved arch-wasm area-Codegen-Interpreter-mono
WASM上でのMono interpreterにおいて、Vector128.StoreおよびVector128.StoreUnsafeをイントリンシック化し、パフォーマンスを大幅に改善するバックポート。このPRはrelease/11.0-rc1ブランチへの手動バックポート(#132502)で、自動cherry-pickの競合を解決しています。
@tannergooding ・ GitHub ・ area-System.Numerics
System.Number型の静的コンストラクタを削除するリファクタリング。RVAバックのReadOnlySpan<byte>にプリミティブデータを移動し、必要な小さな定数はオンデマンド計算、キャッシュは別の型に隔離することで、未使用データのトリミング効率を向上させます。フォーマッティングパターンは管理された文字列配列から switch-selected RVAバイトスパンに変更。ベンチマーク結果では currency -1.9%、number -1.2%、percent +0.2%の差異で、メモリアロケーションは変わらず。
続きを読む
@jtschuster ・ GitHub ・ area-Interop-coreclr
TypeMapテスト(blob-only scenario)でプロキシマッピングのクエリ方向を修正しました。TypeMapAssociation属性が定義する「source type → proxy type」の方向に統一し、NativeAOT trimmingで適切なエントリが保持されるようにnew Lib5Type1().GetType()を使用しています。
@Copilot ・ GitHub ・ area-Infrastructure
CI失敗フィッサーがKBE(Known Build Error)に対して重複した[ci-fix] PRを開くことを防ぐため、PRの重複排除(dedup)ロジックを改善しました。GitHub検索のトークン化により、タイトル/本文マッチングが信頼できないため、ブランチプレフィックスマッチングを権限のあるdedup keyとして使用するようにしました。
@Copilot ・ GitHub ・ area-Infrastructure
KBE(Known Build Error)スキャナーが実行時の細微な違い(スクリプトランナーのサフィックスや終了コード/シグナルテキスト)のみ異なるCoreCLR ランタイムテストの重複報告を避けるため、既存のKBE検索ガイダンスを更新します。.cmd、.dll、.sh、.exeの拡張子およびexit 134、SIGABRTなどの終了コード/シグナル記述子を検索時にストリップする仕様です。
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
CoreCLR の契約(Contract)システムから廃止された FAULT 関連のインフラストラクチャを完全に削除するコミットです。FORBID_FAULT、STATIC_CONTRACT_*FAULT*、INJECT_FAULT(...)、FAULT_NOT_FATAL() などのマクロと注釈を VM、utilcode、GC、デバッグコード全体から削除し、不要になった CONTRACT_VIOLATION マスクを簡潔にします。
続きを読む
@MihaZupan ・ GitHub ・ area-System.Net.Http
SocketsHttpHandlerに新しいプロパティInitialHttp2MaxConcurrentStreamsを追加し、HTTP/2接続で最初のSETTINGSフレーム受信前にサーバーが開くことができるストリーム数を制限できるようにします。デフォルト値は100で、1以上の値が必須です。既存のSETTINGS_MAX_CONCURRENT_STREAMSの動作も調整され、設定されたキャップを尊重するようになります。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITのDEBUGビルドにおいて、未初期化メモリの塗りつぶしパターンを固定値0xcdに統一し、ランダム化と設定可能性を廃止します。また、IsUninitializedベースの各種チェックを削除し、偽陽性のリスクを軽減します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラのブロック圧縮後に毎回フローグラフ全体の検証を実施していた処理を削除しました。checked buildで一部フェーズが基本ブロック数に対して二次計算量になっていた問題を解決します。フローグラフの検証はフェーズ後の検証処理(fgDebugCheckBBlist)で実施するため、ブロック圧縮後の検証は不要です。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
SuperPMIのメタデータメトリクス検索アルゴリズムの最適化。従来の二次時間計算量の検索を、前回の検索位置から開始する線形探索に変更。SuperPMIとJITがメトリクスの順序に合意しているため、実際には線形時間での処理が可能になります。
リリースモード SuperPMI で 2.8%、チェック済みモード SuperPMI で約 0.5% の実行時間短縮を実現。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
Checked JIT内のデバッグ検証機能を統合し、fgDebugCheckTypesをfgDebugCheckFlagsにマージすることで、JITコンパイラのコード整理と最適化を実施。
@lewing ・ GitHub ・ arch-wasm area-Codegen-Interpreter-mono
Mono インタプリタで Vector128.Store と Vector128.StoreUnsafe を PackedSimd 命令にインライン化します。これらのメソッドは以前、パラメータ順序が逆であるため管理コードにフォールバックしていました。結果として、ドキュメント上は高速なAPIが PackedSimd 同等品より約6倍遅延していました。パラメータ順序の反転に対応するため、intrinsics テーブルに追加し、IL→IR生成時に sreg(ソースレジスタ)を交換します。
続きを読む
@aw0lid ・ GitHub ・ area-System.Runtime community-contribution
StringBuilder.ToString() が内部チャンク境界の不整合(主に並行修正による)を検出した際の例外メッセージを改善しました。互換性のため例外型は ArgumentOutOfRangeException のままですが、メッセージとパラメータ名を修正し、架空のメソッドパラメータ名ではなく、内部状態破損を示す専用のリソース文字列を使用するようにしました。
@maraf ・ GitHub ・ arch-wasm test-enhancement area-Build-mono os-browser
WebAssembly on CoreCLRテストのHelix実行方式をMonoと統一し、カスタムペイロル配信を廃止するPR。wasm-toolsワークロードがCoreCLRに対応したため、従来の特殊な環境変数/ペイロール経由の設定から、標準的なワークロード/ランタイムパック機構に移行する。CoreCLRはMonoと同じワークロード/no-workload/fingerprinting/bundler-friendlyの4レーンを実行するようになる。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの IR ツリー走査機構を刷新し、レガシーな fgWalkTree* 関数ポインタ コールバック機構を GenTreeVisitor の直接実装に置き換えるリファクタリング。間接呼び出しの排除により、インライン化とControl Flow Guard の多重ディスパッチ効率が向上する。また、gtHasCatchArg を gtFindNodeInTree ベースに再実装し、副作用フラグによる枝刈り最適化を実現。
続きを読む
@aw0lid ・ GitHub ・ area-System.Collections community-contribution
Dictionary<TKey, TValue>のCopyToメソッドにおいて、指定されたインデックスがターゲット配列の長さを超える場合の例外メッセージを改善します。従来の誤解を招く「Non-negative number required」メッセージの代わりに、ThrowHelper.ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()を使用して、より明確なメッセージを生成します。例外の型はArgumentOutOfRangeExceptionのままです。
続きを読む
@Copilot ・ GitHub ・ area-AssemblyLoader
reflection invoke作業中に無効化されていたバインダートレーシングテストを再度有効化するPRです。テストはmainブランチで合格し、元の問題は解決されたと考えられます。
@tannergooding ・ GitHub ・ area-System.Numerics
DegreesToRadiansとRadiansToDegreesの正確な丸めを実現する改修。従来のx * (pi / 180)は2度の丸め誤差で最大~1 ulpの精度低下を招き、floatでは37.9%の入力が誤ったリジルト、0.042%が2 ulp誤差していました。マルチリム定数を導入して単一の丸めで計算し、スカラー・SIMD(Vector64/128/256/512)・Vector<T>・Decimal型すべてで正確丸めを達成します。
続きを読む
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT環境においてGC\Coverage\271010テストがEHHelpers.cpp:600のランタイムアサーション(ASSERT_UNCONDITIONALLY)でトリップする問題への対応。このテストをNativeAOT上で無効化する変更です。
@lilinus ・ GitHub ・ area-System.Memory community-contribution
SequenceReader<byte> に対してリーダーを進めずに値をピークするエンドイアン対応APIを追加します。承認されたAPI仕様に基づいた実装で、符号付き整数型(short、int、long)のビッグエンディアン/リトルエンディアンピーク機能を提供します。
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices test-enhancement
System.Runtime.InteropServices.Tests の GetNativeVariantForObjectTests において、テスト用ローカルヘルパー Variant から、ランタイムがサポートする ComVariant への移行を実施しました。これにより、テストコードが公開API層と一貫性のあるVARIANT interop実装を使用するようになります。
2026年08月19日 (51 PRs) うち Bot 15 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT コンパイラの名前付きintrinsic検索を保護する変更です。impIntrinsic で named intrinsic の検索が実行されるのは、有効なメタデータメソッドハンドルを持つユーザー呼び出し(CT_USER_FUNC)のみに限定されます。これにより、無効なハンドルの使用によるintrinsic検出時のエラーを防止します。
@rosebyte ・ GitHub ・ documentation area-Extensions-Hosting
HostApplicationBuilderのパラメータなしコンストラクタのXML documentation remarksセクションを修正し、実際の動作に合わせました。パラメータなしコンストラクタはargs: nullを渡すため、コマンドライン引数からの設定は適用されません。
@lewing ・ GitHub ・ arch-wasm area-Codegen-Interpreter-mono
Mono インタプリタの SIMD 内部関数検索がバイナリサーチ時にテーブルが ASCII順でないため一部エントリに到達できない問題を修正します。lookup_intrins() は mono_binary_search で厳密なソート順序を要求しており、sri_vector128_methods では AsVector4 が、packedsimd_alias_methods では Subtract、SubtractSaturate、Store、StoreUnsafe が到達不可になっていました。修正後、これらの操作は マネージド実装へのフォールバックではなく、ネイティブ SIMD 命令に直接コンパイルされるようになります。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Codegen-Interpreter-mono
Mono インタープリタで Vector128<T>.GetElement と Vector128<T>.WithElement の intrinsify を実装し、browser-wasm での性能を大幅に改善します。これらの API は System.Numerics で頻繁に使用されており(GetElement ~120、WithElement ~66箇所)、従来は 16 バイトベクトルのスタックコピーを伴うマネージド実装にフォールバックしていました。既存の PackedSimd ExtractScalar/ReplaceScalar SIMD intrinsics を活用し、新しい MINT オペコードや追加のヘルパー関数は不要 です。
// GetElement/WithElement は以下のように最適化されます
Vector128<float> v = Vector128.Create(1f, 2f, 3f, 4f);
float element = v.GetElement(2); // intrinsified (constant index only)
v = v.WithElement(2, 5f); // intrinsified (constant index only)
続きを読む
@vcsjones ・ GitHub ・ area-System.Security test-bug
AES-KWP(パディング付きキーラップ)の既存テストにおける検証ロジックの問題を修正します。空の暗号文に対するDecryptKeyWrapPadded(byte[])オーバーロードのカバレッジ向上、デクリプト重複テストの誤った呼び出しカウント検証の修正、および誤解を招くエラーメッセージの改善が含まれます。
@lewing ・ GitHub ・ area-Codegen-Interpreter-mono
Mono インタプリタと Browser/WASM Jiterpreter で Vector128<float>.MultiplyAddEstimate を直接 SIMD イントリンシックとして認識するように改善しました。これにより、マネージドな Vector64 フォールバック経由のインライン化を回避し、利用可能な場合は WebAssembly の f32x4.relaxed_madd を、そうでない場合は f32x4.mul + f32x4.add を発行します。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-Build-mono
browser-wasm ランタイムパック生成時に、同一ワークツリー内での Mono ビルド後の stale native artifacts が CoreCLR パック入力と衝突し、NU5118 重複ファイルエラーを引き起こす order-dependent なビルド失敗を修正します。eng/liveBuilds.targets に TargetOS=browser && RuntimeFlavor=CoreCLR の条件付き除外リストを追加し、Mono ビルドで残された 13 個のネイティブライブラリファイルをパック対象から除外します。
続きを読む
@unsafePtr ・ GitHub ・ area-System.Numerics community-contribution
GenericMath テストスイート全体で、従来のアサーション方法から Span<T> ベースのアサーション方法への統一的な移行を実施しました。これにより、テストコードの一貫性と保守性を向上させるための内部テストコードの改善です。
@davidwrighton ・ GitHub ・ area-System.Reflection
CoreCLR ブラウザ WASM ターゲットにおける Loader/ContextualReflection テストの失敗に対応するため、該当テストプロジェクトを一時的に無効化します。CLRTestTargetUnsupported プロパティを設定することで、ブラウザターゲットのみでのテストビルド/実行を防ぎ、他のプラットフォームやランタイムフレーバーには影響を与えません。
@steveisok ・ GitHub ・ area-ExceptionHandling-coreclr
CoreCLRの例外処理におけるGC安全性のバグを修正します。プロファイラー、デバッガー、ETWコールバック中にGCが発生する可能性がある際に、CallFilterFuncletとCallCatchFunclet内で例外オブジェクト(OBJECTREF)を保護するため、GCPROTECT_BEGIN/ENDマクロを追加します。これにより、例外監視が有効な場合のチェックドビルドのアサート失敗を防止します。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Diagnostics-coreclr
CoreCLR/WASMプラットフォームでEventPipeメソッドイベント収集時にランタイムクラッシュが発生する問題を修正。未登録のJITマネージャーに対応するコードアドレスからのETWメソッドイベント発行を保護し、Blazor EventPipeテストをハードニングして、ランタイムトラップを確実にテスト失敗として報告するようにします。併せてCoreClRのemsdkパス取得ロジックを修正。
@PranavSenthilnathan ・ GitHub ・ area-System.Security
Composite ML-KEM(ポスト量子暗号アルゴリズム)の基本的な公開API を System.Security.Cryptography に追加します。アルゴリズム識別子、OID配線、インポート/エクスポート機能を含みます。現在は全プラットフォームで NotSupported 実装となっており、プラットフォーム固有の実装は後続予定です。
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
x64のAVX-512マスク命令で、NotMaskが8レーン未満のマスクに対して不正なコード生成を行う問題を修正しました。knotb実行後に未使用ビットが設定されたままになり、後続のkmovb+popcntで誤った結果が返されていました。修正として、コード生成時にシフト命令で未使用ビットをクリアするロジックを追加し、マスク反転パターンの最適化変換も導入しました。
@elinor-fung ・ GitHub ・ tenet-performance area-Host
シングルファイルアプリの起動時に、バンドルに含まれるアセット(非抽出)に対して不要なネイティブメモリアロケーションを削減する最適化です。バンドルマニフェストアクセサでの参照返却、パス構築の遅延化、プローブフローの簡素化により、起動時間を2.50%削減し、ネイティブヒープ割り当てカウントを57.09%削減しました。
@agocke ・ GitHub ・ area-Infrastructure
macOS CI環境でXcode 26を優先的に選択するよう Azure Pipelines ワークフローを更新します。macOS-15ホストイメージに含まれるXcode 26をランタイムで検出し、DEVELOPER_DIR環境変数を通じて後続タスクに公開することで、バージョン番号をハードコーディングせずにXcode 26でのビルドをサポートします。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの非同期インライニング機能をデフォルトで有効化する変更です。これまでオプト機能であった非同期メソッドのインライニングが、デフォルト動作として有効になります。
@pkuyo ・ GitHub ・ area-Tools-ILVerification community-contribution
ILVerifyにメタデータ参照の検証機能を追加しました。ILVerifyは型やメソッド検証の前に、サポートされているメタデータ参照の検証を実行します。各参照は独立して解決され、使用されていない無効な参照も報告されます。P/Invoke ModuleRefはネイティブライブラリを参照するためスキップされます。新しい --metadata-references-only オプションで、メタデータ参照検証のみを実行できます。
続きを読む
@elinor-fung ・ GitHub ・ area-Host
マルチレベルルックアップ(Multi-Level Lookup: MLL)機能をネイティブホスティングレイヤーから完全に削除するPRです。関連Issue #131555 を解決します。
フレームワークと共有ストアの探索を単一のdotnet_rootのみに限定し、グローバルロケーション、DOTNET_MULTILEVEL_LOOKUP環境変数、TFMベースの互換性ゲーティングを削除しています。
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-Codegen-AOT-mono
WebAssembly上のMono LLVM-AOT環境で、OP_MOVE命令の宛先が不正に収集される問題を修正しました。アドレスを取得されたローカル変数をエイリアスすると、再代入時に元のオブジェクトへの参照がGCピン領域から削除され、GCによる移動時に宙吊り参照が生じていました。条件付きでピン留めを行うmove_needs_gc_pin関数を導入し、ソースが単一定義でアドレス取得されていない場合のみスキップすることで修正します。
修正対象となるソースコードのパターン:
GcRootBox cur = MakeGcRootBox(0);
TouchGcRootBox(ref cur); // アドレス取得
for (int i = 1; i <= 128; i++) {
GcRootBox alias = cur; // OP_MOVE - エイリアス化
cur = MakeGcRootBox(i); // 元の参照を上書き
GC.Collect(); // GC実行 - aliasが不正に収集される可能性
}
続きを読む
@jkoritzinsky ・ GitHub ・ area-Infrastructure
Copilot Agent Mergeに対してdotnet/runtime固有のCI検証ガイドラインを追加します。CI再実行によるノイズを防ぎ、CIシグナルをマスキングしない方針を徹底し、ビルド失敗の分類プロセスを標準化します。
@jkoritzinsky ・ GitHub ・ area-skills
Runtime CI障害の再現を容易にするため、GitHub Copilot skills を通じてマネージド src/tests テストをスタンドアロン コンソール アプリケーションに抽出し、corerun で直接実行可能にする仕組みを追加しました。ラッパーパス/完全修飾メソッド名から対応するプロジェクトとソースメソッドを解決し、シナリオ環境変数とプロジェクト環境変数をマージして生成します。
@tannergooding ・ GitHub ・ area-Infrastructure
dotnet/runtimeリポジトリのCopilot動作ガイドライン(.github/copilot-instructions.md)を更新し、自動選択される弱いモデルの失敗パターンに対応しました。新たに4つのルール(タスク完了まで中断しない、発見事項を報告する、全ての質問に答える、ツール/スキル名を文字列ではなく機能として扱う)を追加し、既存の4つのルールを明確化しました。特に「Tool and skill names are capabilities, not literals」ルールは、リポジトリ内のスキル呼び出しが文字列マッチに依存するため重要です。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Tracing
DiagnosticsHelper.CompareTagsメソッドの不具合を修正。順序が異なるタグを比較する際に、値が異なる場合でも等しいと判定されていた問題を解決しました。修正により、異なるタグ値を持つメーターまたはインストルメントが誤って再利用されるケースを防ぎます。
@vitek-karas ・ GitHub ・ area-skills
Vally eval toolingを0.7.0から0.14.0にアップグレードし、評価ワークフローを最新スキーマに対応させました。LLM判定基準をstimulus rubricsに移行し、trajectory/diffエビデンスを提供。ツールコール検査をLinux/Windows間で互換性を持たせ、ローカルセットアップ要件を文書化しました。
@Copilot ・ GitHub ・ area-System.Runtime.InteropServices
IidParameterIndexMarshallerResolverをComInterfaceGenerator専用から共有ソース生成インフラストラクチャの既定リゾルバーへ移動することで、Microsoft.Interop.SourceGenerationを使用する任意のジェネレーターから利用可能にします。マーシャリング動作自体に変更はなく、リゾルバーの登録場所の再構成のみです。
@Copilot ・ GitHub ・ arch-wasm area-Infrastructure
WebAssembly(Wasm)ビルドシステムにおいて、WasmRuntimeAssetsLocation MSBuildプロパティの互換性のために存在していた不要なコードと誤解を招く参照を削除しました。プロパティ定義自体は WasmApp.Common.targets に残し、後方互換性を維持しています。
@Sergio0694 ・ GitHub ・ tenet-performance area-Interop-coreclr community-contribution
ComWrappersが作成するRCW(Runtime Callable Wrapper)ごとのGCハンドルコストを削減します。従来は2つのWeakハンドル(WeakとWeakTrackResurrection)をプロキシオブジェクトに割り当てていましたが、新しいRuntimeHelpers.ObjectHasFinalizerを使用してファイナライザーがないプロキシに対しては1つのハンドルに削減します。また、強い型付けのWeakGCHandle<T>を使用してハンドル操作を最適化します。
// ファイナライザーなしの場合は1つのハンドルで十分
bool hasFinalizer = RuntimeHelpers.ObjectHasFinalizer(comProxy);
if (!hasFinalizer)
{
_proxyHandle = GCHandle.Alloc(comProxy, GCHandleType.WeakTrackResurrection);
// 追加の resurrection tracking ハンドルは不要
}
続きを読む
@vcsjones ・ GitHub ・ area-Meta
GitHub Actionsのメタタスク用ワークフロー2つを、ubuntu-latestからubuntu-slimランナーに変更します。リポジトリのクローンを必要としないメンテナンス作業に対して、起動時間が短く費用効率の良い軽量ランナーを使用することで、パイプライン効率を改善します。
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
CoreCLRブラウザビルドの優先度1の外部ループテスト失敗を対処するPRです。ブラウザ環境がProcess.GetCurrentProcessとプロセスPIDベースの診断クライアント収集をサポートしないため、4つのEventPipeイベント検証プロジェクトをゲートします。また、ContextualReflectionインタープリタ失敗を追跡済みActiveIssueで一時的に抑制し、Server GCがコア設計によってブラウザで無効化されていることを明確化します。
続きを読む
@dotnet-renovate-bot ・ GitHub ・ area-Infrastructure community-contribution
dotnet-buildtools/prereqsコンテナイメージのダイジェスト値を一括更新するAutomated Dependency Update。複数のプラットフォーム向けビルドツール前提条件イメージが更新されており、ビルドパイプライン構成ファイル内で参照されるコンテナイメージハッシュ値が更新されています。
@jtschuster ・ GitHub ・ area-ReadyToRun
WebAssemblyオブジェクトライターの共通ロジックをリファクタリングするもので、動作上の変更はありません。セクションマッピング、シンボル管理、セクション生成順序の共通処理を新しいWasmObjectWriter基底クラスに抽出し、WebCIL固有のロジックはWebCilObjectWriterに留めます。これにより、将来的に複数のWebAssemblyオブジェクトライターで共有可能な汎用実装の基盤が整備されます。
続きを読む
@snickolls-arm ・ GitHub ・ area-VM-coreclr community-contribution arm-sve
ARM64 SVE(Scalable Vector Extension)対応において、reflection経由でVector<T>を参照渡しする際の引数分類と戻り値フラグの処理を修正しました。従来のサイズチェック(単なるポインタサイズ判定)の代わりに、IsArgPassedByRef()を使用することで、スケーラブルなVector<T>が正しく参照渡しとして処理されるようになり、segmentation faultの発生を防ぎます。
続きを読む
@jkoritzinsky ・ GitHub ・ area-ReadyToRun
CrossGen2/ReadyToRun コンパイルで、カスタム属性のブロブ内にのみ参照される型(TypeRef 行や AssemblyRef 行がない)に対応するため、TypeMap ペイロード生成を修正しました。System.Type 値がカスタム属性ブロブ内にのみ存在する場合でも必要なトークンを生成できるようにし、このメタデータ形状をカバーする回帰テストを追加しています。
@AaronRobinsonMSFT ・ GitHub ・ area-VM-coreclr
EE(Execution Engine)コントラクト検証をホルダー(holder)の解放パスで有効化し、CoreCLR、GC、NativeAOT、スタンドアロンILツール全体でコントラクト使用法を統一します。主な変更は、Crst初期化の標準化(InitNoThrow廃止)、ENABLE_EE_CONTRACTSゲートの導入、IsIPInModuleをutilcodeからVMに移動することです。
@nwoolls ・ GitHub ・ area-System.Diagnostics.Process community-contribution
macOS上でProcess.PrivateMemorySize64が常に0を返していた問題を修正しました。proc_pid_rusage(RUSAGE_INFO_V3)のri_phys_footprintフィールドを使用してプライベートメモリサイズを取得し、Activity Monitorのメモリ列と同じ値を報告するようになります。権限チェックは既存のproc_pidinfoと同じ動作に従い、他のユーザーのプロセスに対してはEPERMで適切に失敗します。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
内部のNumber.BigInteger(浮動小数点の解析、フォーマット、丸め処理で使用)とSystem.Numerics.BigIntegerCalculatorのブロック幅をuintからnuintに拡張し、64ビットプラットフォーム上でレジスタの上半分を有効活用します。同時に、重複していた算術カーネル(加減算、乗除算)を新しい共有実装BigIntegerCalculator.Shared.csに統一し、約1300行のコード削減を実現します。
続きを読む
2026年08月18日 (17 PRs) うち Bot 1 件 この日のページ →
@akoeplinger ・ GitHub ・ linkable-framework area-Tools-ILLink
ソースのみビルド(/p:DotNetBuildSourceOnly=true)時に、ILLink.Tasksの出力パスが誤ってnetframeworkサフィックスを付与される問題を修正します。NetFrameworkToolCurrentが空の場合、外部ビルドのパス条件が誤って真と評価されていました。条件をガードしてNetFrameworkToolCurrentが非空であることを確認するようにしました。
続きを読む
@jozkee ・ GitHub ・ area-System.Text.Json
ARM64環境でのUTF8JSONリーダーのパフォーマンス回帰を修正するため、Utf8JsonReader.TryGetNumber内の数値終端チェック(.、E、eの判定)をパターンマッチング形式から明示的な比較演算子に置き換えました。セマンティクスは等価ですが、ARM64での実装がより効率的なコード生成を行います。
@Macromullet ・ GitHub ・ area-System.Management community-contribution
System.Management の生成される強型 WMI ラッパーが IDisposable を実装するように改善しました。生成されるコレクションラッパーとエネレーターラッパーが、基になる ManagementObjectCollection と ManagementObjectEnumerator の Dispose を転送するようになり、COM ベースの WMI リソースを確定的に解放できるようになります。
続きを読む
@jtschuster ・ GitHub ・ area-ReadyToRun
WasmObjectWriterをWebCilObjectWriterに名前変更し、空の基本クラスWasmObjectWriterを作成するリファクタリングです。WebCilモジュールとNativeAOT形式の共通基盤として使用されるため、将来の抽出作業でgitが移動を正しく認識できるよう、名前変更を抽出作業と分離しています。
@mdh1418 ・ GitHub ・ area-System.Threading
Mono の Apple ビルド環境でminipal の thread 関連機能が hidden になってしまう問題を修正するPR。_XOPEN_SOURCE が定義されている場合、Apple SDK の pthread.h が Darwin 固有の pthread_threadid_np と pthread_setname_np 宣言を隠してしまう問題を、_DARWIN_C_SOURCE を先に定義することで解決。iossimulator-arm64 での Release Mono ビルドで動作検証済み。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
UTF-8数値パーシング時に、不正なUTF-8バイトシーケンス(継続バイト0xA0)がASCIIスペースとして誤認識される脆弱性を修正しました。MatchChars<TChar>のNBSP正規化をUTF-16のみに制限し、UTF-8は厳密なバイト一致を要求するようにしました。
@HarnageaGabriel ・ GitHub ・ area-System.Globalization community-contribution
ICUバックエンド環境で、CompareInfo.IsPrefix/IsSuffixがCompareOptions.IgnoreSymbolsを使用する場合に先頭/末尾のシンボル文字を正しく無視していなかった問題を修正しました。
例:
// 修正前:false(不正)
CultureInfo.InvariantCulture.CompareInfo.IsPrefix("''Tests", "Tests", CompareOptions.IgnoreSymbols);
// 修正後:true(正常)
CultureInfo.InvariantCulture.CompareInfo.IsPrefix("''Tests", "Tests", CompareOptions.IgnoreSymbols);
続きを読む
@PranavSenthilnathan ・ GitHub ・ area-System.Security
Composite ML-DSA CNG識別子をパブリックAPIとして公開する変更です。これにより、.NET開発者はCNG(Cryptography Next Generation)経由でComposite ML-DSA暗号化アルゴリズムを利用する際に、公式に定義された識別子にアクセスできるようになります。
@vcsjones ・ GitHub ・ area-System.Security cryptographic-docs-impact
RFC 3394に準拠したAES Key Wrap (AES-KW)の実装を追加します。新しいパブリックAPI Aes.EncryptKeyWrap*/Aes.DecryptKeyWrap* と GetKeyWrapLength を導入し、マネージド実装を基本としながら、Apple (CryptoKit)とOpenSSLでは自動的にネイティブ実装を使用します。Windowsはマネージド実装を使用します。
// 使用例
byte[] keyToWrap = ...;
byte[] kek = ...; // Key Encryption Key
byte[] wrapped = aes.EncryptKeyWrap(keyToWrap, kek);
byte[] unwrapped = aes.DecryptKeyWrap(wrapped, kek);
続きを読む
@Copilot ・ GitHub ・ area-Build-mono
CoreCLR PInvokeCollectorがバージョン付きOSプラットフォーム属性(例:[SupportedOSPlatform("browser1.0")])を正しく認識できていない問題を修正します。既存コードは属性値を完全一致で比較していたため、バージョン情報を含む属性は対象OSと一致しないと扱われていました。MatchesTargetOSヘルパーメソッドを導入して、バージョンプレフィックスを無視した比較を実装します。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.Net.Http
InvalidClientRequestTests内の2つの新規テストケースが超過サイズのContent-Lengthを拒否するテストを実施していますが、Windows上でのネイティブhttp.sysパス経由で実行されるとこれらが同じ方法で拒否されず、Helixタイムアウトまでハングが発生していました。本修正では、これらのテストをHelpers.IsManagedImplementationで保護し、マネージド実装のHTTPパーサーのみを対象とするようにします。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
ci-failure-fix ワークフローが既に修正されたまたは廃止されたビルド構成に対して不要なPRを開き続ける問題を解決するため、修正試行前に3つのゲートチェック(最近の発生確認、ライブレグ確認、既存の修正確認)を追加します。これらのチェックのいずれかに該当する場合、PRを作成せずに処理をスキップします。
@Copilot ・ GitHub ・ tenet-performance area-System.Formats.Nrbf
NRBF(.NET Remoting Binary Format)のArrayRecord.GetArray(allowNulls: false)メソッドのパフォーマンス最適化。メソッド呼び出し時に、結果配列の割り当て前にLengthとRecords.Countを比較して、複数のNull Recordが存在する場合は即座に例外をスローすることで、大規模メモリ割り当てを回避します。
@jkoritzinsky ・ GitHub ・ area-CodeGen-coreclr
JIT Genericsテスト群をグローブベースのランナーから6つの明示的なランナーに統合し、ビルド構成を明確化。212個の個別プロジェクトラッパーを廃止し、C#テストソースを直接ランナーアセンブリにコンパイルすることでテストインフラを簡素化。Windows専用テストはプラットフォームフィルタリングで対応。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
System.IO.Compression.ZipFileのZipArchiveEntryファイル抽出ロジックをリファクタリング。パスワード有無の複数のオーバーロード間で重複していた抽出処理を、同期・非同期の共有実装メソッドに統一し、コード重複を削減しました。
@prozolic ・ GitHub ・ area-System.Numerics.Tensors community-contribution
Tensor.Resizeメソッドにおいて、ReadOnlySpan<T>作成時に_startオフセットが重複適用される問題を修正しました。AsTensorSpan()._referenceは既に_startオフセットを含んでいるため、Unsafe.Addで再度適用することで、スパンの開始位置が誤ることになっていました。
2026年08月17日 (17 PRs) うち Bot 1 件 この日のページ →
@eiriktsarpalis ・ GitHub ・ Servicing-approved area-System.Text.Json
C# Union型のSTJ(System.Text.Json)対応を完成させるための重要なコンポーネントとして、JsonUnionTypeStructuralClassifier の公開API実装を.NET 11-RC1へバックポートしています。このAPIにより、すべてJSONオブジェクトとしてシリアライズされるUnion型ケースについて、オブジェクトのプロパティ名に基づいた構造的な判別が可能になります。
続きを読む
@pcshrosbree ・ GitHub ・ area-VM-coreclr community-contribution
docs/design/specs/runtime-async.mdの制限事項に関する曖昧な表現を明確化するドキュメント更新です。
変更前の記述「Suspension points may not appear in exception handling blocks」は、保護されたtryブロック全体を指すと誤読される可能性がありましたが、意図は例外ハンドラー(catch/filter/finally/fault)内のみを対象としています。
変更により、tryブロック内のawaitは許可され、catch/finallyハンドラー内のawaitのみが禁止されることが明確になります。ランタイム自体のテスト(simple-eh.cs)でもtry内でのawaitが使用されており、SDKの実装でも同様に対応されています。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Jsonに公開API JsonUnionTypeStructuralClassifier を追加し、JSONトークン種別と同一レベルのオブジェクトプロパティ名に基づいてユニオン型のケースを分類します。分類器の構築時に曖昧または非サポートの設定を拒否し、ランタイムとソースジェネレータの変換メタデータと診断を統一します。最大64を超えるオブジェクトケースを含むマルチステージの候補除外を備えた包括的なエンドツーエンドカバレッジが実装されています。
続きを読む
@corngood ・ GitHub ・ community-contribution area-NativeAOT-coreclr
NativeAOT のソースコードおよびレスポンスファイルから BOM(Byte Order Mark)を削除する変更です。レスポンスファイルが BOM で始まり、その後にフラグが続く場合、clang がそれをファイル名として解釈し、no such file or directory: '<feff>-fuse-ld=bfd' というエラーが発生していました。WriteLinesToFile が UTF-8 BOM なしを使用するように修正されています。
続きを読む
@akoeplinger ・ GitHub ・ area-Meta
.NET 11.0のリリース候補版ブランチ(rc1/rc2)から本番リリースブランチへの自動マージ設定を追加します。既存の自動化フローを11.0リリースに拡張するもので、release/11.0-rc1とrelease/11.0-rc2からrelease/11.0への自動マージを有効にします。
@akoeplinger ・ GitHub ・ area-Build-mono
Mono/WebAssembly SDK のタスク アセンブリを、TFM バージョン固有のフォルダ(tasks/net11.0、tasks/net472 など)から安定した version-independent フォルダ(.NET Core は net、.NET Framework は netframework)へ移行するもの。これにより、.NET Core TFM バージョンアップ時の調整作業が不要になります。対象は WasmAppBuilder、WasmBuildTasks、MonoAOTCompiler、MonoTargetsTasks、LibraryBuilder、MobileBuildTasks、AppleAppBuilder、AndroidAppBuilder、HelixTestTasks、WorkloadBuildTasks の 10 プロジェクト。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
PAL(Platform Abstraction Layer)の QueryThreadCycleTime テスト内のフォーマットマクロを修正します。テスト出力のフォーマット定義に関する問題を解決するための内部テストコード修正です。
@Copilot ・ GitHub ・ area-System.IO tenet-performance
File.ReadAllBytes と File.ReadAllBytesAsync が、読み込みループで即座に上書きされる不要なゼロ初期化コストを削減するため、GC.AllocateUninitializedArray<byte>(count) を使用するよう最適化されました。
@vitek-karas ・ GitHub ・ area-skills
gh-awコンパイラとセットアップアクションをv0.85.4からv0.86.2にアップグレードしました。主な目的は、Copilot CLIツールキャッシュヒット時のPATH解決の問題を修正することです。v0.85.4では絶対パス/usr/local/bin/copilotが呼び出されていましたが、キャッシュ時には存在せずエラーが発生していました。v0.86.2ではPATHからcopilotを解決し、${RUNNER_TEMP}/gh-aw/bin/copilot下にステージングして実行するように改善されました。
続きを読む
@jeffhandley ・ GitHub ・ area-System.Runtime
Nullable<T>.Value プロパティアクセス時に値がない場合にスローされる例外メッセージを改善しました。メッセージを「Nullable object must have a value.」から「Cannot read the Value property of a Nullable object that has no value. Check HasValue before reading Value.」に変更し、問題の根本原因(.HasValue チェック不足)と解決方法を明確に示すようにしました。
続きを読む
@BrzVlad ・ GitHub ・ area-System.IO.Compression
DeflateEncoderのGetMaxCompressedLengthメソッドが不正確な上限を返していた問題を修正しました。従来のcompressBound()ベースの実装は、デフォルト設定での圧縮を想定していましたが、.NETの実装は品質レベルやウィンドウサイズなどのカスタム設定をサポートしています。zlib-ngのdeflateBound()に由来するマネージド実装に置き換え、すべてのサポート対象の圧縮設定に対応する保守的な上限を計算するようにしました。
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly JIT バックエンドにおける2つのコード生成ギャップを修正しました。genReturnSuspendでretbuf戻り値とVector128戻り値の処理を追加し、genEmitHelperCallの管理スロー ヘルパーシグネチャテーブルを拡張して、未サポート組み込み関数と範囲外イミディエートパスから到達可能な全ヘルパーに対応させています。
@jkoritzinsky ・ GitHub ・ area-CodeGen-coreclr
SIMDテストを複数の個別プロジェクトから最適化/非最適化の統合ランナーアセンブリに統合。ソースglob経由でC#ソースを両ランナーに直接コンパイルし、テスト数を削減しつつ機能を保持。従来のコンパイル時TARGET_32BIT分岐をプラットフォーム条件付きVectorConvertテストに置き換えて、テスト構造を簡潔化。
@jkoritzinsky ・ GitHub ・ area-Infrastructure
CoreCLR PALTests Helix レグでAzure Pipelines テストレポーターを有効にし、ビルド分析機能を強化する変更です。EnableAzurePipelinesReporter MSBuildプロパティを設定して、テスト失敗の分析と可視化を改善します。
@jtschuster ・ GitHub ・ area-ReadyToRun
WASM オブジェクトライター実装の第2段階として、型安全な自己カウント機能を持つWASMセクション機構を導入します。共有機能をSectionDataEmitterに統合し、imports、functions、globals、exports、elements用の型付きベクトルセクションを追加。エントリの追加時に自動的にセクションのカウントを追跡し、手動でのカウンター管理を排除します。
@rosebyte ・ GitHub ・ area-Extensions-Hosting
Helix環境におけるシャットダウン機能テストの信頼性を向上させるため、プロセス起動とシャットダウン処理を強化します。主な改善点は、dotnetホストをPATHに依存せずアクティブなtesthost レイアウトから解決する、プロセス起動の再試行ロジック(3回、短い遅延)を追加する、未起動のProcessオブジェクト処理を堅牢化することです。
2026年08月16日 (2 PRs) この日のページ →
@isaacisland ・ GitHub ・ area-System.Net community-contribution
macOS の NetworkChange.StopRunLoop() において、run loop スレッドが既に終了している場合に null ポインタを dereference してクラッシュ(EXC_BAD_ACCESS)する問題を修正します。Release ビルドでは Debug.Assert が削除されるため、s_runLoop が null のまま CFRunLoopIsWaiting() に渡されていました。本修正では、s_runLoop が既に zero の場合に早期リターンすることで、クラッシュを防止します。
実績:この問題により約5週間で13,497件のクラッシュが報告されており、特に長時間稼働するデーモンで NetworkAddressChanged への購読/購読解除を繰り返す場合に発生していました。
続きを読む
@StephenMolloy ・ GitHub ・ area-System.Xml
XContainer の XML ロード処理における O(n²) パフォーマンス問題を修正しました。XmlReader が単一の論理的なテキスト値を複数の小さな連続したテキストノードとして返す場合(例:DataContractSerializer がストリーム上で読み込む場合)、AddStringSkipNotify による個別の不変文字列連結がボトルネックになっていました。連続するテキストノード(Text/SignificantWhitespace/Whitespace)を StringBuilder にバッファリングし、一度に処理することで線形時間に改善します。
続きを読む
2026年08月15日 (5 PRs) この日のページ →
@tannergooding ・ GitHub ・ area-VM-coreclr
Windows Arm64ランタイムにおいて、LSE(Large System Extensions)をオプション機能として扱い、基本CPU要件をArmv8-Aに戻します。これにより、LSEなしのNXP i.MX 8プロセッサを搭載したWindows 10 IoTデバイスでの実行をサポートしながら、ReadyToRunの基準はArmv8.2-A + RCPCのままとします。LSEなしのハードウェアではR2Rイメージが拒否され、JITにフォールバックします。
続きを読む
@agocke ・ GitHub ・ area-TypeSystem-coreclr
NativeAOT環境でGitHub_130545回帰テストがジェネリック制約メタデータの解決時にTypeLoadExceptionで失敗するため、NativeAOT上でのみテストをスキップします。CoreCLRおよびMonoでのテストカバレッジは維持され、基盤となるNativeAOT反射メタデータバグはIssue #132030で追跡継続します。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access)APIs が同じ Target を共有する場合、複数スレッドからの同時アクセスを防ぐため、per-Target の ApiLock を導入しました。COM エントリーポイント全体にMonitorベースのロック機構を実装し、スレッド間の再入性を防ぎます。この変更は内部実装(Legacy COM インターフェース層)に限定され、公開 API への直接的な影響はありません。
続きを読む
@davidwrighton ・ GitHub ・ area-ReadyToRun
WebAssembly上で16バイト境界にアラインされた構造体の値渡しをサポートするPull Requestです。JIT インターフェイスのアラインメント計算を統合し、遷移thunkでアラインメント要件を検出する仕組みを導入しました。新たなエンコーディング(A<size>)を追加して16バイトアラインメント構造体を区別し、crossgenおよびWasm R2Rテストで検証しています。
@Sergio0694 ・ GitHub ・ area-System.Runtime.InteropServices tenet-performance community-contribution
ComWrappers の RCW(Runtime Callable Wrapper)キャッシュをプロセッサ数に基づいて複数のバケットに分割し、単一の ReaderWriterLockSlim による競合を軽減する変更です。キャッシュエントリを WeakGCHandle<NativeObjectWrapper> に置き換え、型安全性と処理効率を向上させます。ネイティブ・マネージド間の遷移は非常にホットパスであり、特にファイナライザスレッドによる書き込みとアプリケーションスレッドによる読み込みの競合を解消することで、大幅なパフォーマンス向上が期待できます。
続きを読む
2026年08月14日 (38 PRs) うち Bot 2 件 この日のページ →
@agocke ・ GitHub ・ area-ReadyToRun
crossgen2/R2R のコンパイル時に、インターフェース仮想メソッドの署名解決に失敗する場合(例:参照アセンブリが見つからない場合)の耐性を向上させます。InheritedVirtualMethodsNode で TypeSystemException をキャッチし、解決失敗前に発見された依存関係を保持することで、影響を受けるコードがランタイム JIT へフォールバックできるようにします。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr runtime-async
JIT最適化 optRemoveRedundantZeroInits がランタイム非同期メソッドでGC報告可能なローカル変数のプロローグゼロ初期化をスキップしていた正確性バグを修正します。非同期メソッドの再開パスが初期化前のストアをスキップするため、GCが無効なスタック参照をスキャンしてランタイムクラッシュが発生していました。非同期メソッドでこの最適化を無効化し、回帰テストを追加します。
@MihaZupan ・ GitHub ・ area-System.Net.Http
Windows HttpListener の WebSocket 実装におけるロック逆転(lock inversion)による潜在的なデッドロックを修正しました。CloseAsyncCore メソッドで lock 取得順序を統一し、_thisLock を保持したまま SessionHandle lock が必要な操作を実行することを避けることで、他の処理との deadlock を防止します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT のバリューナンバリング(VN)機能で、MapSelect操作のキャッシュ一貫性を損なわせるバグを修正しました。予算枯渇時に再帰的評価の確認を適切な順序で行わず、異なるVNが同じキーに対してキャッシュされていました。修正により、再帰的な再入時にはRecursiveVNを返すようになります。
@sstronin ・ GitHub ・ linkable-framework community-contribution area-Tools-ILLink
ILlink ツールの配列次元の下限境界(LowerBound)の冗長性チェックに関するコピー&ペースト由来のバグを修正しました。Linux Verification Center の SVACE により検出されました。
@pavelsavara ・ GitHub ・ arch-wasm area-System.Numerics
WebAssembly環境(特にV8エンジン)でNaN値を正規化する動作に対応するため、BFloat16の明示的変換テストを修正しました。以前はWASM+Monoでテストをスキップしていましたが、CoreCLR+WASM環境での実行開始に伴い失敗するようになったため、WASM環境では正規化されたNaN値(sign | 0x7FC0)の受け入れを許容する方式に変更しました。これにより、全てのWASM実行環境でNaN検証を実施しつつ、他のプラットフォームではビット厳密な検証を維持します。
続きを読む
@Sieluna ・ GitHub ・ arch-wasm area-Build-mono community-contribution
Mono WebAssembly P/Invoke収集機能において、バージョン付きOSプラットフォーム属性(例:browser1.0)をバージョンなしのTargetOS(例:browser)と一致するものとして扱うように修正しました。これにより、net11.0-browserライブラリのSupportedOSPlatform("browser1.0")属性を持つ有効なP/Invokeが誤ってフィルタリングされる回帰を解決します。
続きを読む
@BrennanConroy ・ GitHub ・ area-System.Net.Http
HttpStressストレステストプロジェクトのNuGet復元ソース設定を更新し、nuget.orgから直接復元する代わりに、内部のdotnet-publicフィード(nuget.orgミラー)を使用するよう変更します。公開ギャラリーで利用できないパッケージ(System.CommandLineなど)についてはdotnet-librariesフィードを併用します。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Unix環境でのProcess.Start(UseShellExecute=true)のエラーメッセージを改善しました。従来はERROR_NO_ASSOCIATIONという不透明なWin32エラーコードをUnixで出力していたため、ローカライズされた説明的なリソース文字列に置き換えました。
@Copilot ・ GitHub ・ area-AssemblyLoader
CoreCLR binder の ApplicationContext::SetupBindingPaths メソッドから、常に TRUE で渡されていた冗長な fAcquireLock パラメータを削除しました。メソッドは無条件にアプリケーションコンテキストのクリティカルセクションを取得するように変更されました。
@ManickaP ・ GitHub ・ area-System.Net
QUIC ストリームの受信ループにおけるレースコンディションを修正します。HandleEventReceive と ReadAsync 間で _receiveTcs が二重にアンブロックされる問題を解決し、FINを受信していないのに ReadAsync が0バイト読み取りを返してしまい、不正なストリーム破棄につながるケースを防ぎます。
@jkoritzinsky ・ GitHub ・ area-Infrastructure
.NET Runtimeのビルド・テスト パイプラインを再構成し、スタンドアロンの "Installer Build and Test" ジョブを廃止してCoreCLR/Librariesプロデューサージョブに統合。これにより、ジョブ間のアーティファクト受け渡しを削除し、重複する作業を排除します。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
Jump-Thread-Based Optimization (RBO) によってブロックがリスレッドされた際、シャープン化された述語(predicate)が正しく機能しないバグを修正します。リスレッドされたエッジを通じて到達可能なブロックでも述語が有効であると誤認識され、不正な分岐削除が発生していました。特に isinst 結果の null チェック削除に伴う NullReferenceException を引き起こしていました。
続きを読む
@tannergooding ・ GitHub ・ area-System.Numerics
BigInteger.TryParsePartialでスキャンは成功するがNumberToBigIntegerでの変換に失敗する場合、charsConsumedがゼロ以外のまま残される不具合を修正しました。変換失敗時に消費文字数をリセットし、呼び出し元が失敗した部分解析後に入力を進めないようになります。
@rzikm ・ GitHub ・ area-System.Net.Security os-tvos
Apple-mobile CoreCLR(tvOS等)におけるSystem.Net.Security.Unit.Testsの起動時クラッシュを解決するPR。UpdateOptions_ServerCertificateContextProvided_DoesNotDisposeCallerContextテストがSslStreamCertificateContext.Createで汎用Dictionaryをインスタンス化し、ReadyToRun合成イメージからILが削除されるため、テスト検出前にアプリが落ちる問題に対応。全テストプロジェクトを無効化せず、問題のあるテストのみをモバイルビルドから除外する戦略を採用。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
ARM64 JITコードジェネレータで、即値エンコーディング時にGC/relocフラグを削除していない問題を修正します。instGen_Set_Reg_To_Imm関数が、リロケーション有効時にbyref定数をEA_BYREFのままヘルパー関数に渡し、アサーション失敗やmovz/movk命令生成時の不正な処理につながっていました。CrossGen2/NativeAOT等のAOTコンパイル時にのみ再現します。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Contract Data Access Components)使用グラフアナライザーを再利用可能なコンポーネントとしてパッケージ化し、CoreCLR固有の分析エントリーポイントを設定可能なUsageGraphAnalysisOptionsに置き換えます。プロジェクトパスと登録型の名前を外部から指定でき、デフォルト値を返す構造体登録にも対応させています。
@rzikm ・ GitHub ・ area-System.Net
#129846で追加されたDnsResolverの管理スタブリゾルバー実装を、Unix系プラットフォーム全体でテスト可能にするフォローアップです。System.Net.NameResolutionは共有の-unixターゲットフレームワークを使用しており、macOS、BSD、illumos、Haiku、iOS、tvOS、MacCatalyst、Androidは既にLinuxと同じ管理リゾルバーをコンパイルしています。本PR では、プラットフォーム固有のPAL実装不要なプラットフォーム上でテストを実行可能にし、[UnsupportedOSPlatform]属性を追加してサポート外プラットフォーム(Android、Browser、WASI)を適切にマークしました。
続きを読む
@ilonatommy ・ GitHub ・ arch-wasm area-Build-mono
WebAssembly TypeScript定義ファイルの廃止されたクリーンアップロジックを削除するメンテナンス変更です。.NET 11プレビュー時代の遺産コードを除去し、WASM ビルドターゲットの設定をアライメントします。
@akoeplinger ・ GitHub ・ area-Build-mono os-browser
WebAssembly pack tasksのAssetsComputingHelper.cs内で、ローカル変数fromMonoPackageをfromRuntimePackに名前変更しました。これはIsFromRuntimePackがMonoとCoreClrの両方のランタイムパックをチェックするようになったため、変数名をより正確に反映させるための改善です。
@Copilot ・ GitHub ・ area-GC-coreclr
GCランタイムのタイマー実装をminipalライブラリに統一することで、プラットフォーム固有のタイマー処理を一元化する変更です。GCToOSInterfaceのタイマーラッパーを削除し、GCの呼び出し側をminipal_lowres_ticks()、minipal_hires_ticks()、minipal_hires_tick_frequency()に置き換えます。
@fzlzjerry ・ GitHub ・ area-System.Net.Http community-contribution
HTTP/2 extended CONNECT機能でサーバーがサポートしていない場合のエラーメッセージを改善しました。エラーメッセージをより明確にして、サーバー側の問題であることを強調し、HTTP/1.1へのダウングレード手段についての既存のガイダンスは保持しています。
@iremyux ・ GitHub ・ area-System.Net.Http
HttpListenerRequestでHTTPヘッダー名の長さに制限を設定し、過度に長いヘッダー名を持つリクエストを拒否するセキュリティ改善。Issue #132128を修正します。
@pavelsavara ・ GitHub ・ arch-wasm area-Codegen-AOT-mono
Mono WASM のミニマル gsharedvt (llvmonly/WASM) 環境で、Nullable<T> をボックス化する際に発生していた "function signature mismatch" エラーを修正します。corelib が AOT コンパイルされ、消費側アセンブリがインタプリタ実行される場合に、per-T ボックスラッパーが不在となり、非ジェネリック IEnumerator.Current を通じた Nullable<T> のボックス化がトラップしていました。
新しい mono_helper_box_nullable icall を導入し、既存の mono_nullable_box ヘルパーをラップして、値をアドレス経由で渡し rgctx から具体的な Nullable<T> クラスを取得します。これにより per-T ボックスラッパーが不要になり、トラップを回避しつつメソッドの AOT コンパイル状態を保持できます。
続きを読む
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
型がRequiresUnreferencedCodeで直接アノテートされている場合、インターフェース実装時のジェネリック型引数に関するIL2026/IL2091警告を抑制します。一方、リンカーとNativeAOTのデータフロー解析は実行継続して、インターフェース実装に必要なメンバーは保持されます。これにより基本型の既存動作に合わせながら、警告抑制をインターフェース解析に限定します。
@StephenMolloy ・ GitHub ・ area-Serialization
XmlSerializerの属性処理パフォーマンスの回帰を修正しました。要素に属性がない場合の属性列挙を回避し、UnknownNode/UnknownAttributeイベントハンドラが登録されていない場合の不要な列挙を削減します。リフレクションベース、生成C#、RefEmitの各シリアライザー実装全体で一貫性を確保しました。
@mdh1418 ・ GitHub ・ area-Diagnostics-coreclr
DynamicOptimizationプロファイラーテストをGCStressIncompatibleとしてマークし、GCストレステスト実行時にスキップされるようにします。EventPipeセッションがGCストレス下で著しく遅延するため、このテストはGCストレス環境での実行に適さないことを明示します。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr Priority:1 runtime-async
JITコンパイラの非同期メソッドインライン機能を拡張し、await文を含むメソッドの一般的なインラインに対応します。新しいランタイムヘルパーメソッド、JIT↔EE API (getAwaitAwaiterInContinuationCall)、および包括的なテストとドキュメントが追加されました。この機能は現在検証段階で、.NET 11への統合を目指しており、デフォルトで無効化される可能性があります。
続きを読む
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr
optOptimizeCompareChainCondBlockが連続する2つの条件付きブロックをマージする際、エッジ尤度(edge likelihood)の計算が誤りを生じていた問題を修正しました。マージ後のブロックの出力エッジ尤度が元の制御フロー確率を正しく保持するようになります。
@nwoolls ・ GitHub ・ area-System.Threading community-contribution
SlidingWindowRateLimiterの失敗したリースがRetryAfterメタデータを常に返していなかった問題を修正します。これまで静的シングルトンのFailedLeaseがretryAfter: nullで構成されていたため、TryGetMetadata(RetryAfter)は常にfalseを返していました。本修正はFixedWindowRateLimiterで既に実装されている修正と同様のアプローチです。スライディングウィンドウでは、固定ウィンドウと異なり全体をリセットせず1セグメント単位で許可を解放するため、推定リトライ遅延は_requestsPerSegmentを次のセグメント以降走査して十分な許可が得られるまで計算します。
続きを読む
@iremyux ・ GitHub ・ area-System.Net.Http
マネージド HttpListener の Content-Length パース動作を Windows の動作に合わせるため、数値範囲外の値をゼロとして処理するのではなく、拒否するように変更しました。この修正により、オーバーフロー値の処理が Windows の実装と一致するようになります。
@ViveliDuCh ・ GitHub ・ area-Extensions-Options source-generator
[OptionsValidator] ソースジェネレータに非同期オプション検証のサポートを追加します。IAsyncValidateOptions<T> を実装するバリデータに対して ValidateAsync(string?, TOptions, CancellationToken) メソッドを生成します。同期的な Validate メソッドは常に保持され、両方の検証パスがサポートされます。新しい公開API は追加されず、ジェネレータの動作とラッパイアティクスのみが変更されます。
続きを読む
@Copilot ・ GitHub ・ area-System.Net
MailAddressのDisplayNameにCR/LFが含まれていた場合、SMTPのFrom:/To:ヘッダーが破損する脆弱性を修正しました。呼び出し側が指定したDisplayNameに含まれるCR/LFはFormatExceptionを投げて拒否し、アドレス文字列から解析されたDisplayNameのCR/LFはRFC 5322に従いアンフォールド(削除)します。
// 修正前:破損したSMTPヘッダーを生成していた
// new MailAddress("user@example.com", "Display Name\r\n");
// 修正後:FormatExceptionをスロー
new MailAddress("user@example.com", "Display Name\r\n"); // FormatException
続きを読む
@steveisok ・ GitHub ・ area-Infrastructure-coreclr
macOS CoreCLR CI レグに sccache コンパイル キャッシング を導入し、Linux/FreeBSD での実装パターン (#128065) をミラーリングするもの。8つの macOS CI ジョブ(CoreCLR_Libraries、Libraries_CheckedCoreCLR、NativeAOT など、arm64/x64)で native コード構築時にキャッシュを有効化。macOS 固有の -Xarch_* フラグと -include 引数の書き換えを処理する新しいラッパースクリプトを追加し、CMake コンパイラランチャー注入を共有化する。
続きを読む
@Copilot ・ GitHub ・ area-Serialization
XmlSerializerのリフレクションパスでの配列要素シリアライゼーションを最適化しました。従来は配列をIListとして扱うことでArray.GetValueを呼び出していましたが、明示的な配列パスを追加して直接列挙することで、ループ内のオーバーヘッドを削減します。シリアライゼーション出力の動作は変わりません。
Array? choiceArray = choiceSources as Array;
if (o is Array array)
{
IEnumerator e = array.GetEnumerator();
int c = 0;
while (e.MoveNext())
{
object ai = e.Current;
object? choiceSource = choiceArray?.GetValue(c++);
WriteElements(ai, choiceSource, elements, text, choice, true, true);
}
return;
}
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-coreclr
CoreCLR、Mono、Corehost全体のprintf形式関数に__attribute__ ((format (printf, ...)))属性を追加し、コンパイラによるフォーマット文字列の検証を有効化しました。この変更により85以上のフォーマット文字列エラーを修正し、セキュリティと互換性を向上させています。
2026年08月13日 (28 PRs) うち Bot 2 件 この日のページ →
@Copilot ・ GitHub ・ area-VM-coreclr
INumberBase<T>.TryParsePartial が、フォーマットプロバイダーのサイン記号が "+"/"-" 以外の場合(sv-SE、fi-FI、アラビア語/ヘブライ語ロケールなど約96の言語)に、先頭の空白を charsConsumed に含めずに報告していたバグを修正します。この問題により、呼び出し元が返された消費文字数で位置を進めると、既に読み込んだ数値の途中に巻き戻ります。
int.TryParsePartial(" 5", NumberStyles.Integer, new CultureInfo("sv-SE"), out int v, out int consumed);
// 修正前: v = 5, consumed = 1 (期待値: 2)
// 修正後: v = 5, consumed = 2
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
AspNetCore同期チェックアウト時にWindows環境でGitのパス長制限によるエラーが発生していた問題を解決するため、ワークフロー実行前にGitのlong-path設定を有効化する変更です。
- name: Enable Git long paths
shell: pwsh
run: git config --global core.longpaths true
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-ReadyToRun
WebAssembly interp-to-R2R thunkノードが呼び出し元の戻り値バッファを不適切にゼロパディングしていた問題を修正しました。pRet バッファがインタプリタ自身のリターンスロットではなく、呼び出し元のバッファやCallDescrData用バッファである場合、パディングがバッファサイズを超えて次のフレームスロットに書き込み、メモリ破損を引き起こしていました。12バイト構造体の場合、後続フレームの参照フィールドをゼロ上書きして NullReferenceException を発生させていました。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure linkable-framework
CoreLib内の extern修飾子の順序をIDE0036ルールに準拠するよう修正しました。safe extern/unsafe externからextern safe/extern unsafeに並べ替えることで、macOS ARM64ビルドの復旧を実現します。
@Copilot ・ GitHub ・ area-Diagnostics-cdac
RISC-V64スタックアンワインダーのスコープ計算をハーフワード単位で統一し、エピログスコープサイズ計算時に最終エピログ命令を考慮するよう修正しました。リターン命令でのアンワインディング時にスタック調整が誤って再適用されないことを検証するリグレッションテストを追加しています。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT インライニングのストレステストモード JitStressAsyncInlining を追加するもので、async メソッドの呼び出しを通常のサイズ・予算・採算性ヒューリスティクスを無視して積極的にインラインします。インライン深度と候補インデックスに応じて確率が減衰し、一つのメソッド内の多数の async 呼び出しが全てインラインされることを防ぎます。DEBUG ビルドのみの機能です。
@max-charlamb ・ GitHub ・ area-Tracing-coreclr
EventPipe診断IPC転送で、PAL_GetTransportNameの失敗を適切に伝播し、截断または空のUnixドメインソケットパスを拒否するように修正。Linux抽象名前空間で空のsun_pathバインドが許可される問題を防ぎます。
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
Unix環境でUseShellExecuteを使用する際、シェルオープナーが利用できない場合にWin32Exception(ERROR_NO_ASSOCIATION)をスローするように修正しました。これにより、後続の処理でnullポインタエラーが発生するのを防ぎます。
@Copilot ・ GitHub ・ area-System.IO.Compression
パスワード保護されたZIPアーカイブに空のファイルが含まれる場合、抽出に失敗する問題を修正しました。根本原因は、暗号化されたエントリがローカルファイルヘッダーを書き込む前に暗号化ストリームを終了していたため、暗号化メタデータ(ZipCrypto、AES)とローカルヘッダーの順序が逆になり、かつ中央ディレクトリとの記述内容が矛盾していたことです。修正では、空のエントリでも暗号化を考慮した通常のパスでローカルファイルヘッダーを先に書き込み、その後暗号化ストリームを終了するように変更しました(同期・非同期両対応)。
続きを読む
@Copilot ・ GitHub ・ area-System.Diagnostics.Process
環境変数名に含まれるヌル文字がWindowsの環境ブロックを破損させる問題を修正します。環境変数の変更時にヌル文字を含む名前を明示的に拒否し、ArgumentExceptionをスローするようになります。
@rzikm ・ GitHub ・ area-System.Net.Security
SslStreamのハンドシェイク処理において、新しい互換性スイッチを追加し、TlsSession経由の新しいパスをバイパスして従来のGenerateToken実装にフォールバックできるようにしました。このスイッチはデフォルトで無効(新しいパスを使用)であり、既存の動作は変わりません。
スイッチの制御方法:
AppContext: System.Net.Security.UseLegacySslStreamHandshake
環境変数: DOTNET_SYSTEM_NET_SECURITY_USELEGACYSSLSTREAMHANDSHAKE
続きを読む
@BrzVlad ・ GitHub ・ area-GC-coreclr
GC coverage(GCStress=4)はJITコンパイルされたコードのみをサポートするため、インタープリタ実行時に互換性がないテストにInterpreterIncompatibleメタデータを追加して、テスト実行時にスキップするようにしました。
@Copilot ・ GitHub ・ area-Infrastructure-libraries
NativeAOT テスト Runtime_101046 における FileNotFoundException を修正するPRです。C# 版と IL 版のプロジェクトが同じ名前を共有していたため出力ディレクトリが競合し、NativeAOT ビルド時に TestLibrary 参照がなくなり、ラッパー生成時に例外が発生していました。C# 版をリネーム(Runtime_101046_1)し、TestLibrary 依存の ActiveIssue ゲートをネイティブアセット用の CLRTestTargetUnsupported ゲートに置き換えることで解決します。
続きを読む
@dotnet-bot ・ GitHub ・ Servicing-approved area-System.Net
release/9.0ブランチ向けの内部コミットマージです。バージョン更新、EventPipe診断機能の改善、HttpListener/WebSocketのバグ修正が含まれています。特にWebSocketの圧縮機能(Deflate)に関する修正が主要な変更となっています。
@dotnet-bot ・ GitHub ・ Servicing-approved area-System.Net
release/8.0ブランチの内部コミットをマージするリリース準備PRです。バージョン情報の更新、HttpListener/WebSocketsライブラリのバグ修正、EventPipeのネイティブコード改善が含まれています。
@tannergooding ・ GitHub ・ area-CodeGen-coreclr
ExtractMostSignificantBits JITテストプロジェクトにおいて、jitstress_isas_nohwintrinsic ストレステスト実行時にハードウェアイントリンシクスを強制的に有効にするための設定を追加しました。このテストはARM64ハードウェアイントリンシク コード生成を検証するディスアセンブリアサーションを含んでいるため、グローバルレベルのハードウェアイントリンシクス無効化を回避する必要があります。
続きを読む
@mrek-msft ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/9.0-stagingブランチをrelease/9.0へマージするリリース管理用プルリクエストです。バージョン情報の更新、内部ツールの復元設定の調整、およびテストコードの修正が含まれています。
@mrek-msft ・ GitHub ・ NO-SQUASH Servicing-approved area-codeflow
release/8.0-stagingブランチをrelease/8.0ブランチにマージするリリース管理用のPull Requestです。バージョン情報、ツール設定、テストコードの更新が含まれています。
@mdh1418 ・ GitHub ・ area-PAL-coreclr
minipalヘッダーヘルパー関数の重複定義を排除するリファクタリング。パフォーマンス非重視の関数(minipal_getexepath、minipal_get_current_thread_id_no_cache、minipal_set_thread_name)を専用の.cファイルに移動し、out-of-line実装として提供。パフォーマンス重視の関数はinlineをヘッダーに保持しつつ、コンパイラが非インライン化する場合のため外部フォールバック定義を配置。
続きを読む
@jkotas ・ GitHub ・ area-Tools-ILVerification
ILVerifyのアセンブリバインディングキャッシュをケース非依存にして、ランタイムのアセンブリバインディング動作と一致させます。--system-module引数のケースの不一致により同じシステムモジュールが複数回ロードされる問題を修正しています。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
Runtime Async プロファイラー機能のテストカバレッジを拡充するPRです。新たに2つのマネージドテストプロジェクト(runtimeasyncapis、runtimeasynctypes)と対応するネイティブプロファイラー実装を追加し、以下の機能をカバーしています:
メタデータレス継続と配列の ClassLoad コールバック
GetClassIDInfo/GetClassIDInfo2/GetClassLayout の拒否動作
JIT コールバックと FunctionID/ネイティブIP の相互往来、IL-ネイティブマッピング
例外検索、アンワインド、キャッチャーのコールバック
GC 参照トラバーサル
Windows x64 および Linux x64 で検証済みです。
続きを読む
@LuckyXu-HF ・ GitHub ・ area-CodeGen-coreclr community-contribution arch-loongarch64
LoongArch64アーキテクチャにおいて、GCストレステスト(--gcstresslevel=4)実行時にコアランタイムテストがクラッシュする問題を修正しました。JIT エミッター内の命令範囲チェックと、エピログ処理における大型フレームのREG_FPBASEアンワインドデータ記録の不正確さを改正し、併せてネイティブAoT実装の時代遅れのコードとコメントを更新しました。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
Signature契約のドキュメンテーションから、ダウンストリームコンシューマーの説明を削除するドキュメント更新です。
@joshuajyue ・ GitHub ・ area-System.Security
Fedora/CentOS Streamなどの環境がSHA-1署名の検証を拒否するため、PKCS#7テストデータをSHA-1/RSA-1024からSHA-256/RSA-2048へ移行するPRです。これにより、29個のテストが[ConditionalFact(SupportsRsaSha1Signatures)]による条件付きスキップから解放され、全プラットフォームで実行可能になります。SHA-1検証の互換性テストは新たに2つの明示的なテストケースで担保されます。
続きを読む
@oroztocil ・ GitHub ・ area-Extensions-Options
Microsoft.Extensions.OptionsとMicrosoft.Extensions.Hostingの同期/非同期オプション検証を統一するPRです。IAsyncValidateOptions<TOptions>をIValidateOptions<TOptions>から派生させることで、両方の検証方式を単一のバリデータコレクションで管理します。スタートアップ検証はIStartupValidator(互換性ルート)とIAsyncStartupValidator(新規の非同期専用)で独立した経路を保持します。
続きを読む
@Copilot ・ GitHub ・ area-Interop-coreclr
[LibraryImport]および[GeneratedComInterface]でマーシャリング方向に対応しないComInterfaceOptionsが指定された場合、コンパイル時に診断エラーSYSLIB1051を発行するようにしました。従来は無言でランタイムエラーが発生していましたが、ビルド時に問題を検出できるようになります。
// 例: RCW(ComObjectWrapper)が必要ですが、ManagedObjectWrapperのみ指定
[LibraryImport("dxgi")]
public static partial void CreateDXGIFactory2(uint flags, in Guid riid, out IDXGIFactory6 ppFactory);
[GeneratedComInterface(Options = ComInterfaceOptions.ManagedObjectWrapper)]
[Guid("...")]
public partial interface IDXGIFactory6 { }
// エラー: SYSLIB1051 - ComObjectWrapperが指定されていません
続きを読む
2026年08月12日 (42 PRs) うち Bot 2 件 この日のページ →
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
PR #131835 と #130512 のマージ競合により生じたビルド破損を修正するもの。xarch命令テーブルで、名前変更された命令フラグ定数への残存する参照を標準化された INS_FLAGS_* 形式に更新しました。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
LoongArch64のエピログスコープサイジングの計算ロジックを修正し、cDAC スタックウォーキング時のアンワインド動作を改善します。エピログの最終命令を含めることで、実行がエピログ戻り命令にある場合を正確に検出でき、既に完了したスタック調整の重複適用を防ぎます。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITのインライン候補スキャン処理で、非同期呼び出し(async call)がcalleeのILに戻りブロックがないという理由だけで"no-return"としてマークされることを防止します。非同期呼び出しの場合、calleeの中断処理(suspension)により呼び出し元のasync中断・継続コードが実行されるため、不正なno-return伝播を回避します。
@max-charlamb ・ GitHub ・ area-NativeAOT-coreclr area-Diagnostics-cdac
.NET 11の凍結されたデータコントラクト仕様に対応するため、NativeAOT(ILC生成)の管理型サブディスクリプタで発行されるデータディスクリプタのバージョンを0から2に更新しました。cDAC初期化時にDataContractReaderが古いバージョンを拒否していた問題を解決します。
@dotnet-bot ・ GitHub ・ area-Infrastructure-libraries
OneLocBuildタスクによる自動生成PRです。ローカライズパイプラインから返却された翻訳ファイル(.lcl)に基づいて生成されたローカライズ済みリソースファイル(XLFファイル)をチェックインします。System.Runtime.InteropServices.genとSystem.Text.Json.genライブラリの多言語リソース文字列を更新します。
@ManickaP ・ GitHub ・ area-System.Net.Quic
Windows上のSystem.Net.Quicビルド・テストで使用されるMsQuic (Schannel)のNuGetパッケージバージョンを2.5.9から2.5.10にアップグレードします。
@ManickaP ・ GitHub ・ area-System.Net
WebSocket permessage-deflateの圧縮解除時にDEFLATE形式のBFINAL=1ブロックが原因で、マネージドWebSocket inflaterが入力の消費を停止して受信ループがハングする問題を修正します。また、WebSocket専用のファザーを追加し、ファジング基盤を拡張しています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
ARM64 unwind-code decoding における save_any opcode のデコーディングバグを修正しました。cDAC(Compact DAC)のスタックアンワインディング処理で、ビットフィールド抽出が誤ったバイト位置から行われていた問題を解決し、単体テストを追加しています。
@AndyAyersMS ・ GitHub ・ area-ReadyToRun
Crossgen2のJIT呼び出し解決時に、getCallInfoが呼び出し元のCORINFO_RESOLVED_TOKENトークンを内部的に変更してしまう問題を修正しました。これにより、SuperPMIが正しくないルックアップキーを記録していました。解決策として、getCallInfoの開始時にトークンをコピーし、そのコピーを内部処理全体で使用するようにしています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
ARM 32ビット向けのcDAC(Diagnostic Address Checker)のARMUnwinderにおけるアンワインド処理の不具合を修正しています。具体的には、コンパクトアンワインドのエピログ処理において、Ret==0の場合にPC(プログラムカウンタ)をポップするべき処理が正しく行われていなかった点を修正し、呼び出し元のコンテキストが適切に復元されるようにしました。
@mmitche ・ GitHub ・ area-Infrastructure
runtime Azure Pipelinesで Helix Job Monitor を無効化する変更です。CI パイプラインでのアップロード時間が過度に長くなっている問題への一時的な対応であり、根本的な解決策の検討までの間の暫定措置です。
@elinor-fung ・ GitHub ・ area-AssemblyLoader
AppDomain::LoadAssembly*メソッド内の過度に厳密なデバッグアサーションを削除するPRです。これらのアサーションは、部分的な読み込み(デッドロック制限による読み込みレベルなど)の正当なシナリオで発火し、既存のコメントおよび意図された動作と矛盾していました。既存の機能的なガード(ThrowIfError、EnsureLoadLevel、RequireLoadLevel)により、正確性は引き続き保証されます。
続きを読む
@Copilot ・ GitHub ・ area-Interop-coreclr
GcRestrictedCalloutReversePInvokeテストがGC/JITストレス実行時に失敗する問題に対応しました。ComWrappers.RegisterForTrackerSupportがストレス設定下でPlatformNotSupportedExceptionをスローするため、テスト実行を制限する条件を追加しました。
@davidwrighton ・ GitHub ・ area-ReadyToRun
WASM Ready-to-Run (R2R) 環境における仮想IP初期化のタイミング問題を修正しました。Eager fixups実行前に仮想IP範囲が登録されていなかったため、R2Rエントリポイントが仮想IPベースなしでマップされ、後続のスタックウォークルックアップが失敗していました。この修正により、仮想IP範囲をeager fixupsより前に登録し、複合コンポーネント間で最小仮想IPを共有し、使用前に初期化アサーションを追加します。
続きを読む
@agocke ・ GitHub ・ Servicing-approved area-NativeAOT-coreclr
Apple プラットフォーム上で NativeAOT がリンク時にアサート失敗する問題を修正するバックポートです。Mach-O オブジェクトライターにおいて、RELPTR32 リロケーションの大きなアディエンドが ld-prime の符号付き 20 ビット インラインエンコーディングの制限を超えた場合、セクション相対リロケーションアンカーシンボルを導入して対応します。各アンカーをサブトラクタベースとして選択することで、すべてのアディエンドがインライン範囲内に収まるようにします。
続きを読む
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
WebAssembly RyuJIT コンパイラにおいて、到達不可能な NYI_WASM(Not Yet Implemented for WebAssembly)エントリを削除し、コード構造を整理するPRです。genUpdateVarReg メソッドを codegencommon に移動し、HAS_FIXED_REGISTER_SET プリプロセッサ条件の整理を行っています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Components)のx86スタックアンワインダーにおける複数のバグを修正します。ESP フレームのプロローグでのレジスタ追跡順序、EBPフレームのポインタ計算、命令デコーディングロジックの不正確さを是正し、スタックアンワインド時のレジスタ/スタック再構成の精度を向上させます。
@adamperlin ・ GitHub ・ area-CodeGen-coreclr
PR #131369で導入されたWebAssembly イメージベースのローカル変数キャッシング機能を元に戻すもの。PR #132029でグローバルインデックスをそのサイズまで縮小した結果、global.get <imageBase>とlocal.get <cached image base>のコスト(どちらも2バイト)が同じになったため、キャッシング機能は不要になった。
@steveisok ・ GitHub ・ area-System.Threading.Tasks
async-profiler V1の「stitch boundary」コントラクトを強化するPRです。AsyncProfilerAsyncStateMachineBox<TStateMachine>.MoveNextAsDispatcherにMethodImplOptions.NoInlining属性を追加して物理スタックフレームの保持を保証し、テストを拡張して命名要件と非インライン要件の両方を検証します。また、スタックベースのアサーション失敗時の診断情報を改善しています。
続きを読む
@jozkee ・ GitHub ・ area-System.IO
Windows SafeFileHandle.CanSeek の判定をキャッシュされた SafeFileHandle.Type 値に依存せず、GetFileType() の生の結果から直接判定するように変更します。シンボリックリンク上で開かれたハンドルの場合、Type へのアクセス順序による動作の不安定性を排除することが目的です。
@akoeplinger ・ GitHub ・ area-Infrastructure
Azure DevOps テストパイプライン全体で Helix Job Monitor パターンを有効化し、Helix 提出タスクの同期待機を解消する変更。各パイプラインに monitor ジョブを追加し、useHelixMonitor パラメータを使用して out-of-band モニタリングを opt-in する。共有テンプレートの互換性を保つため、デフォルトでは enableHelixJobMonitor: false に設定。
続きを読む
@iremyux ・ GitHub ・ area-System.Net
CommandStreamのFTP制御チャネル応答バッファに上限を設定し、サーバーからの過度に長い応答に対して早期に失敗するようにします。MaxResponseLength(4KB)の制限を導入し、超過時にWebExceptionStatus.ServerProtocolViolationをスロー することで、無制限のバッファリングを防止します。
@BrzVlad ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタのデリゲート呼び出し時に、shuffle thunks経由で渡されたアドレスがNonVirtualEntry2MethodDescでアサーション失敗を起こす問題を修正しました。StubLinker生成のwrapperスタブとshuffle thunksをJITコードマネージャーで追跡できるようになったため、これらのスタブ種類を認識して適切にnullを返すようにしました。
@Copilot ・ GitHub ・ area-System.IO
Unixファイルディスクリプタのアサーションが可変的なソフト開きファイル制限(RLIMIT_NOFILE)を有効性チェックの上限として使用していた問題を修正します。非負値チェックのみを保持し、ソフトリミット変更後のハンドル操作を正しく処理できるようにしました。
@maximmenshikov ・ GitHub ・ community-contribution area-NativeAOT-coreclr arch-riscv
RISC-V 64ビット環境で RhpInterfaceDispatch のスタブコード内における tail 疑似命令の使用を修正しました。tail 疑似命令の展開時に t1 レジスタが上書きされていたため、ディスパッチセルアドレスが破壊されていた問題を解決しています。t2 レジスタを経由した手動のテイルジャンプに変更することで、RhpInterfaceDispatchSlow の実装と一貫性を保っています。
続きを読む
@kkokosa ・ GitHub ・ area-ReadyToRun
GCリグレッション テスト Runtime_129681 が CrossGen2 での R2R コンパイル時に失敗する問題を修正します。このテストは 64 MiB の GC ヒープ ハード リミットを設定していますが、CrossGen2 は 6 GiB のリージョン予約が必要となるため競合が発生します。CrossGen2 のopt-out により、R2R CI ジョブではリグレッション テストを実行し続けながらコンパイル時の失敗を回避します。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure
HTTP/1.1パーサーが厳密なCRLF準拠を行うようになったため、チャンク応答フレーミングテストを更新しました。テストが生成していた不正なLF区切り文字をCRLFに統一し、RFC準拠のパーサー動作に対応させます。チャンクサイズと読み込みパスのカバレッジは維持されます。
@ilonatommy ・ GitHub ・ arch-wasm area-Build-mono
WebAssembly SDK の TypeScript 型定義ファイル(dotnet.d.ts)の配置先を変更し、IDE の型解決を改善するもの。従来は wwwroot 直下に配置されていたため IDE が自動解決できなかったが、ランタイムアセット(dotnet.js)と同じ wwwroot/_framework ディレクトリに配置することで、IDE が即座に型定義を認識できるようになります。
@jozkee ・ GitHub ・ area-Meta
GB18030準拠テストをスタンドアロンのCompliance.Testsプロジェクトから、テスト対象機能の専用テストプロジェクトへ移動しました。これにより、NativeAOT Mobile設定でGB18030正規表現テストがRoslyn依存関係をコンパイランス専用アプリケーションに持ち込むことを防ぎ、各機能のテストプロジェクトの既存プラットフォーム設定を継承できるようになります。
@jkoritzinsky ・ GitHub ・ area-CodeGen-coreclr
Directed JIT テストの merged runners を最新化するリファクタリング。広範な glob パターンで分割されていた Directed_1、Directed_2、Directed_3 を、コンパイル設定に基づいた 5 つの明示的な build 変種(Directed_1、Directed_d、Directed_do、Directed_r、Directed_ro)に統合。プロセス分離が不要な C# ソースを runner に直接マージし、プロセス分離やメタデータが必要なプロジェクトは保持。テスト構成の透明性向上とインクリメンタルマージの効率化が目的。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security
Windows上のSslStreamにおいて、ClientCertificateContextを通じて提供されたクライアント証明書の認証情報が、意図せず匿名認証情報キャッシュに格納される脆弱性を修正しました。匿名認証情報の取得中にClientCertificateContextを一時的に切り離し、取得完了後に復元することで、後続の接続が誤ったキャッシュ認証情報を再利用するのを防ぎます。
@kkokosa ・ GitHub ・ area-GC-coreclr
PR #126108で削除されたGCテストのプロセス分離機能を復元します。Collect、Collect0、Collect1テストは世代別アサーション検証のため、プロセス全体のGC状態が他のテストの影響を受けない分離状態を必要としています。ピン留めハンドルの累積によるテスト失敗(#131721、#131893)を解決するため、アウトプロセス実行に戻します。
@vitek-karas ・ GitHub ・ area-skills
GitHub Actions agentic workflowsが、安全な出力を投稿する際にHTML コメントが削除されることに対応したマーカー方式の変更です。従来のHTML コメント(<!-- ... -->)ベースの識別子を、safe-outputs.data構造化データまたは安定した表示用Markdownフィールドに置き換えました。これにより、複数回実行されるワークフロー間での信頼性の高い識別と重複排除が可能になります。
続きを読む
@Ruihan-Yin ・ GitHub ・ area-CodeGen-coreclr Priority:1 community-contribution
xarch(x86/x64)エミッタの命令フラグ定数を INS_FLAGS_* の統一命名規則に標準化するネーミングクリーンアップです。Issue #128266 の解決に向けた短期的な改善であり、より抜本的な insFlags の enum クラス化は .NET 12 での大規模リファクタリングに延期されています。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
ZIPファイルの中央ディレクトリヘッダ解析時の検証を強化し、不正な形式のメタデータから保護します。シーク可能なストリームで、ファイル名/拡張情報/コメントの可変長データが残り容量を超える場合に早期終了することで、不要なメモリ確保を防ぎます。
@lewing ・ GitHub ・ arch-wasm area-crossgen2-coreclr
WebAssemblyでInt128/UInt128、Decimal128、Vector256<T>、Vector512<T>を値渡しで正しく扱うため、署名エンコーディングを変更しました。これらの型をwasm C ABIの規約に従い複数のwasmパラメータで渡すようにします。従来のS<N>エンコーディングは曖昧で(Int128とGuidが同じS16になる)、クラウドコンパイラでの誤コンパイルを引き起こしていました。
新しいエンコーディング規格:
l2 = Int128/UInt128/Decimal128(16バイト)
V2 = Vector256<T>(32バイト)
V4 = Vector512<T>(64バイト)
続きを読む
@wfurt ・ GitHub ・ area-System.Net.Security
TlsContextとTlsSessionのドキュメント整備とAPI整形を行う小規模なクリーンアップPR。TlsContextのライフタイム契約を明確にし、TlsSession.AttachSocketのアクセシビリティをinternalからprivate protectedに厳格化。公開APIの変更なし、動作変更なし(Debug.Assert追加のみ)。
@davidnguyen-tech ・ GitHub ・ Servicing-approved area-Infrastructure
.NET 8 servicing ブランチの iOS NativeAOT ビルドにおいて、テストプロジェクトが IgnoreForCI で無効化されたことに伴い、空の Helix 送信ステップが MSB4184 エラーで失敗していた問題を修正します。iOS NativeAOT ビルド自体は継続し、Helix 送信ステップのみを条件付きでスキップするようにします。tvOS には影響なし。
@am11 ・ GitHub ・ area-System.Net.Http community-contribution
Unix プラットフォーム対応の統合化を進め、System.Net.Http ライブラリにおけるプラットフォーム固有の条件付きコンパイルを整理するもの。複数の Unix フレーバー(Linux、macOS、FreeBSD など)向けの実装を統合し、コード重複を削減する変更。
@pkuyo ・ GitHub ・ area-Tools-ILVerification community-contribution
ILVerifyにおいて、無効な基底型宣言の検証を追加しました。ILAsmがextends objectなどの無効な基底型を受け入れている場合でも、ランタイムがそのアセンブリを読み込めない問題に対応しています。このPRにより、InvalidBaseTypeエラーで無効な基底型宣言を検出するようになります。
2026年08月11日 (23 PRs) うち Bot 4 件 この日のページ →
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly対象のJITコンパイラにおいて、ローカル変数へのストア操作でフレームオフセットをメモリアドレスに統合する最適化を実装しました。レジスタ割り当て不可のローカル変数へのストアをSTOREIND命令に書き直す際に、オフセットをメモリアドレスに組み込むことで、フレームポインタのみをコード化し、ストア命令がオフセットを追加するようにしています。
この最適化により、SPC R2Rコード領域が15,820,359バイトから14,953,402バイトに削減されています(-5.48%)。
続きを読む
@elinor-fung ・ GitHub ・ area-AssemblyLoader
PEAssemblyクラスのコンストラクタとAPIを簡潔にして、クラスの2つの使用モード(AssemblyBinderで束縛される場合とreflection emitの動的な場合)を明確に区別します。冗長なPEAssembly::Openオーバーロードと関連するコンストラクタパラメータを削除し、コンストラクタに前提条件アサートを追加して、束縛モードか動的モードかを明確化します。
@rcj1 ・ GitHub ・ area-VM-coreclr
CoreCLRのCodeVersionManager::EnumerateClosedMethodDescsメソッドにおけるNOTHROW契約違反を修正します。潜在的に例外をスローするMethodDesc::GetAsyncVariantNoCreate呼び出しを例外ハンドリングでラップし、例外がメソッドから逃げることを防ぎます。
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
Issue #117122で報告されたクラッシュ(VisitImplicitIndexerReference内のDebug.Assert失敗)の回帰テストを追加します。このクラッシュは、Index演算子(^)でアクセスされるSpan<T>要素を含むタプルスワップのデコンストラクション代入を分析する際にILLink Roslyn Analyzerで発生していました。
Span<int> span = stackalloc int[4];
(span[^1], span[^2]) = (span[^2], span[^1]);
続きを読む
@mmitche ・ GitHub ・ area-Infrastructure
Helix Job Monitorの有効化スコープを制限するための設定変更です。共有パイプライン変数のデフォルト値をfalseに変更し、runtimeパイプラインでのみ明示的に有効化することで、他のスタンドアロンパイプラインへの予期しない影響を防ぎます。
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT のスレッド停止機構における GC 停止ペンディング状態の更新漏れを修正しました。スレッド停止時に RhpTrapThreads を設定する際、GC 停止ペンディング状態を更新していなかったため、バックグラウンド GC の allow_fgc() がフォアグラウンド GC のスレッド停止中に処理を譲らず、BGC スレッドが数十~数百ミリ秒間スピンロックし続ける問題を解決します。
@Copilot ・ GitHub ・ area-System.IO
Windows上で書き込み専用の名前付きパイプ(PIPE_ACCESS_OUTBOUND)に対してFileStream.CanSeekが正しく動作するよう修正しました。SafeFileHandle.CanSeekのキャッシング方式を統一し、ファイル型検査で安全にプローブできないハンドルに対しても確実にFileStreamを構築できるようにします。
@rzikm ・ GitHub ・ area-System.Net
Windows Server 2025環境でのDNS解決テストの不安定性に対応しました。DnsResolverTest.ResolveAddresses_NonExistent_ReturnsNxDomainテストは、Windows Server 2025のCI環境で予期されたNxDomainの代わりにServerFailureを返すため、当該プラットフォームでのみスキップされるようになります。他のWindows バージョンでは継続して実行されます。
続きを読む
@adamperlin ・ GitHub ・ area-ReadyToRun
WasmObjectWriterにおけるコードセクションの再ロケーション最適化実装。JITが生成するWasmコード内の全再ロケーションは現在、最大32ビットULEB長である5バイトにパディングされていますが、実際の値はより短い場合が多くあります。このPRではコードセクション内の再ロケーションを最小長に書き換える手続きを実装し、対応するLEB長を更新します。非コードセクションの動作は変わりません。結果としてSystem.Private.CoreLibで約5%のサイズ削減 を実現します。
続きを読む
@jozkee ・ GitHub ・ area-System.IO
複数のStream実装(ReadOnlySequenceStream、StringStream、メモリ向けStream)を意図的に非シーク可能な設計に統一し、セキュリティと性能を改善するPRです。後方移動は記述の再実行やセグメント走査が必要になり、悪意あるセグメンテーションやO(N)の最悪ケース動作につながるため、これらのStreamはシーク不可とします。
@akoeplinger ・ GitHub ・ area-NativeAOT-coreclr
NativeAOT集約実行可能ファイルのdSYMメタデータ公開パス処理を修正。複数の拡張dSYMエントリが同じ公開パスに割り当てられ、PE以外のファイルが.dll拡張子を持つことになる問題を解決。集約実行可能ファイルテストを拡張し、macOSでdSYMバンドルを生成して正しいパス構造を検証。
@Copilot ・ GitHub ・ area-Extensions-HttpClientFactory
HTTP ロギング時のヘッダー値の検証・解析を回避する変更。HttpHeadersLogValue が HttpHeaders.NonValidated を使用するように変更され、TryAddWithoutValidation() で追加されたヘッダーがログ出力時に再シリアライズされる問題を解決します。
// 修正前: ログ出力時にヘッダーが再シリアライズされていた
request.Headers.TryAddWithoutValidation("Accept", "application/vnd.example+json;version=1");
// sent as: Accept: application/vnd.example+json; version=1 (値が改変)
// 修正後: NonValidated を使用してヘッダーが改変されない
続きを読む
@lateralusX ・ GitHub ・ area-System.Threading
minipal_get_current_thread_id()で使用されるスレッドID TLSキャッシュの重複を排除しました。関数がinternal linkageを持つため、以前は翻訳単位ごとに異なる8バイトのTLSスロットが生成されていました。in-process crash reporterの有効化により、Linux ARM64のglibc静的TLS割り当てを超過し、_dl_tlsdesc_dynamicによる動的解決のオーバーヘッドが発生していました。この変更により、単一の共有TLS変数を使用することでTLSフットプリントを削減し、ランタイムパフォーマンスを改善します。
続きを読む
@vcsjones ・ GitHub ・ area-System.Security
Unix上のSystem.Security.Cryptography.Nativeから未使用のOpenSSL相互運用メソッドとP/Invoke宣言を削除し、ネイティブサーフェスエリアとデッドコードを削減するクリーンアップです。削除対象はCryptoNative_X509Duplicate、CryptoNative_SetCiphers、CryptoNative_BioCtrlPending、CryptoNative_BigNumFromBinaryおよびそれらの対応する管理側のインターオップ宣言です。
続きを読む
@BrzVlad ・ GitHub ・ linkable-framework area-Extensions-Hosting
iOS等のトリミング有効なワークロードでMoqを使用したHostTestsを実行可能にするPR。Moqが反射APIを多用するため、リンカー記述子を拡張して必要な型をトリミング時に保持し、プラットフォーム固有のスキップを削除しました。
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
DynamicallyAccessedMembers アナライザーが、参照プロジェクト内のシンボルに対して診断を報告する際に、Roslyn検証エラー(AD0001)でクラッシュする問題を修正します。根本原因は、別のコンパイレーション内の宣言に指すコード修正ロケーションを AdditionalLocations に追加していたことです。修正は Compilation.ContainsSyntaxTree() で検証を厳密化し、分析対象外のロケーション添付を防ぎます。
続きを読む
@mdh1418 ・ GitHub ・ area-Diagnostics-coreclr
InProc CrashReporterがGCスレッドのクラッシュ時にマネージドスレッドの列挙を可能にする変更です。サスペンション所有権を追跡することで、クラッシングスレッドが既存のサスペンションを再利用したり、独自のサスペンションを確立・再開したりできるようになります。これにより、特定のGCシナリオでスタックウォーキングの精度が向上します。
@steveisok ・ GitHub ・ area-GC-coreclr
AndroidのJava GC bridge処理において、クライアントが既に前回の結果を処理中の場合、不要なクロスリファレンス計算をスキップする最適化を実装しました。新しいインターフェースメソッドIGCToCLR::IsClientBridgeProcessingActive()を追加し、GCがクライアント処理状態をチェックしてから計算を開始するようになります。これにより、特にAndroidのUI Thread ブロッキングに由来するドロップフレーム問題を軽減します。
続きを読む
@Copilot ・ GitHub ・ arch-wasm area-System.IO.Compression os-browser
browser-wasm プラットフォームで ZipArchive 使用時に不要な System.Security.Cryptography の参照を排除し、トリミングされたアプリケーションサイズを削減します。WinZip AES(browser で未サポート)をブラウザ固有のスタブに置き換え、ZipCrypto は暗号化ライブラリ依存なしに対応させます。
2026年08月10日 (34 PRs) うち Bot 14 件 この日のページ →
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
browser-wasm CoreCLR checked-legにおいて、Environment.Exit()呼び出し時にEmscriptenのExitStatus例外がCLRインタプリタフレーム経由でアンワインドされ、不正な終了コードとなるバグを修正します。Node環境で_proc_exitをインターセプトし、ランタイム非keepalive時にprocess.exit(code)で直接終了させることで、CLRフレームのアンワイン中に発生するstrerror呼び出しを回避します。
続きを読む
@vitek-karas ・ GitHub ・ area-skills
CI評価実行でGitHub MCPサーバーを有効化し、/ci-scan evalなどの評価がGitHubの問題検索を実行できるようにします。これにより重複するKnown Build Error (KBE)の検索がより堅牢になります。信頼されたVally評価仕様にGitHub MCPサーバーを接続し、ワークフロージョブのread-scopedトークンで認証します。
@premun ・ GitHub ・ area-codeflow
Helix Job Monitor パッケージのバージョンアップデート。dotnet-tools.json と Version.Details ファイルが更新されています。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
CoreCLR JITのасync解析において、フィルタハンドラーの例外フロー前処理を正しく考慮していなかった問題を修正します。データフロー解析でBlockPredsWithEHを使用することで、例外フローを忠実にモデル化し、default-value解析とpreserved-value解析の正確性を向上させます。
@rzikm ・ GitHub ・ area-System.Formats.Tar
PaxTarEntry コンストラクタのパフォーマンスを改善するため、PAX拡張属性の検証・挿入時に既知の属性値をキャプチャし、標準ヘッダフィールド適用時の繰り返される辞書ルックアップを削減します。検証、重複キー処理、パース例外順序、GNU sparse動作は保持されます。
@ManickaP ・ GitHub ・ area-System.Net.Quic
System.Net.Quic の機能テストにおけるタイミング問題を修正し、間欠的なテスト失敗(ストリーム容量・キャンセレーション・コネクション受け入れ動作に関連)の調査に役立つ診断ログを追加します。
@vitek-karas ・ GitHub ・ area-skills
dotnet/runtimeリポジトリのagentic GitHub Actions workflows を gh-aw v0.82.6 から v0.85.4 へアップグレードします。6つのワークフローのロックファイルと共有アクションピンを再生成し、safe-output data ペイロードの使用を有効化します。また、v0.85.4でサポートされるエンジンに合わせて信頼できるエージェント構成パスを更新します。
続きを読む
@iremyux ・ GitHub ・ area-System.Formats.Tar
#129282で削除されたスタック割り当てベースのspan駆動の同期書き込みパスを復元します。非同期のアダプタベース実装は変更されていません。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly JITでbase + constantアドレス指定モードを認識し、LEA命令を間接参照に含めることで、定数がmemargオフセットとして折り畳まれ、別のi32.const; i32.addシーケンスを回避するようにしました。
折り畳みはGC型ベースで非負かつ再配置不可能なオフセットに限定されており、加算がオーバーフローできないことを証明しています。SIMD12間接参照と書き込みバリア格納は全アドレスが必要なため除外されています。
SPC R2Rコード領域で-1.96%(16,139,362 → 15,823,756バイト) のサイズ削減を実現しました。
続きを読む
@dhartglassMSFT ・ GitHub ・ area-CodeGen-coreclr Priority:1
ARM64の下位レイヤ処理中にrotate命令のamountが範囲外の値でアサート発生する問題を修正しました。JIT内で回転カウント(ROR、ROL)に対して明示的なマスキング(AND op (CNS_INT 63)など)を追加し、シフト処理と同様に下位レイヤ処理時にマスクを削除するようにしました。さらにインポーターの呼び出しで非定数の回転カウントをノードで許可し、一部でRORの呼び出しを生成できるようになりました。
続きを読む
@jozkee ・ GitHub ・ area-System.IO
StringStream.Readでエンコーダがバイトを生成せずに文字を消費した場合に、誤ってEOF(ファイル終端)と判断される問題を修正しました。UTF-8とエンコーダ置換フォールバックの組み合わせで、無効なUTF-16文字が消費されてもバイト出力がゼロになる場合があり、その後の有効な文字がバイトを生成する可能性があってもストリーム読み込みが0を返していました。修正により、バイトが生成されるか、エンコーダが進捗を失うまで変換を継続します。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json の Union 型デシリアライザーのソース生成で、union payloadをマッチングする際に Value プロパティパターンを常に使用するよう修正しました。これにより、再帰的な union や self-referential な場合において、union インスタンス自体ではなくそのペイロードを正しくバインドできるようになります。修正前は暗黙的な変換の場合に沈黙するバグがあり、間違ったJSON出力またはスタックオーバーフローを招いていました。
// 修正後の生成コード例
{ Value: T caseValue } => (typeof(T), (object?)caseValue)
続きを読む
@noahfalk ・ GitHub ・ area-Diagnostics-cdac
.NET 11 RC準備として、データコントラクトのバージョンを凍結し、診断ツール互換性を確保します。物理データディスクリプタのヘッダーバージョンを2に引き上げ、cDACは以前のバージョンを厳密に拒否するようになります。これにより、開発・プレビュービルド中の意図しない互換性破壊を防止します。
@EgorBo ・ GitHub ・ area-Extensions-Caching
MemoryCache でキャッシュラインの誤共有を低減する最適化。CoherentState._cacheSize が頻繁に更新されるカウンタで、その直後の _stringEntries/_nonStringEntries は TryGetValue で頻繁に読み込まれています。これらが同一キャッシュラインに配置されることで誤共有が発生していました。_cacheSize を専用のキャッシュラインに移動することで、マルチスレッド環境でのパフォーマンスを改善します。
続きを読む
@xoofx ・ GitHub ・ area-Host community-contribution
Environment.GetCommandLineArgs()[0] がネイティブホストの呼び出し名(argv[0])を報告するように修正しました。従来は管理対象アセンブリパスまたはシングルファイル結合パスを報告していましたが、本変更により、シンボリックリンク経由で起動されたapphostの場合も元の呼び出しパスが保持されます。新しいホストランタイムプロパティ HOST_INVOCATION_NAME を導入し、hostpolicyからCoreClrに流します。
// 例:シンボリックリンク経由での実行
// ../bar/special_foo.exe 1 2 3
// 結果: GetCommandLineArgs()[0] = "../bar/special_foo.exe"
続きを読む
@pavelsavara ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssemblyランタイムのJIT_PollGCヘルパーを実装しました。これまでPORTABILITY_ASSERTスタブだったため、CoreLibをR2Rコンパイルした際のクラスコンストラクタのGC polls処理で実行時エラーが発生していました。本変更は他のアーキテクチャと同様に、GC-safe poll points(ループバックエッジ、呼び出しサイト)でのスレッド安全なGC遷移を実現します。
続きを読む
@eduardo-vp ・ GitHub ・ area-System.Threading os-android
Android上でのCPUコア数検出ロジックを修正しました。/sys/devices/system/cpu/presentファイルをカンマ区切りのCPUリスト形式(単一インデックスと範囲を含む)として解析するように改善し、Monoの既存ロジックをCoreCLRとNative AOTにも拡張します。従来は連続した0~(n-1)の範囲のみを想定していましたが、非連続な範囲にも対応しました。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
Windows環境におけるZip抽出時のケースセンシティブ関連の問題を修正しました。Zip抽出処理での検証ロジックを改善し、ケースセンシティブな環境でのファイルパス処理をより適切に保護します。
@tannergooding ・ GitHub ・ arch-arm64 arch-x86 area-CodeGen-coreclr Priority:2
System.Half の算術演算と型変換を FP16 ハードウェア命令で高速化する JIT 最適化を実装します。ABI 互換性を維持したまま(Half は ABI 境界で ushort として扱う)、x64(AVX10.1/F16C)と Arm64(FEAT_FP16 + ベースライン FCVT 変換)で scalar FP16 命令を有効にします。新規公開 API や ABI 変更はなく、NI_Fp16_* / NI_ArmBase_Convert* は JIT 内部専用です。
続きを読む
@akoeplinger ・ GitHub ・ Servicing-approved area-codeflow
EmsdkPackageVersionをハードコードされた固定値から依存関係フロー管理のMicrosoftNETCoreAppRefPackageVersionを基に動的に導出するよう変更します。これにより、emsdk パッケージバージョンをruntime のバージョン管理と同期させます。
2026年08月09日 (2 PRs) この日のページ →
@EgorBo ・ GitHub ・ area-NativeAOT-coreclr
MemoryMarshal.GetArrayDataReferenceの実装をCoreClRとNativeAOT間で共有するため、プラットフォーム固有の実装ファイルから共通実装ファイルへ移行しました。Monoは異なるアレイレイアウトを使用するため対象外となっています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC クロスプラットフォームダンプ生成の Helix Job Monitor を無効化し、同期的な動作を復元するもの。PR #129690 で Helix Job Monitor がグローバルに有効化されたことにより、SendHelixJob が即座に復帰するようになり、cDAC ダンプ生成フローに必要な DownloadFilesFromResults が実行されない問題に対応する。
2026年08月08日 (9 PRs) うち Bot 1 件 この日のページ →
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(NativeAOT ライブラリ)はUnix環境で安全にアンロードできないため、FreeLibraryの呼び出しを#ifndef HOST_UNIXガードで保護し、Unixプラットフォームでのアンロード試行を明示的に防止します。これは#131960 の変更と連携し、実際のアンロードを防ぐ意図を明確にするものです。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Component)のx86 GCInfo デコーダーにおけるスタックウォーキングのバグを修正しました。マネージド実装がネイティブのgc_unwind_x86.inlの動作に合わせるよう、EBP フレーム内の最外層ベースフレームポインタ計算時に、callee-saved レジスタのスピル領域を含めた完全なスタックフレームサイズを使用するようになりました。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT回帰テスト Runtime_131713 を XmlSerializer の依存性を排除するように書き直したもの。XML シリアライザーの代わりに、列挙子/ボックス化パターンを直接運用する専用の再現ループを実装することで、トリミング/NativeAOT環境下での問題を回避しながら、元のバグをキャッチできることを検証しています。
@rcj1 ・ GitHub ・ area-NativeAOT-coreclr
Native AOT共有ライブラリがアンロードされるのを防ぐため、Unix PALにRTLD_NODELETEフラグを使用したモジュール固定機能を実装しました。macOSではランタイム初期化時にdlopenで追加参照を取得し、Linux ELFプラットフォームではリンカオプション-z,nodeleteを使用してアンロード不可にします。また、NativeAOT SharedLibraryスモークテストをUnixでdlclose呼び出しを行うよう更新し、アンロード試行シナリオを実際に検証するようにしました。
続きを読む
@elinor-fung ・ GitHub ・ area-AssemblyLoader
CoreCLRのアセンブリバインディングで曖昧だった「fallback binder」の概念を廃止し、動的アセンブリ(ref-emit)とAssemblySpecのバインダー所有関係を明確化するリファクタリング。バインダーの意図を「初期バインダー」(GetInitialBinder())と「実際にバインドされたバインダー」(GetBinder())に区別しました。
@svick ・ GitHub ・ area-Extensions-FileSystem
PollingFileChangeTokenがファイルの上書き検出時にタイムスタンプの変更に依存するため、高速なテスト書き込みで前回のタイムスタンプが保持され変更が検出されない問題を修正します。アクティブポーリング使用時に、上書き前に区別可能なタイムスタンプまで待機し、各上書きでタイムスタンプが確実に変更されることを保証します。
@am11 ・ GitHub ・ area-Infrastructure os-SunOS community-contribution os-haiku
Haiku と illumos/SunOS x64 プラットフォームでのビルド失敗を修正するプラットフォーム固有の調整を実施しました。主な変更は、アトミック操作の使用方法、ヘッダー/フィーチャーガード、およびクラッシュレポート機能の検出に関するものです。
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ILLink Roslyn Analyzerのデータフロー分析にIDeconstructionAssignmentOperationのサポートを追加します。これにより、分解代入(deconstruction assignments)を通じて流れる値に対してRequiresUnreferencedCodeおよびDynamicallyAccessedMembersの診断が正しく適用されるようになります。修正前は、分解代入やforeachループ内の分解を含むデータフロー経路が暗黙的にスキップされていました。
続きを読む
2026年08月07日 (30 PRs) うち Bot 2 件 この日のページ →
@sbomer ・ GitHub ・ area-Infrastructure linkable-framework
ILLink/ILC/ILLinkアナライザー/ILTrimに関連する共有トリミングテストの変更に対して、GitHub Copilotガイダンスを提供するためのパス範囲指定インストラクションファイルを追加しました。このPRは、トリミング関連の変更がILLink、ILC、ILLinkアナライザー、ILTrimの4つのコンポーネントに対応していることを確認するよう貢献者をガイドします。
@mmitche ・ GitHub ・ area-Infrastructure
Azure DevOps runtime パイプラインにおいて、パス フィルタリングにより Helix ジョブが送信されなかった場合でも、Helix job monitor ステップが成功するように変更します。既存の Arcade 公開済み allowNoHelixJobs テンプレート オプションを使用します。
@kotlarmilos ・ GitHub ・ area-Meta
WebAssembly関連領域の所有者メタデータを更新し、@kotlarmilosをos-wasi、os-browser、arch-wasmの領域オーナーとして追加するもの。
@am11 ・ GitHub ・ area-Infrastructure community-contribution os-openbsd
OpenBSD システム上での混合ツールチェーンの非互換性問題を解決するため、OpenBSD のプリインストール ツール サポートを削除し、ユーザーに llvm パッケージの明示的なインストール(pkg_add llvm)を要求するようにしました。OpenBSD では OS 付属の nm(独自実装)、LLVM の ar/ranlib、GNU の strings/objcopy が混在しており、これらの互換性を維持するための複雑な回避策を避けることが目的です。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
#127134 で削除された非スタブメソッドの解決機能を復元するもの。cDAC/DAC消費者が、インタープリタープリコード/エントリポイントなどのアドレスからマネージドメソッド名を解決できるようにする。
@agocke ・ GitHub ・ area-Infrastructure-libraries
Helix Job Monitor有効時に、ライブラリのHelix送信を独立したテスト実行ジョブから統合CoreCLR/librariesビルドジョブへ移動します。これにより、13個のアーティファクト専用テスト実行ジョブを削除し、ライブラリテストアーティファクトの発行とダウンロードのオーバーヘッドを回避します。プラットフォームマトリックス、Helixキュー、条件、実行時構成、テスト実行名は維持されます。
続きを読む
@janvorli ・ GitHub ・ area-GC-coreclr
GC/API/Refresh テストが segments GC フレーバー使用時に不適切に実行されるのを防ぐため、テストの無効化条件を改善しました。従来はアーキテクチャベースの判定のみでしたが、regions GC 非対応ターゲットでの segments GC フレーバーの clrgc.dll テスト時に問題が生じていました。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Component Data Access Contract)のIXCLRDataStackWalkインターフェースにGetStackSizeSkippedメソッドを実装しました。このメソッドは、スタックウォーク中にスキップされたバイト数を取得するために使用されます。契約変更はありません。
@vcsjones ・ GitHub ・ area-System.Security
System.Security.Cryptography関連のPull Requestに対するCopilot AIの指示内容を調整しました。Copilotが無関係なフォーマッティング修正を過剰に提案することを防ぐため、既存のフォーマッティング問題の修正タイミングを明確化しています。
@lateralusX ・ GitHub ・ area-System.Runtime.CompilerServices
非同期プロファイラーのdispatcher/wrapperフレーム名契約を強化し、コールスタック結合の堅牢性を向上させます。V1ディスパッチフレームに[StackTraceHidden]属性を追加し、V2と一貫性を持たせます。同時に、診断ツールが依存するメソッド/型名を名前契約コメントで明示し、環境変数DOTNET_AsyncProfilerEventSource_EventBufferSizeをDOTNET_AsyncProfiler_EventBufferSizeにリネームします。
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-coreclr
macOS arm64環境におけるcreatedumpの thread-info 領域をLLDB互換の形式で生成するよう修正しました。LLDB の process metadata LC_NOTE 形式を使用してOS thread IDを出力し、既存の SpecialThreadInfo セグメントも保持することで段階的な移行をサポートします。
Apple Silicon LLDBが従来の合成セグメント(0x7fffffff00000000)を拒否する問題に対応し、SOS がLLDB スレッドとランタイムのOS thread IDを正しく関連付けられるようにします。
続きを読む
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ネストされた型参照のドキュメンテーション署名フォーマッティングを修正し、クロスアセンブリ参照でのIL1012クラッシュを防止します。通常のネストされた型では宣言型のTypeReferenceを直接使用し、ネストされたジェネリック型ではジェネリックパラメータの数を正確に解決することで、各レベルが自身のパラメータのみを受け取るようにします。
@Copilot ・ GitHub ・ area-System.Security
EncryptedXmlのエンコードされたDTD変換チェーンテストのタイムアウト問題に対応したテスト無効化対応です。ワークロード削減後も継続してタイムアウトしている問題に対して、特定のテストケースを無効化しながら、デフォルト制限による拒否カバレッジは保持しています。
@janvorli ・ GitHub ・ area-GC-coreclr
GCヒープ初期化時のアクセス違反(AV)を修正するPull Requestです。gc_heap::get_card_table_element_layoutおよびget_card_table_commit_layoutに存在するバグにより、バックグラウンドGCが無効化されている場合にseg_mapping_table_elementの最後のページがコミットされていませんでした。修正は、サイズが0の要素であってもそのレイアウト要素の開始オフセットをアラインメント要件に従うようにすることで、共有ページが含まれるようにしています。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security
TlsSessionのOpenSSL エラー診断を改善し、SslStreamと同じ例外生成ロジックを使用するようにしました。これにより、SSL_ERROR_SYSCALLの場合にネイティブ側のerrnoを保持し、EOFと実際のI/Oエラーを正確に区別できるようになります。
@Copilot ・ GitHub ・ area-VM-coreclr
StubLinkerが生成するスタブのメモリ管理を、専用のLoaderAllocator::m_pStubHeapからJITコード割り当て機構へ統合します。これにより、StubLinkerスタブ(shuffle thunksを含む)がJITコードと同じExecutionManager::AllocCodeFragmentBlock経由で実行可能メモリを割り当てるようになります。
// Before
Stub *Link(LoaderHeap *heap, DWORD flags, const char *stubType);
// After
Stub *Link(LoaderAllocator *pLoaderAllocator, DWORD flags, const char *stubType);
続きを読む
@ViveliDuCh ・ GitHub ・ area-System.ComponentModel.DataAnnotations
ValidationContext.ObjectInstanceのXML doc commentを更新し、owning objectが存在しない検証シナリオでこのプロパティが意味のある値を持たないことを明確化しました。属性作成者による不正な仮定の防止を目的としています。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssemblyターゲットのJIT先頭コード生成(prolog)において、メソッド開始時に使用されていない(dead-at-entry)GCパラメータについて、GCに報告するためにスタックホーミングを強制する変更です。Wasmではフレーム上のすべてのGCローカルがGCに追跡されないまま報告されるため、deadなGCパラメータであっても安全なスタックスロットを確保する必要があります。
@Copilot ・ GitHub ・ area-System.Threading
GC/Scenarios/THDChaos テストでスレッド数が制御不能に増殖し、Arm32環境でOutOfMemoryExceptionが発生する問題を修正します。スレッド生成の上限チェックが競合状態にあり、意図した数を超えるスレッドが起動されていました。Interlocked.Incrementを使用した原子的なカウント管理と、Arm32での上限値設定によって、リソース枯渇を防止します。
@alinpahontu2912 ・ GitHub ・ area-System.IO
ValidatedPartUri の object.Equals/GetHashCode オーバーライドを削除し、System.Uri との互換性を復元しました。HashSet/Dictionary での混在利用時に不正な検索結果となる問題を解決します。一方、ValidatedPartUri の SortedList での大文字小文字非感応比較機能は IComparable/IEquatable ロジックで維持されます。
続きを読む
@hoyosjs ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic and Debugging Access)プロジェクト全体のターゲットフレームワーク選択を統一する変更です。新たにCDacTfmプロパティを導入し、デフォルトで$(NetCoreAppMinimum)(リリース版TFM)をターゲットします。source-buildおよびNativeAOTツールチェーンが未対応なプラットフォームでは$(NetCoreAppToolCurrent)にフォールバックします。実行可能な出力に対してはRollForward=LatestMajorを設定し、リポジトリ環境の最新ランタイムで実行可能にします。
続きを読む
@janvorli ・ GitHub ・ Servicing-approved area-GC-coreclr
1024個を超えるCPUを搭載するLinuxマシンでの.NETランタイム初期化失敗を解決するバックポート。固定サイズのcpu_set_t(最大1024CPU対応)から動的サイズのCPUセットに切り替え、GCのアフィニティ/ヒープマッピングコードを更新して、CPU制限とヒープ制限の混同を解消します。コンテナ環境で1024個以上のCPUを持つホスト上で制限されている場合も対応。
@sbomer ・ GitHub ・ area-NativeAOT-coreclr
dotnet-linker-testsパイプラインのRuntime_Releaseジョブが不要なCoreClr nativeコンポーネント(alt-JIT、SuperPMIなど)をビルドしないよう最適化するPR。これに伴い、Windows上でのJITインストール規則を修正し、Unix/Windows間の非対称性を解消。
@pavelsavara ・ GitHub ・ arch-wasm area-Host
WebAssemblyの動的インスタンス化を最適化するため、ビルドパイプラインからブートコンフィグへwecbil形式アセットのペイロードサイズ(全アセット)とテーブルサイズ(ReadyToRun画像のみ)を記録します。これにより、JSローダーはバイトバッファリングやデータセクション解析なしでストリーミングインスタンス化を実行できます。
@tarekgh ・ GitHub ・ area-System.DateTime
Unix プラットフォームで TimeZoneInfo.ToSerializedString() / FromSerializedString() がラウンドトリップできない問題を修正します。Unix の調整ルールが Windows 形式では表現できない情報を保持している場合(サマータイム遷移なし、UTC 種別の日付境界、分未満のオフセット、複数年にわたる内部ルールなど)、逆シリアライズされたインスタンスが元のオブジェクトと一致していませんでした。
修正では、従来のルール リスト終了後に完全性を保証した内部調整ルールのコピーを追加することで、下位互換性を保ちながら正確なラウンドトリップを実現します。
続きを読む
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr Priority:1 runtime-async
カスタム struct awaiterの呼び出しで発生していたボックス化を排除する最適化です。awaiterを継続オブジェクト内に格納し、JITが計算したオフセットで後に抽出してからUnsafeOnCompletedを呼び出すことで、ボックス化を回避します。新たにGT_CONTINUATION_MEMBER_OFFSETノードを導入し、オフセットが確定するまで象徴的に参照してから定数に置換します。
マイクロベンチマークでは約10%のパフォーマンス改善が確認されています。
// 最適化により、struct awaiterの格納と抽出がボックス化なしで行われます
await new CustomStructAwaiter(value);
続きを読む
@VSadov ・ GitHub ・ area-System.Net.Sockets area-System.Threading
Socket/IO完了イベントのThreadPool派遣パターンを変更します。従来の「キュー+ポンピングワークアイテム」パターンを廃止し、プール化されたワークアイテムをバランス二分木で束ねてバッチ送信する方式に置き換えます。これにより、グローバルキューへの負荷軽減、メモリ境界設定、p99レイテンシの大幅な改善を実現します。
@jozkee ・ GitHub ・ area-Meta
GB18030-2022(中国の文字セット標準)に対する包括的なコンプライアンステストスイートを追加します。テストデータファイルとともに、文字列、ファイル、ディレクトリ、エンコーディング、正規表現、コンソール出力などの多様な領域でGB18030エンコーディングの正確性を検証するテストを実装します。
2026年08月06日 (29 PRs) うち Bot 2 件 この日のページ →
@Copilot ・ GitHub ・ area-CodeGen-Interpreter-coreclr
GetGeneration GC APIのテストがインタープリータモードで失敗する問題を修正します。インタープリータ互換性チェックが正しく機能していなかったため、RequiresProcessIsolationプロパティを調整し、インタープリータガード機能とOutOfProcessTestマーカーが正しく生成されることを確認しました。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC の IXCLRDataTask.CreateStackWalk API にスタックウォークフラグを追加し、フレーム列挙時にどのフレームを対象とするかを制御できるようにする変更です。新しい CLRDataStackWalkFlag enum を導入し、このフラグを ClrDataStackWalk に連携させることで、「レガシー互換」なフレームをフィルタリングして表示します。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
AMD64アンワインダーがデバッガーブレークポイント(int3)によって上書きされたエピローグ命令を正しく認識できない問題を修正します。デバッガーパッチテーブルをデータディスクリプタ経由で公開し、cDACが元の命令バイトを読み取れるようにすることで、ブレークポイント設定時でも正確なスタックウォークを実現します。
@dotnet-bot ・ GitHub ・ Servicing-approved area-codeflow
.NET 9.0のバージョンをパッチレベルで 9.0.19 から 9.0.20 へ更新するブランディング変更です。
@dotnet-bot ・ GitHub ・ Servicing-approved area-codeflow
.NET 8.0のパッチバージョンを30から31にアップデートするバージョンブランディング変更です。release/8.0ブランチでの定期的なバージョン管理更新です。
@janvorli ・ GitHub ・ area-GC-coreclr
以前無効化されていたGCリグレッションテスト(Runtime_76219)を再度有効化するPRです。作成者によると、このテストは現在パスしており、x86 Windows および arm64 macOS での元の障害は再現できなくなっているとのことです。
@pavelsavara ・ GitHub ・ arch-wasm area-Codegen-AOT-mono
Mono WebAssembly AOT(llvmonly)で、静的抽象インターフェースメソッド上の委譲がgsharedvt(汎用的な値型ジェネリック実体化)を通じて解決される場合の「function signature mismatch」エラーを修正しました。SixLabors.ImageSharpのPixelOperations<TPixel>パターンが該当します。
@wfurt ・ GitHub ・ area-System.Net
IPNetwork.Contains メソッドが IPv4 マップドアドレスを使用する際の比較ロジックを修正しました。従来は照会アドレスのアドレスファミリーから比較パスを選択していましたが、ネットワークアドレスのアドレスファミリーから選択するように変更。これにより、IPv6 ネットワークに対する IPv4 マップドアドレスの照会が正しく IPv6 セマンティクス(128ビットプレフィックス)を使用するようになりました。
続きを読む
@Copilot ・ GitHub ・ area-System.Net
WriteStateInfoBase.EnsureSpaceInBufferメソッドのバッファサイズ計算時の整数オーバーフロー問題を修正します。バッファサイズが約1GB に近づくと、int型でのサイズ倍化がオーバーフローして負の値になり、ループ終了条件が永遠に真となってスレッドがハングする不具合を解決します。
修正内容:バッファサイズ計算をlong型で行い、ループ条件が正しく機能するようにしてから、checkedキャストでintに変換。実際のメモリ割り当て時にサイズが範囲外の場合はOverflowExceptionで即座に失敗させます。
続きを読む
@noahfalk ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Contract)の契約バージョンを1から開始するよう再番号付けするもの。開発段階のみのバージョンを統合し、PrecodeStubs、ExecutionManager、DebugInfoの実装をc1に統一し、古いバージョンの実装を削除します。これにより契約体系をシンプル化し、CoreCLRの契約登録、テスト、仕様ドキュメントを更新します。
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
WebAssembly ReadyToRun (R2R) コンパイル時のJIT codegen不具合を修正するパッチです。wasm向けのテスト実行で発見された3つのバグに対応しています:
ValueNum offset peeling時のメモリサイズ読み込み誤り
Vector.GetElement/WithElement で範囲外定数インデックス処理
wasm try/catchヘッダーのエッジ反転による不具合
続きを読む
@Copilot ・ GitHub ・ area-System.Threading
ThreadPoolTests.CooperativeBlockingCanCreateThreadsFasterテストがDebugランタイム上で時間的に不安定になる問題を修正するテスト専用変更です。Debugランタイムが遅すぎるためテストのタイミング仮定が成り立たなくなるため、Debugランタイムではテストをスキップし、Release/Checkedでのみ実行するようにします。
public static bool IsThreadingAndRemoteExecutorSupportedAndNotDebugRuntime =>
IsThreadingAndRemoteExecutorSupported && !PlatformDetection.IsDebugRuntime;
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-libraries
Runtime Helix CI パイプラインの MSBuild 並列処理設定を簡素化するPRです。Helix Job Monitor が有効化されたことにより、ランタイムテスト送信時に強制していた /maxcpucount:55 オーバーライドを削除し、共有テンプレートのデフォルト動作にフォールバックさせます。
@wfurt ・ GitHub ・ area-System.Net
macOS上のリンク層アドレス列挙でバッファオーバーフロー脆弱性を修正するPRです。ネットワークインターフェース列挙時にリンク層アドレス(AF_LINK/sockaddr_dl)が従来の8バイトバッファを超えた場合の安全な処理を実装しています。
@lateralusX ・ GitHub ・ area-PAL-coreclr
CoreCLR PALのクラッシュ診断シリアライゼーションを統一し、out-of-proc createdump パスと in-proc クラッシュレポート間で g_crashingThreadId をキーとした単一の共有ゲート(TryEnterCrashDumpGate/ExitCrashDumpGate)を導入。CrashDumpSerializeMode {None, NoWait, WaitInfinite} を新たに定義し、両メカニズムのシリアライゼーションをPALで一元管理し、複数のクラッシュ診断メカニズムの競合を防止。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access)の ClrDataMethodDefinition を更新し、Edit-and-Continue(EnC)編集が有効な場合に、最新のEnC IL ヘッダーを優先的に使用するようにしました。これにより、デバッグスタック内の他の部分との動作が統一されます。
@jtschuster ・ GitHub ・ arch-wasm area-ReadyToRun
WASM オブジェクトライターのセクション処理をリファクタリングし、セクション関連の型を専用ファイルに抽出するPRです。WasmSection、WasmDataSection、WasmDataSegment、WebcilSectionを個別ファイルに移動し、セクション管理を統一するWasmSectionsヘルパークラスを導入します。これはNativeAOTとReadyToRunの間で共有されるベースWasmObjectWriterの抽出に向けた4PR構成の第1段階です。
続きを読む
@matouskozak ・ GitHub ・ area-Infrastructure os-maccatalyst
Apple Helixでの実行時のタイムアウト問題を解決するPRです。ASP.NET Core開発証明書の自動生成を無効化してXHarness起動前のブロッキングを防ぎ、MacCatalystでの特定のハンギングテストをスキップします。
@vcsjones ・ GitHub ・ area-System.Security
Apple CryptoKitを使用したAesGcmとChaCha20Poly1305のパフォーマンスを改善するPRです。ネイティブSymmetricKeyのキャッシング、空のAAD(Associated Authenticated Data)パラメータの省略、新しいAppleプラットフォーム(v26以降)での不要なデータコピーの削除により、暗号化・復号化操作の呼び出しオーバーヘッドを削減します。
@liveans ・ GitHub ・ area-System.Net
System.Net.Mail の SMTP クライアントにおいて、SMTPサーバーからのリプライサイズに上限を設定し、無制限のバッファリングを防ぐセキュリティ対策です。単一行は16KiB、マルチライン全体は256KiBの制限を実装しています。
@MihaZupan ・ GitHub ・ area-System.Net.Http
HTTP/2接続のkeep-alive ping送信・検証が、接続がコネクションプール内で「利用可能」な状態でなくなる複数のシナリオ(ストリーム上限到達、GOAWAY受信、ハンドラー破棄)で停止する問題を修正しました。修正により、ハートビートタイマーの寿命を延長し、プール内で不要になった接続やハンドラー破棄後でも進行中のリクエストのpingを継続します。
@kant2002 ・ GitHub ・ area-GC-coreclr community-contribution
GCのRestartGC関数の未使用パラメータを削除するリファクタリング。ただし、スタンドアロンGCで使用されている公開APIが変更されるため、破壊的変更となる。
@Copilot ・ GitHub ・ area-NativeAOT-coreclr
NativeAOTランタイムにおいて、GC制限されたリバースP/Invoke呼び出しパスの回帰テストを追加します。背景GCがマネージド[UnmanagedCallersOnly]コールバックを呼び出す際に、Thread::InlineTryFastReversePInvokeの断言エラーを引き起こしていた問題に対応します。テストのみの変更で、製品動作は修正されていません。
// テストで強制的に並行Gen2 GCを駆動
GC.Collect(2, GCCollectionMode.Forced, blocking: false, compacting: false);
// トラッカーGCコールバック登録中に並行Gen2を確認
if (GC.GetGCMemoryInfo().Generation == 2 && GC.GetGCMemoryInfo().Concurrent)
{
// #110683の対象となる回帰テストシナリオ
}
続きを読む
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Debugger Address Consumer)のGC情報レポート機能における、メソッド引数のシグネチャに含まれる未ロード型の処理を修正します。PrestubMethodFrame実行中など、型がまだ完全にロードされていない時点でのサンプリングで、参照型引数の省略やbyref-like型のジェネリックフィールドのGCRefMapエントリ喪失が発生していた問題を解決します。
続きを読む
@richlander ・ GitHub ・ area-Infrastructure
Ubuntu 26.04および24.04 Helix VMが利用可能になったため、テストインフラストラクチャをコンテナベースのAzureLinux環境からベアUbuntu VM に移行します。Ubuntu 22.04 VMを廃止し、最も古いテストスロットを24.04に更新します。これにより、ポリシーで求められるベアVM上でのテストを復元します。
@rzikm ・ GitHub ・ area-System.Net
.NET 9で導入された新しいDnsResolver / Dns.Resolve* DNS クエリAPIのLinux/Unix向けマネージド実装を追加します。UDP with TCP fallback方式によるDNSリゾルバー、/etc/resolv.confからのサーバー自動検出、DNS wire形式のクエリ/レスポンス解析を実装します。
@gbalykov ・ GitHub ・ area-Infrastructure community-contribution
BuildAllTestsAsStandalone=true オプションでのスタンドアロンCoreCLRテストビルド、および Tizen armel プラットフォーム対応に関する修正です。テスト プロジェクトファイルと IL/F# ソースファイルに対して、スタンドアロンビルド時の互換性や依存関係の問題を解決しています。
2026年08月05日 (32 PRs) うち Bot 2 件 この日のページ →
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
PR #131110で有効化されたCoreRLR browser-WASM out-of-processランタイムテストにおける8つのテスト失敗に対処するPRです。4つはWebCIL/ReadyToRun複合エラーで、PR #131354のfix後にActiveIssueアノテーションとCrossgen2バイパスを削除してR2Rカバレッジを復元します。残り4つのテストについては、ブラウザ環境のマルチスレッド非対応やServer GC非対応に対応した選別的ゲートを適用します。
続きを読む
@kutsibalci ・ GitHub ・ area-Meta community-contribution
ドキュメント内の相対パスリンク8箇所を修正するドキュメント更新です。すべてのリンクターゲットはリポジトリに存在していますが、相対パスの指定が誤っていました。例えば、ディレクトリ階層の誤算や、ファイル名のスペルミス(アンダースコアとハイフンの混在)、Windowsバックスラッシュの使用などが原因でした。
@premun ・ GitHub ・ area-codeflow
Helix Job Monitor依存ライブラリをより新しいArcade buildバージョンに更新するPRです。依存メタデータ、ローカルdotnetツールマニフェスト、プロパティ定義を同期し、重複したプロパティ定義も削除しています。
@pavelsavara ・ GitHub ・ arch-wasm area-Host os-browser
browser-wasm向けのCoreClR native relink機能が、復元/パッケージ化されたSDKから正常に動作するよう、VM/minipalヘッダーファイル(callhelpers.hpp、minipal/entrypoints.h、minipal/utils.h)をランタイムパックに正しく含める修正です。
前回のPR #131646では、ヘッダーはホスト共有フレームワークに配置されたものの、ランタイムパックへの収集メカニズムが不足していたため、パッケージに含まれていませんでした。本PRでは、標準的な収集メカニズム(LibrariesRuntimeFilesとCopyWasmNativeFiles)を使用してヘッダーをランタイムパックに正しく含めます。
続きを読む
@wfurt ・ GitHub ・ area-System.Net.Security
TlsSessionテストにおいて、受け入れたサーバーSocketをusing宣言で管理し、対応するTlsSocketSessionのライフタイム全体で確定的に破棄されるようにしました。これにより、macOSで報告されていた断続的なリセット問題の根本原因と考えられるソケットのライフタイム管理の問題を解決します。
@Copilot ・ GitHub ・ area-System.Net
BufferBuilder.EnsureBufferのバッファサイズ計算で符号付き整数のオーバーフローが発生していた問題を修正します。約1.5GB以上のバッファサイズで計算がオーバーフローし、割り当てサイズが不足して診断困難な例外が発生していました。符号なし整数演算に切り替え、倍化処理をArray.MaxLengthでクランプすることで、オーバーフローを防止します。
修正前後の計算ロジック:
// 修正前:符号付きint演算でオーバーフロー可能
byte[] newBuffer = new byte[((_buffer.Length * 2) > (_buffer.Length + count)) ? (_buffer.Length * 2) : (_buffer.Length + count)];
// 修正後:uint演算 + Array.MaxLength制限
byte[] newBuffer = new byte[Math.Max((uint)_buffer.Length + (uint)count, Math.Min((uint)Array.MaxLength, 2 * (uint)_buffer.Length))];
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure-coreclr
CoreCLRのマルチスレッド機能定義をMSBuild設定に統合し、テストスキップをMSBuild時からランタイムチェックに移行するリファクタリングです。clr.featuremultithreading.propsを削除してclr.featuredefines.propsに統合し、テストの条件付きスキップをConditionalFact属性またはMainメソッド内のランタイムチェックに置き換えました。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Component)の診断パスで、IXCLRDataProcess.StartEnumMethodInstancesByAddressを呼び出す際に、cDAC側のClrDataAppDomainラッパーを適切にアンラップし、基盤となるレガシーIXCLRDataAppDomain実装をレガシーDACに渡すようにしました。これにより、メソッドインスタンスの列挙時にレガシー検証が正しく機能することを保証します。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
GetBasicObjectInfoメソッドのpObjTypeDataパラメータをin/outパラメータとして正しく扱うよう修正しました。無効なオブジェクト参照など失敗時に、呼び出し元が提供した構造体の内容を保持するようにしました。この修正は内部診断テストのアサーションを通じて発見されました。
@janvorli ・ GitHub ・ area-GC-coreclr
ガベージコレクタのリージョンスレッド処理において、get_free_regionがNULLを返す場合のエラーハンドリングを改善しました。デバッグビルドのアサートではなくFATAL_GC_ERRORを使用することで、リリースビルドでも一貫した失敗処理(fail-fast)を実現します。この変更により、メモリ不足(OOM)による回復不可能なエラーを適切に報告します。
@jtschuster ・ GitHub ・ area-ReadyToRun
rundownvalidationテストをCrossGen2/ReadyToRun(R2R)コンパイルから除外するための設定変更です。このテストはMethodILToNativeMapランダウンイベントを必要とし、このイベントはJIT コンパイルされたメソッドに対してのみ発行されます。完全なcomposite ReadyToRunフレームワークではtiered compilationが無効な場合にJIT フォールバックが発生しないため、テストの信頼性が損なわれます。テスト アセンブリをIL状態で保つことで、JIT-onlyイベントの検証を確実に実行できます。
続きを読む
@teo-tsirpanis ・ GitHub ・ area-System.Runtime community-contribution reduce-unsafe
GCMemoryInfoDataがインラインを配列を使用するように更新されました。MemoryMarshal.CreateReadOnlySpanの2つの使用を削除し、世代情報とポーズ時間をより効率的にReadOnlySpan<T>として公開します。
@janvorli ・ GitHub ・ area-Infrastructure
watchdog(監視プロセス)がシグナルで終了した子プロセスの状態を適切に検出できない問題を修正します。従来はWIFEXITED(正常終了)のみチェックしており、SIGKILLなどのシグナルで終了した場合はタイムアウトになっていました。本修正によりWIFSIGNALED(シグナルで終了)も処理し、シグナル受信時に意味のあるステータス値(128 + signal)を返すようにします。またwaitpid失敗時の診断情報(errno)の出力も追加します。
続きを読む
@Copilot ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタ実行時の不正確なローカル変数レポーティングによるテスト失敗に対応するため、GetGenerationテストにインタープリタ互換性フラグを追加しました。テストが期待するオブジェクトのジェネレーション昇格後の検証が、インタープリタではローカル変数がピン留めとして報告されることでジェネレーション0に降格されるため実行できなくなります。
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
System.Text.Json ソースジェネレーターの共用体(Union)曖昧性警告ロジックを更新しました。オプションレベルで指定されたグローバル型分類器(JsonSourceGenerationOptionsAttribute.TypeClassifiers)を設定済みの分類器サポートとして扱うことで、SYSLIB1227診断が不適切に発行される問題を修正します。
@saitama951 ・ GitHub ・ area-Diagnostics-coreclr community-contribution arch-ppc64le
linux-s390xプラットフォーム向けにインプロセスクラッシュレポーター機能を追加するPull Requestです。#131604で導入されたビルドエラーを修正し、s390xアーキテクチャに対応させます。
@noahfalk ・ GitHub ・ area-Diagnostics-coreclr
開発段階でのみ使用されていたデータコントラクト(Data Contracts)の複数バージョン(c2、c3)を削除し、各コントラクトを単一バージョン(c1)に統一する変更です。PrecodeStubs、DebugInfo、ExecutionManager、StressLogなど複数のコントラクトについて、最新のセマンティクスをc1実装に移行し、開発用バージョンを廃止します。これはコントラクト仕様の確定化に向けた準備作業です。
続きを読む
@matouskozak ・ GitHub ・ area-CodeGen-Interpreter-coreclr
DAC(Data Access Component)がインタープリタフレームのGC参照を列挙する際に発生していたポインタマーシャリングエラーを修正します。InterpreterFrame::m_continuationのホストメモリへのアクセス方法とInterpMethodContextFrameのターゲットメモリアクセス方法を改正し、DAC境界を正しく超えるようにしました。
@noahfalk ・ GitHub ・ area-Diagnostics-coreclr
cDAC (Component Data Access Contract) の RuntimeInfo コントラクトを拡張し、ランタイムのビルド/バージョン情報(ファイルバージョンコンポーネント、プロダクトバージョン文字列)を公開する新しいメソッドを追加しました。これにより、ランタイムのバージョン情報を表示したり、出荷後に発見されたランタイムバグの対応に活用できます。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Component)のIterateMethodInstancesレガシーフォールバック機能を削除するPRです。SOS テスト内で、レガシーフォールバックが使用されていた理由となるテスト失敗が解決されたため、この削除が可能になりました。
@dr1rrb ・ GitHub ・ area-Diagnostics-coreclr community-contribution
Edit and Continue (EnC) でメタデータテーブルのルックアップハッシュが無効化されないバグを修正。EnCデルタが行を追加した際、ハッシュテーブルが再構築されずに、追加された行がメタデータ検索で見落とされる問題を解決します。特にFieldRVAテーブルで問題が顕著で、生成2以降のホットリロードが失敗していました。
@Copilot ・ GitHub ・ area-CodeGen-coreclr
JITが多次元配列の組み込み関数展開を改善し、大きなサイズの要素型と構造体型の要素を扱えるようにしました。これにより、iOS(R2R)のようなJITが無いプラットフォームで、不要なインタプリタへのフォールバックを削減します。
@kkokosa ・ GitHub ・ area-GC-coreclr
largearraytestをGC merged runnerから分離し、独立したmerged-runner work itemとして実行するようにテストインフラストラクチャを調整。これにより、メモリ消費量の大きいこのテストが他のGCテストとのメモリ競合を避けられます。
@am11 ・ GitHub ・ area-Infrastructure community-contribution
Unix環境におけるCMAKE_LINKERの定義を修正するPRです。linkコマンドはファイルシステムのハードリンクツールであり、llvm-linkはLLVMのビットコードリンカーであるため、いずれも正しいリンカーではありません。本来のCMAKE_LINKERはldまたはld.lldであり、これは既にinit-compiler.shで設定されています。NativeAOTで最近追加された回避策を削除し、またOpenBSDでのネイティブマシンビルド対応(llvmプレフィックスなしのツール)も修正しています。
続きを読む
@EgorBo ・ GitHub ・ area-System.Runtime.InteropServices linkable-framework
unsafe-v2マイグレーションへの準備として、System.Private.CoreLibをメンバーの安全性監査で装備するPRです。<safety> XML文書コメントとsafe修飾子(明示的/拡張レイアウト構造体のフィールド、およびexternメソッド)を追加し、マイグレーションツールが不要なunsafeを自動付与するのを防ぎます。
@AndyAyersMS ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタのスタックレイアウトバグを修正しました。呼び出しの戻り値バッファが別の呼び出しの引数領域とメモリ上で重複する問題を解決します。戻り値バッファは、コンパイル済みの呼び出し先によってスクラッチメモリとして扱われる可能性があり、重複時に引数を破損させていました。
@davidwrighton ・ GitHub ・ arch-wasm area-crossgen2-coreclr
System.Private.CoreLibをCoreRunシナリオでのテスト対応に向けて調整するPRです。WASM環境でのアセンブリ解決とCoreLibの出力ファイル名を改善し、R2RおよびWASMテストスイートの動作検証を実施します。
@matouskozak ・ GitHub ・ area-Infrastructure-mono
Apple シミュレータおよび Mac Catalyst テストが arm64 をターゲットとする場合に、ネイティブな osx-arm64 .NET SDK を使用するように Helix テストジョブの SDK 選択を更新しました。これにより、arm64 Helix マシン上で MSBuild および crossgen2 が Rosetta エミュレーション下で実行されることを回避できます。x64 シミュレータと物理 iOS/tvOS デバイステストは Intel Helix ホストのため osx-x64 SDK を使い続けます。
続きを読む
@lewing ・ GitHub ・ arch-wasm area-VM-coreclr
WebAssembly環境でのComposite R2R(Ready-to-Run)イメージ読み込みを改善。WebAssemblyはフラットレイアウトのみをサポートするため、NativeImage::OpenでComposite イメージのレイアウト取得時に明示的にLAYOUT_FLATをリクエストするよう修正。これにより、LAYOUT_LOADEDをリクエストした際に発生していたアサーション失敗を回避します。
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Http
RFC 9112に準拠するため、HTTP/1.1チャンク転送エンコーディングのパース処理を厳密化しました。これまでSocketsHttpHandlerはチャンクサイズ行とチャンク終端に単一のLF(改行のみ)を許容していましたが、仕様によりCRLF(改行+キャリッジリターン)を厳密に要求するように変更しました。
2026年08月04日 (43 PRs) うち Bot 2 件 この日のページ →
@hoyosjs ・ GitHub ・ area-Infrastructure-coreclr
MSCORDBI_LINKS_PRIVATE_PAL マクロ定義が最終的な mscordbi_universal ターゲットのみに適用されていため、プリコンパイル済みの cordbdi 静的ライブラリ内の cordb.cpp に到達していなかった問題に対応。Unix固有の cordbdi_universal 静的ライブラリを定義を有効にして新規ビルド・リンクし、CoreCLRCreateCordbObject3 が正しくプライベートPAL初期化パスを実行するように修正。既存の cordbdi はDACを通じてPALが必要なため変更なし。
続きを読む
@janvorli ・ GitHub ・ area-VM-coreclr
Windows APIのCreateThreadの失敗判定が複数箇所で誤っていた問題を修正しました。CreateThreadは失敗時にINVALID_HANDLE_VALUEではなくNULLを返すという仕様に合わせて、CoreCLR VMおよびPALテストコードの失敗判定を正しく修正しています。この誤りはメモリ制限環境でのテスト実行時に発見されました。
@janvorli ・ GitHub ・ area-VM-coreclr
x64 Unix環境において、VOLATILE_MEMORY_BARRIERマクロの実装を変更しました。従来の asm volatile ("" : : : "memory") から __atomic_signal_fence(__ATOMIC_SEQ_CST) に置き換えることで、HndWriteBarrier周辺でclangが生成していた不要なダミージャンプ命令を排除します。この変更はコンパイラバリアのみであり、副作用を回避しています。
続きを読む
@Copilot ・ GitHub ・ area-System.Formats.Tar
System.Formats.Tarライブラリにおいて、copyData: true時にTarHeader.GetDataStreamCoreAsyncがtar headerの_sizeフィールドを検証せずにMemoryStreamを割り当てていた問題を修正しました。攻撃者が意図的に巨大なサイズを指定したmalformed tar entryを作成することで、OutOfMemoryExceptionを引き起こす可能性がありました。本修正により、seekableなストリームの場合、実際に利用可能なバイト数(archiveStream.Length - archiveStream.Position)と宣言されたサイズを比較し、超過時にはInvalidDataExceptionを即座にスローするようになります。
続きを読む
@matouskozak ・ GitHub ・ area-Infrastructure os-ios
iOS CI/CDパイプラインをiOSシミュレータ(iossimulator_arm64)から物理デバイス(ios_arm64)に戻すための変更。NativeAOTおよびCoresCLRのライブラリテストジョブの実行環境を物理デバイスに復帰させ、一時的な回避策に関するコメントを削除します。
@EgorBo ・ GitHub ・ Servicing-approved area-CodeGen-coreclr
JIT の TryLowerSwitchToBitTest 関数における x64/xarch での miscompile を修正します。64ビット bit テーブルを 32ビット immediate に収めるため invert する際に、エッジスワップの位置が不正で、条件付きブランチが誤った successor にワイヤされていた問題を解決します。特に 64 ケースの switch で発生し、async state-machine dispatch(61 awaits/yields の async IAsyncEnumerable<T> など)で容易に再現される問題です。
修正前は iterator body が何百万回も再入され、frameless NullReferenceException が発生していました。
続きを読む
@jtschuster ・ GitHub ・ area-skills
dotnet/runtimeのcode-reviewスキル設定において、古いGPTコデックスバージョン(GPT-5.3-codex)への推奨指定を削除するドキュメント更新です。デフォルト動作がすでに5.6を優先するため、明示的な推奨は不要と判断されました。
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
プロセス分離で実行されるILテストに対して、[SkipOnCoreClr]属性では適切に機能しなかったJIT最適化とGCストレス保護を復元するための修正です。PR #126108でMSBuildプロパティから属性への移行が行われましたが、<RequiresProcessIsolation>を持つILテストではこの保護が無視されていました。該当する2つのテストに<JitOptimizationSensitive>と<GCStressIncompatible>のMSBuildプロパティを復元し、属性との併用により保護を確保しています。
続きを読む
@AndyAyersMS ・ GitHub ・ area-CodeGen-coreclr
JIT の Conditional Escape Analysis (CEA) クローニング時に、アロケーションブロックが複数の後続ブロックを持つ場合にベイルアウトするガードを追加しました。Tiered PGO 最適化時にアロケーションブロックが定義ブロックと融合し、クローニング処理が正しく動作しないケースに対応します。Issue #131713 で報告されたオブジェクトスタックアロケーションの失敗を修正します。
続きを読む
@rzikm ・ GitHub ・ area-System.Net.Security
ソケットバウンドの TlsSocketSession で、GC によるバッファ再配置時に write 再試行が失敗する問題を修正します。OpenSSL の SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER モードを fd-バウンドの SSL オブジェクトで有効化し、SSL_write の再試行時にメモリアドレス変更に対応できるようにします。
// 修正前の問題シナリオ:
// 1. SSL_write が WANT_WRITE (DestinationTooSmall) を返す
// 2. GC がバッファを再配置
// 3. 再試行時に "bad write retry" エラーで失敗
// 修正後:
// SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER を有効化することで
// アドレス比較をスキップし、再試行に成功
続きを読む
@Copilot ・ GitHub ・ area-System.Net.Security
SslAuthenticationOptions.UpdateOptionsメソッドのバグを修正しました。呼び出し元が提供したServerCertificateContextで以前の自己所有コンテキストを置き換える際に、OwnsCertificateContextフラグをfalseにリセットしていなかったため、後続のDispose()呼び出しで呼び出し元のコンテキストが誤って破棄され、中間証明書が削除されるという問題がありました。
続きを読む
@rzikm ・ GitHub ・ Servicing-approved area-System.Net.Security test-bug
release/10.0ブランチのMalformedPacketsDuringHandshakeテストの不安定性を修正するバックポートです。テストをTLS 1.2の再交渉シナリオに固定し、オフラインCI環境での証明書チェーン検証による失敗を回避するよう改善しました。mainブランチで既にマージ済みの修正(#130756)と同一の変更です。
@rzikm ・ GitHub ・ area-System.Net.Security
SslStreamServer_RejectsClientCert_ClientObservesAlert(protocol: Tls12) テストのCI flakiness(月間44回の失敗)を修正するため、TLSセッション再開を無効化して完全ハンドシェイクを強制するもの。セッション再開時は証明書交換がなくなるため、クライアント側の例外タイミングが変わる問題を解消しています。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JITコンパイラの間接呼び出し変換ロジックを改善し、ガード付き変換で呼び出しを分割する際に、不変な引数(定数、GT_LCL_ADDR、GT_FTN_ADDR)を一時変数にスピルしないようにします。これにより、GT_LCL_ADDRなどの引数がGT_LCL_VAR一時変数に書き換えられるのを防ぎ、ダウンストリームの形状期待に合わせてアサート失敗を回避します。
@vcsjones ・ GitHub ・ area-System.Security test-bug
Android上のX25519実装のユニットテストを修正します。Android API 33未満では、Conscryptが帯域外更新を通じてXDHサポートを提供する可能性があるため、IsSupported_AgreesWithPlatformテストが固定的なサポート期待値を主張しないように対応しました。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
JIT の物理的昇格(Physical Promotion)において、コンマ式の op1(左オペランド)が構造体ローカル変数の場合、そのローカル変数は効果的なユーザーを持たないため処理をスキップするよう改善。また、インポーター(importer)で副作用のないオペランドに対する不要な gtUnusedValNode の生成を回避します。
@lateralusX ・ GitHub ・ area-VM-meta-mono
Mono ランタイムで、ジェネリック型にネストされたEnum(例:GenericClass<T>.NestedEnum)に対する InvalidCastException を修正しました。当該Enumはインフレート型で byval_arg->type が MONO_TYPE_GENERICINST になるため、従来の MONO_TYPE_VALUETYPE チェックのみでは認識されず、Array.Copy、Array.SetValue、Enum.GetValues<T>() が失敗していました。クラスフラグと mono_class_enum_basetype_internal を利用してEnum判定を拡張し、MONO_TYPE_GENERICINST にも対応しました。
続きを読む
@EgorBo ・ GitHub ・ area-CodeGen-coreclr
JITのビットテストスイッチ最適化において、ビットテーブルが反転される場合の制御フロー処理のバグを修正しました。反転時に分岐ターゲットのスワップが不完全だったため、条件分岐が誤ったブロックへ接続されていました。修正により、エッジを正しくスワップしてからブロックを再導出するように改善しました。
@EgorBo ・ GitHub ・ area-Infrastructure-libraries
ref-assemblyプロジェクトでupdated-memory-safety-rulesコンパイラ機能を有効化し、承認されたAPI提案に基づいて複数のAPIをunsafe(caller-unsafe)として注釈付けします。メモリ安全性ルールに準拠したAPIサーフェスの更新が目的です。
@rosebyte ・ GitHub ・ area-Extensions-Caching
MemoryCacheの3つの競合状態テスト(GetAndSet_AreThreadSafe_AndUpdatesNeverLeavesNullValues、OvercapacityPurge_AreThreadSafe、AddAndReplaceEntries_AreThreadSafe)を修正し、2022年以来無効化されていたテストを再度有効化します。
問題の根本原因は、非同期オーバーキャパシティコンパクション中に期待値がスナップショット化されてしまい、再試行ループで再評価されなかった点です。修正では、AssertEventuallyヘルパーメソッドを追加し、再試行時に毎回すべての値を再読み込みするようにしました。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact DAC)の IXCLRDataValue インターフェースを拡張し、値の検査に関連する複数のAPIを実装します。配列データに関連して、IObject.GetArrayData コントラクトを修正し、配列の次元長と下限値を返すように変更しました。これにより、デバッガツールが配列構造をより詳細に検査できるようになります。
@AndyAyersMS ・ GitHub ・ arch-wasm area-CodeGen-coreclr
WebAssembly JITコンパイラにおいて、Virtual IP(仮想命令ポインタ)のフレームストア操作を最適化します。同一の例外処理(EH)領域内の連続ブロックでは冗長な更新が発生していたため、前向きデータフロー解析を実施して、必要な場合のみストアを発行するように改善。System.Private.CoreLibのWasm R2Rコードセクションを約1.76 MB削減(約9.7%削減)。
@Copilot ・ GitHub ・ area-Interop-coreclr
ClassSupportsIClassX関数は常にTRUEを返すスタブであり、全ての呼び出しサイトがデッドコードまたはノーオペレーションになっていました。この関数と関連するenum_SupportsIClassX列挙値を削除し、呼び出しサイトを簡潔に整理しました。COM相互運用性レイヤーの不要なコード削減を目的とした内部実装の整理です。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr runtime-async
ランタイムの非同期メソッドに対するプロファイラーのReJIT機能が機能していない問題を修正しました。非同期メソッドのmdMethodDefがTask返却用のサンク(thunk)に解決されるため、実際に実行される非同期バリアント(async variant)のネイティブコードが再発行されず、ReJITが効果を持たなかった問題を解決しています。修正後、プロファイラーが既にJITされた非同期メソッドをReJITして戻り値の文字列を書き換えると、正しく再コンパイルされた新しい値が返されるようになります。
続きを読む
@alinpahontu2912 ・ GitHub ・ area-System.Formats.Tar
System.Formats.Tarライブラリにおける2つのバグ修正:
TarEntry.Windows.csのExtractAsBlockDevice/ExtractAsCharacterDeviceメソッド内のDebug.Assert文が常に同じ型をアサートしていた不具合を修正
TarHeader.Write.csのGetTotalDataBytesToWrite()メソッドの可視性をpublicからinternalに変更し、内部APIとして統一
続きを読む
@AndyAyersMS ・ GitHub ・ arch-wasm area-VM-coreclr
WASM環境におけるR2R(Ready2Run)スタックウォークがリバースP/Invoke境界を超えて管理対象外メモリを走査する問題を修正しています。リバースP/Invoke呼び出し(ネイティブコードから管理コードへの呼び出し)の境界で、スタックウォークを適切に終了させることで、ネイティブ呼び出し元のスタックポインタを管理対象フレームとして誤って解釈することを防ぎます。
@vcsjones ・ GitHub ・ area-Codegen-JIT-mono
MonoランタイムのSwiftError呼び出し規約処理に関するバグを修正します。x64ではスタック溢れ時にSwiftErrorのスタック位置を誤認識し、ARM64では最初のスタック引数をレジスタ渡しと誤認識していました。修正内容は、SwiftErrorが元々レジスタで渡されたかをフラグで記録することで、スタックオフセット値からの推測ではなく明示的に位置を判定します。x64ではスタック渡しのSwiftErrorに対してフレームポインタ省略を無効化し、スタックスロットがアドレス指定可能に保ちます。
続きを読む
@eiriktsarpalis ・ GitHub ・ area-System.Text.Json
JsonPolymorphicAttributeに新しいプロパティInferClosedTypePolymorphismを追加し、型レベルでの多態性推論を制御できるようにします。既存の全局的なJsonSerializerOptions.InferClosedTypePolymorphismと異なり、この属性プロパティは特定の型宣言のみに推論を適用でき、ライブラリが消費者に全局スイッチを強制することなく自身の階層に推論を採用できます。
[JsonPolymorphic(InferClosedTypePolymorphism = true)]
closed record Shape
{
public record Circle(double Radius) : Shape;
public record Square(double Length) : Shape;
}
続きを読む
@svick ・ GitHub ・ area-Extensions-Configuration
Configuration Bindingのgetter-only プロパティに対する共有リフレクション/ソースジェネレータのパリティテストを追加します。getter-only のネストされたオブジェクト、コレクション、抽象型プロパティを対象に、既存値が非null/nullの両シナリオで、既存インスタンスへのバインディングが機能し、nullプロパティが無視されることを検証します。
@wfurt ・ GitHub ・ area-System.Net.Security
NegotiateAuthentication クラスに RequireMutualAuthentication が明示的に有効な場合の相互認証検証を実装しました。NTLM は一貫して相互認証されていないと報告されるようになり、Windows 上の SSPI が不正なコンテキストフラグを公開する場合にも対応します。NegotiateStream は保護されたセッションの相互認証要求は継続しますが、交渉結果を受け入れることで NTLM フォールバック互換性を維持します。
続きを読む
@lateralusX ・ GitHub ・ area-Diagnostics-coreclr
Reverse P/Invoke マーシャリングスタブから不要なプロファイラコード遷移コールバックを削除します。従来、これらのスタブは管理対象ターゲットへの呼び出しを ManagedToUnmanagedTransition/UnmanagedToManagedTransition でラップしていましたが、実際にはネイティブ境界を越えていないため、誤った方向の不要なコールバックペアを発出していました。本変更により、Reverse P/Invoke を既に適切に処理されていた Reverse COM/delegate スタブと一貫性を持たせます。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-coreclr
#126281で削除されたCORINFO_HELP_NEW*JITヘルパーのシンボル解決機能を復元します。Visual Studioなどのツールがネイティブシンボルなしでこれらのメソッドを認識できるようにするための修正です。
@abhishekabhi73cc-design ・ GitHub ・ area-VM-meta-mono community-contribution
s390xアーキテクチャ上のMonoランタイムにおいて、BigIntegerをdoubleに変換する際のrounding modeの不具合を修正しました。CDLGBR命令のM3フィールドを6(+∞方向へのrounding)から4(round-to-nearest-even)に変更し、.NETの浮動小数点変換セマンティクスに合わせています。
@UtkarshBandekar ・ GitHub ・ area-Diagnostics-coreclr community-contribution
ICorProfilerInfo2::GetClassLayout()がRuntime Async Continuationの動的生成型(メタデータなし)に対して呼び出されるとアクセス違反でクラッシュする問題を修正しました。メタデータを持たない継続型の場合、FieldDesc::GetMemberDef()をnullポインタに対して呼び出していることが原因です。修正では、メタデータなし継続型の早期チェック を追加し、CORPROF_E_DATAINCOMPLETEを返すようにしました。
続きを読む
@radekdoulik ・ GitHub ・ arch-wasm area-Infrastructure-coreclr
CoreCLR browser-WASMではforkと管理されたプロセス生成が利用できないため、プロセス分離が必要なテスト(RequiresProcessIsolation)が実行されていませんでした。このPRは、ホスト側のBashまたはBatchスクリプトで既存のテストラッパーを子シェルで実行し、その結果を統合ランナーに取り込むことで、管理コード側にNode固有のAPI追加なしにこれらのテストを有効化します。
実行モデルは3段階です:(1) 計画 : 統合ランナーが実行対象アセンブリのパスを記録、(2) 実行 : ホストが既存の.sh/.cmdラッパーを実行して出力・終了コード・パス/スキップ状態を記録、(3) 取込 : 統合ランナーが計算済みの子結果をxUnitレポートにインポート。
続きを読む
@Copilot ・ GitHub ・ area-Infrastructure linkable-framework
ILLinkのトリマーが仮想メソッドのアノテーション不一致を検証する際に、実際に保持されている実装のみを対象とし、未使用コードからのIL2046/IL2092警告ノイズを回避するためのテストカバレッジを追加します。完全に未使用な実装、型のみの参照、警告が必要な使用実装、および未使用の兄弟実装を持つ使用インターフェースの4つのシナリオをカバーしています。
@davidwrighton ・ GitHub ・ area-VM-coreclr
CoreCLRの型ローダーにおけるジェネリック型読み込みの2つの最適化を実装しています。
1. DispatchMapの再利用 : 非典型的なジェネリック型インスタンス化(List<int>など)でのDispatchMap構築を最適化。典型的なインスタンス化で一度構築したDispatchMapを再利用することで、PlaceInterfaceMethodsの重複実行を削減します。
2. 仮想静的スロットテーブルのサイズ計算最適化 : インターフェースメソッドのカウントループを削減。配列を単純にインターフェースのメソッド数で事前割り当てします。
続きを読む
@tannergooding ・ GitHub ・ area-CodeGen-coreclr Priority:2
このPRはxarch JITコンパイラで一般的なビット操作イディオムを認識し、専用のx86命令(bzhi、bts、btr、btc、bt)を生成するように拡張します。これにより、コード生成がより効率的になり、アセンブリサイズが全体で3,874バイト削減されます。
@pkubaj ・ GitHub ・ os-freebsd area-PAL-coreclr arch-ppc64le
FreeBSD/powerpc64le (ppc64le) プラットフォームでの CoreCLR + BCL のビルドと実行をサポートするための PAL(Platform Abstraction Layer)とプラットフォーム検出機能を追加します。PowerPC には RyuJIT バックエンドがないため、マネージドコードはインタープリタで実行されます。このPRは PAL とプラットフォームレイヤーのみで、コード生成器は含まれていません。
続きを読む
@premun ・ GitHub ・ area-Infrastructure-mono
Helix Job Monitor機能をdotnet/runtimeのAzure DevOps パイプラインに統合するための変更です。useHelixMonitorパラメータをHelix関連のパイプラインテンプレート全体に追加し、runtimeパイプラインのテストレグで有効化し、Microsoft.DotNet.Helix.JobMonitor ツール依存関係を追加しています。
@jonathandavies-arm ・ GitHub ・ area-CodeGen-coreclr community-contribution
ARM64におけるExtractMostSignificantBits操作の消費者を最適化するPull Request。比較マスク操作の生成コードを改善し、ARM64命令セットの効率的な利用を実現します。関連議論は#121981 のディスカッションを参照。
2026年08月03日 (21 PRs) うち Bot 1 件 この日のページ →
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Component)の IData カスタム初期化方式を、単一の eager OnInit フックから名前付きの遅延初期化メソッド([CustomInit] 属性経由)へリファクタリングしました。プロパティへのアクセス時にのみ初期化ロジックが実行され、結果がメモ化されます。これにより、不要な初期化処理を回避し、パフォーマンスを改善します。
// 従来の方式(削除)
public void OnInit() { /* 全プロパティの初期化ロジック */ }
// 新方式(追加)
[CustomInit(nameof(InitializeProperty))]
public required string Property { get; init; }
private string InitializeProperty() { /* 当該プロパティのみの初期化ロジック */ }
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Data Access Contract)のExceptionコントラクトにおいて、x64ターゲットでのスタックフレーム列挙時に初フレームのIP(命令ポインタ)補正バグを修正します。ランタイムが既にIPを調整していない場合、初フレームのIPをx64のみで1減じる処理を追加しました。内部診断テスト中に発見されたバグ修正です。
@jakobbotsch ・ GitHub ・ area-CodeGen-coreclr
OSR(On-Stack Replacement)およびEnC(Edit and Continue)関数における非同期の「resumed?」インジケータローカル変数の処理を改善しました。インジケータを他の遷移保持状態と同様に扱い、安定したスタックスロットを保持領域に割り当て、OSRパッチポイント情報を通じてティア0フレームオフセットを通信するようにしました。これにより、OSRでのインジケータ再計算の必要性が排除され、EnCでの状態保持がより一貫性を持つようになります。
続きを読む
@kkokosa ・ GitHub ・ area-GC-coreclr
NativeAOT環境でServer GC回帰テストが正しく実行されるよう、プロジェクト設定を修正しました。NativeAOTではGC実装がリンク時に選択されるため、ServerGarbageCollectionプロパティを設定する必要があります。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
GC cDAC契約のフラッシュ動作に関するバグを修正するPRです。GC_1.FlushメソッドのシグネチャをIContract.Flush(FlushScope)インターフェースに準拠させることで、Target.Flush(...)呼び出し時にGC契約キャッシュが正しくクリアされるようにしました。内部診断テスト中に発見されました。
@steveisok ・ GitHub ・ Servicing-approved area-VM-coreclr
.NET 10でのリグレッションであるGC hole(未追跡オブジェクト参照)を修正します。非x86アーキテクチャで、メソッド戻り値がGC中断用にhijackされる際、呼び出し元がCallDescrWorkerInternal(手書きアセンブリで GC情報なし)である場合に、戻り値レジスタのobjectrefが追跡・更新されない問題を解決します。
@tommcdon ・ GitHub ・ area-Diagnostics-coreclr
Runtime Async continuationの型情報がGCヒープダンプで解決不可能になる問題を修正します。メタデータレスの継続型はTypeHandle::UpCastTypeIfNeeded()を使用してベース型(System.Runtime.CompilerServices.Continuation)として出力することで、dotnet-gcdumpなどのEventPipeリーダーが正しい型名を表示できるようにします。
検証結果:
修正前 : 128個の継続オブジェクトがType(0x02000000)と表示
修正後 : System.Runtime.CompilerServices.Continuationとして正しく表示
続きを読む
@sbomer ・ GitHub ・ linkable-framework area-Tools-ILLink
ILLink(トリマー)とNativeAOT(ILCompiler)間でのEnum値を含む置換XML定義の一貫性を向上させるPRです。ILLinkで数値文字列をEnum基本型として解析可能にし、NativeAOTではint型基本のEnumにメンバー名による置換を対応させます。両方でテストカバレッジを追加しています。
@alinpahontu2912 ・ GitHub ・ area-System.IO.Compression
圧縮関連ライブラリおよびTar形式ライブラリ内のコメント記述を修正するPRです。コードロジックの変更ではなく、ドキュメンテーション品質の向上を目的とした変更です。
@Copilot ・ GitHub ・ area-VM-coreclr
CoreCLRのinteropスタブで使用されていたcalliターゲットのビットタグ付けエンコーディング((target << 1) | 1)を削除しました。MethodDescとアンマネージドターゲットハンドルが、ビットタグに依存せず実際のストレージセマンティクスに従うように変更されました。
@matouskozak ・ GitHub ・ os-android area-Infrastructure-mono
内部CI(Continuous Integration)パイプラインでAndroid arm/arm64のテストペイロードをHelixに送信しないようにする変更です。ビルド自体は引き続き実行されますが、内部環境にはAndroidデバイスキューがなく、x86_64エミュレータキューでは実行できないため、テスト送信をスキップします。公開CI環境とAndroid x64エミュレータテストは影響を受けません。
続きを読む
@matouskozak ・ GitHub ・ area-CodeGen-Interpreter-coreclr
インタープリタのReverse P/Invoke(UnmanagedCallersOnly)エントリーパスで、デバッガーのTraceCallフックを協調的GCスコープ内で実行するように修正しました。これにより、JIT Reverse P/Invokeヘルパーの順序と一致させ、Checked runtimeで契約違反エラーが発生する問題を解決しています。
@rolfbjarne ・ GitHub ・ area-System.Runtime.InteropServices
.NET 11以降で全Apple プラットフォームでサポートされるようになったSystem.Runtime.InteropServices.ObjectiveC APIに対し、プラットフォーム属性を更新してサポート範囲を反映させます。macOSに限定されていたObjectiveCMarshalとObjectiveCTrackedTypeAttributeに、iOS、tvOS、Mac Catalyst向けの[SupportedOSPlatform]属性を追加します。
続きを読む
@wfurt ・ GitHub ・ area-System.Net
Windows上でのネットワークインターフェース列挙の動作を調整しました。.NET 9で導入されたGAA_FLAG_INCLUDE_ALL_INTERFACESフラグにより、トンネリングやVPN用の隠されたインターフェースが大量に列挙されるようになり、アプリケーションの動作に悪影響(特にGetIsNetworkAvailableの破損)を引き起こしていました。
本修正では、従来の「有用な」インターフェースリスト(.NET 8相当)を第1パスで取得し、その後で追加のNDISインターフェースをOperationalStatus.Unknownとして追加することで、互換性を維持しつつ問題を解決します。
続きを読む
@rosebyte ・ GitHub ・ area-Extensions-Configuration
.NET 10で導入された回帰バグを修正します。コレクション内のポジショナルレコード(コンストラクタパラメータを持つレコード)にnull値を持つ設定をバインドしようとすると、該当エントリが無言で削除されていました。PR #116677によるnull値の取り扱い変更が根本原因で、BindParameterがnullを「バインド値がない」と誤釈するため例外が発生し、BindArrayの例外処理により削除されていました。
続きを読む
@Copilot ・ GitHub ・ area-Diagnostics-cdac
cDAC(Component Data Access Contract)を使用して CLRDataMethodInstance の GetDefinition と GetAddressRangesByILOffset APIを実装しました。メソッド定義のメタデータ解決とILオフセットから native address ranges の生成を行い、レガシー DAC との互換性を維持しています。
@rosebyte ・ GitHub ・ area-Extensions-FileSystem
Microsoft.Extensions.Configurationの機能テストにおけるファイルウォッチャーの安定性を向上させるPR。特にLinux/コンテナ化/ストレス環境でのテスト失敗を減らすことを目的として、ファイル変更再読込動作を検証するテストをより堅牢にしています。
@max-charlamb ・ GitHub ・ area-Diagnostics-cdac
cDAC(Contracts Data Access Component)のモジュールルックアップマップアクセスをリファクタリングし、ネイティブルックアップマップレイアウトの詳細を消費者コードに公開しないようにします。ModuleLookupTablesレコードを廃止し、代わりにモジュール+種類ベースのルックアップ操作をLoaderコントラクト内に集約することで、APIの抽象化レベルを向上させます。
続きを読む
@Copilot ・ GitHub ・ area-System.Transactions
TransactionManager.DefaultTimeout および MaximumTimeout のセッターに競合状態が存在していた問題を修正しました。ゲッターが LazyInitializer.EnsureInitialized でロックを取得する一方、セッターが Interlocked.Exchange と平文の書き込みを使用していたため、別スレッドのゲッターが新しい値を上書きする可能性がありました。すべての処理をロック下で実行することで状態の一貫性を確保し、競合状態を排除しました。
続きを読む
@Copilot ・ GitHub ・ linkable-framework area-Tools-ILLink
カスタム属性のジェネリック引数に対するデータフロー分析を修正し、new()制約を持つジェネリック属性がそのジェネリック引数のパラメータレスコンストラクタを確実に保持するようにしました。また、トリマーがIL2091を出力する際のNullReferenceException を防ぐため、null安全性を強化しました。
2026年08月02日 (8 PRs) この日のページ →
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Debugger Access Component)のGetModulePath APIを修正し、ディスク上に実際に存在するファイルパスのみを返すようにしました。メモリ内モジュールやダイナミックモジュール(LoaderがPath情報を返さない場合)について、FileName フォールバックを削除し、適切に"パスなし"を報告するようにします。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Common Data Access Component)の診断機能でのバグを修正しました。EnumerateInstantiationFieldsメソッドにおいて、approximate TypeHandleがnullの場合に例外を投げるように修正し、ネイティブ実装のDacDbiInterfaceImpl::GetTypeHandlesのセマンティクスに合わせています。
@AndyAyersMS ・ GitHub ・ area-System.Runtime
Random.InternalSample()メソッドに[MethodImpl(MethodImplOptions.NoInlining)]属性を追加し、メソッドのインライン化を抑止する変更です。このメソッドは予測不可能な分岐を含んでおり、ループ内でインライン化されるとif変換が行われずパフォーマンスが低下するため、スタンドアロンメソッドとして保持することを意図しています。
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(Compact Diagnostic Data Contract)における静的アドレス計算のバグ修正。RVAフィールドの静的アドレスが TargetPointer.Null にデフォルト設定されていた問題を修正し、正しく計算されるようにしました。内部テスト中に発見された問題です。
@teo-tsirpanis ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
ComVariant.As<T>()メソッド内の型チェック関数ThrowIfNotVarTypeを改善し、毎呼び出しで発生していた一時的な配列割り当てを削除しました。params VarEnum[]からparams ReadOnlySpan<VarEnum>に変更することで、RVAフィールドへの割り当てフリーな参照として最適化されるようになります。
@jkotas ・ GitHub ・ area-Diagnostics-coreclr
PR #131551で実施されたcDAC(Compact Diagnostic Access Component)管理プロジェクトの$(NetCoreAppMinimum)へのリターゲティングを取り消し、$(NetCoreAppToolCurrent)に戻すリバート変更です。関連Issue #131680に対応しています。
@MihaZupan ・ GitHub ・ area-System.Net
非同期列挙可能のStreamへのシリアライズ時に、各要素/イベント出力後に明示的にFlushを実行することで、IISのようなバッファリング層を挟んでも"live"な出力が消費側から即座に観測可能になるようにします。KestrelやNetworkStreamは自動Flushするため問題ありませんが、バッファリングを行う実装に対応する必要があります。
@teo-tsirpanis ・ GitHub ・ area-System.Runtime.InteropServices community-contribution
Windows interop関連のクリーンアップPRです。#125193で不要になったファイルの削除、プロジェクトファイルのLink メタデータ修正によるSolution Explorer内の重複Interopフォルダ表示の解決、および隣接する同一ConditionのItemGroupの統合を実施しています。
2026年08月01日 (4 PRs) この日のページ →
@jeffhandley ・ GitHub ・ area-Infrastructure
dotnet/issue-labelerツールのGitHub Actions ワークフローをv2.2.0にアップデートし、labeler-train.ymlで廃止予定ラベルの除外機能を追加しました。デフォルト除外ラベル(area-crossgen2-coreclr、area-AssemblyLoader-coreclr)を設定し、手動実行時に追加の除外ラベルをオプション入力(excluded_labels)で指定できるようにしました。
続きを読む
@jtschuster ・ GitHub ・ area-Serialization
WebSocketExceptionのネイティブエラーコードがスレッド状態に依存して変化するため、BinaryFormatterのテストにおいてToString()比較から除外する変更です。Win32Exceptionを継承するWebSocketExceptionはMarshal.GetLastPInvokeError()からNativeErrorCodeを設定するため、ライブテストオブジェクトと保存されたblobで異なる文字列表現を持つことがあります。同様の除外は既にSystem.Resources.Extensionsで実装されており、ここではそれをミラーリングします。
続きを読む
@rcj1 ・ GitHub ・ area-Diagnostics-cdac
cDAC(managed diagnostic access component)のライフタイム管理を修正し、DBI(Debugger Bind Interface)がDAC(Diagnostic Access Component)をアンロードする前に、cDAC管理下のCOM インターフェースをアンロードするための明示的なDestroy()メソッドを追加しました。これにより、caller所有のCOMオブジェクトの確定的なクリーンアップが可能になります。内部stackwalking cDAC テストの修正を含みます。
続きを読む
@EgorBo ・ GitHub ・ area-System.Runtime.InteropServices linkable-framework source-generator reduce-unsafe
[LibraryImport] 属性を使用するメソッドに対して、C# の unsafe evolution(更新されたメモリ安全性ルール)への対応を追加しました。新しいルールが有効な場合、すべての [LibraryImport] メソッドは明示的に safe または unsafe 修飾子を要求します。また、既存コードを移行するためのアナライザーとコード修正ツールが含まれています。