注意点
このページは、dotnet/runtimeリポジトリにマージされたPull Requestを自動的に収集し、その内容をAIが要約した内容を表示しています。そのため、必ずしも正確な要約ではない場合があります。
目次
#126267 Disable CrlBuilderTests.DsaNotDirectlySupported on Android
- 作成者: @steveisok
- 作成日時: 2026年03月28日 23:19:55(UTC)
- マージ日時: 2026年03月29日 13:28:00(UTC)
- ラベル: area-System.Security
概要
Android環境でのCRL署名検証テストの不安定性に対処するため、CrlBuilderTests.DsaNotDirectlySupportedテストをAndroidプラットフォームで無効化しました。AndroidのHelix deviceプールに含まれるデバイスのBoringSSLバージョン差異とDSA署名の非決定性により、月間約25%の失敗率が発生していたため、[ActiveIssue]属性を追加してテストをスキップするように修正しています。
変更内容
- src/libraries/System.Security.Cryptography/tests/X509Certificates/CertificateCreation/CrlBuilderTests.cs
DsaNotDirectlySupported()メソッドに[ActiveIssue("https://github.com/dotnet/runtime/issues/119023", TestPlatforms.Android)]属性を追加
パフォーマンスへの影響
影響なし
関連Issue
#119023 — Android arm64 Release ビルドで月間12回の失敗が報告されている既知問題 #118603 — System.Security.Cryptography.Tests がAndroidのlowmemorykiller により月間93回OOMで強制終了(別途修正が必要)
その他
本テストは、カスタムDSAX509SignatureGenerator(DSA-1024 + SHA-1)でCRL署名を作成し、その署名をDSA.VerifyData(..., Rfc3279DerSequence)で検証しています。Androidデバイスプールのボリューム差異により、一部デバイスではDSA-1024 + SHA-1が非推奨暗号として拒否されること、および署名ごとのランダムなnonce k使用によるIEEE P1363→DER変換の結果差異が、verification失敗の根本原因です。既存ファイル内の他のテスト(#72906)でも同様のパターンが使用されています。
#126256 [Wasm RyuJit] more INDEX_ADDR codegen fixes
- 作成者: @AndyAyersMS
- 作成日時: 2026年03月28日 14:34:42(UTC)
- マージ日時: 2026年03月29日 14:34:45(UTC)
- ラベル: area-CodeGen-coreclr
概要
WebAssembly向けのRyuJIT JITコンパイラにおいて、INDEX_ADDR命令のコード生成を改善し、小さい型のインデックス処理を適切に扱うようにしました。
変更内容
- src/coreclr/jit/codegenwasm.cpp: INDEX_ADDR命令のコード生成ロジックを修正(+4/-5)
- src/coreclr/jit/regallocwasm.cpp: レジスタ割り当てロジックを調整(+2/-5)
これらの変更は、小さい型のインデックス値(例:byte、short)を扱う際のコード生成を正確にするもので、Wasm JITコンパイラの内部実装に関わります。
パフォーマンスへの影響
影響なし
関連Issue
その他
このPRはコードレビューのフィードバックに基づいた修正です。
#126240 Skip Unicode 17.0 named block tests on .NET Framework
- 作成者: @stephentoub
- 作成日時: 2026年03月28日 01:28:00(UTC)
- マージ日時: 2026年03月29日 11:37:07(UTC)
- ラベル: area-System.Text.RegularExpressions
概要
Unicode 17.0アップデート後に追加された58個の新しい名前付きブロックのテストケースが、Unicode 4.0のブロックのみをサポートする.NET Frameworkで失敗していた問題を修正します。新しいブロックテストを!PlatformDetection.IsNetFrameworkガードで条件付き実行して、.NET Frameworkでの116個のouterloopテスト失敗を解決します。
変更内容
- src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/RegexCharacterSetTests.cs
- Unicode 17.0で追加された新しい名前付きブロック(58個)のテストケースに対して
!PlatformDetection.IsNetFrameworkガードを追加 - .NET Frameworkでは従来のUnicode 4.0の名前付きブロックテストのみ実行
- 新しいブロック名テストケースは.NET Frameworkではスキップ
- Unicode 17.0で追加された新しい名前付きブロック(58個)のテストケースに対して
パフォーマンスへの影響
影響なし
関連Issue
なし
その他
この変更はプラットフォーム互換性の問題への対応です。.NET Frameworkが古いUnicodeバージョンの仕様に基づいており、最新のUnicodeブロック定義をサポートしていないため、テストを条件分岐させることで両方のプラットフォームでの正確なテスト実行を実現しています。
#126235 clang-21 on macos fixes
- 作成者: @AaronRobinsonMSFT
- 作成日時: 2026年03月28日 00:07:55(UTC)
- マージ日時: 2026年03月29日 06:08:21(UTC)
- ラベル: area-VM-coreclr
概要
Apple Clang 21(Xcode最新版)でのビルド失敗に対応するパッチです。主な変更は、新しいClangの厳格な型チェック(特に-Wc++-keyword警告と暗黙的なvoid*変換)に対応するため、ネイティブライブラリ群に明示的なキャストを追加しています。ICUヘッダーの警告も抑制しています。
変更内容
System.Security.Cryptography.Native.Apple関連: CF型API(
CFDictionaryGetValue、CFArrayなど)やメモリ割り当て(malloc)の戻り値に対し、明示的なキャストを追加pal_x509chain.c:mallocの戻り値をキャストpal_ssl.c: CF APIのバイトポインタとCFArray要素型をキャストpal_ecc.c:CFDictionaryGetValueの結果をCFNumberRefにキャストpal_networkframework.m: 型キャストとフォーマット整理、tls_ciphersuite_tへのキャストpal_ssl.h: 関連する型定義調整
System.Native関連:
pal_networking.c: Darwin無制限selectパスでcalloc戻り値へのキャスト追加pal_environment.m:malloc戻り値の明示的キャストpal_memory.c: メモリ割り当て関連の対応(11行追加)
System.Globalization.Native:
CMakeLists.txtで-Wc++-keyword警告を抑制(ICUヘッダー由来)テスト:
SwiftErrorHandling.swiftで戻り値の初期化処理を改善
パフォーマンスへの影響
影響なし
関連Issue
その他
- Apple Clang 21(clang-2100.0.123.102)での対応
- Clang 21のReleaseNotesで言及されている
-Wc++-keywordの変更に対応 - ICUの関連PRとも部分的に関連(unicode-org/icu#2913)
- Copilotレビュー時に、SwiftErrorHandling.swiftの
messageLength未初期化パスに関する指摘あり(低信頼度)
#126230 Enable the PatternsDataSet_GenerateInputsWithNonBacktracking test
- 作成者: @stephentoub
- 作成日時: 2026年03月27日 22:15:27(UTC)
- マージ日時: 2026年03月29日 14:11:44(UTC)
- ラベル: area-System.Text.RegularExpressions
概要
NonBacktrackingサンプラーの無限ループバグと、ループバックトラッキング最適化における論理エラーを修正して、PatternsDataSet_GenerateInputsWithNonBacktrackingテストを再有効化します。
修正内容:
- サンプラー無限ループ修正:すべてのミンタームが行き止まり状態に到達する場合、UndoTransitionで状態が復元されても終了条件がトリガーされない問題を
transitionSucceededフラグで追跡して解決 - バックトラッキング最適化バグ修正:
CanReduceLoopBacktrackingToSinglePositionで、後続シーケンスが完全にnullableの場合に不正な削減が発生していた問題を修正(iterateNullableSubsequentをtrueからfalseに変更)
変更内容
- SymbolicRegexMatcher.Sample.cs:
SampleMatchesメソッドにtransitionSucceededトラッキングを追加し、実行可能な遷移がない場合にループを終了 - RegexNode.cs:
CanReduceLoopBacktrackingToSinglePositionのiterateNullableSubsequentパラメータをfalseに修正。後続がnullableの場合、任意のバックトラック位置でマッチ可能になるため、単一位置への削減は不正 - Regex.Debug.cs:サンプリング検証ロジックを強化し、サンプル入力が実際にマッチすることを確認してから返却
- テストファイル(2ファイル):テストを再有効化(SourceGeneratedはスキップ、タイムアウト設定)し、回帰テストケースを追加
パフォーマンスへの影響
テストセット拡大により、正規表現パターンの"実世界"データセットに18,000件の生成入力テストが追加されます。SourceGeneratedエンジンはRoslyn使用の性能上の理由からテストからスキップされており、Compiledエンジンとのコード生成共有でカバレッジは同等です。
関連Issue
その他
修正例:パターン([0-9\w\+]+\.)|([0-9\w\+]+\+)([\(\)]*) + 入力2+_のような複雑なパターンで、修正前はCompiledおよびSourceGeneratedエンジンが有効なマッチを拒否していました。この問題は後続シーケンスがnullableである場合の最適化エラーが原因でした。