第6章 Red Hat build of OpenJDK 21.0.1 のバグ修正
Red Hat build of OpenJDK 21.0.1 には、以下のバグ修正が含まれています。
有効な .zip
ファイルで Invalid CEN header
エラーを修正
Red Hat build of OpenJDK 21.0.0 では、.zip
ファイルの ZIP64
フィールドに追加の検証チェックが導入されました (JDK-8302483)。ただし、これらの追加チェックにより、Invalid CEN header (invalid zip64 extra data field size)
エラーメッセージを含む有効な .zip
ファイルでの検証が失敗しました。
この問題を修正するために、Red Hat build of OpenJDK 21.0.1 は長さゼロヘッダーと、一部の ZIP64
作成ツールが生成する追加パディングをサポートします。
次のサードパーティーツールも、.ZIP ファイル形式仕様への準拠を強化するためのパッチをリリースしました。
- Apache Commons Compress の Empty CEN Zip64 Extra Headers の修正が Commons Compress リリース 1.11 で修正されました
- Ant 1.10.14 で修正された空の CEN Zip64 追加ヘッダーに対する Apache Ant の修正
無効な追加ヘッダーの書き込みに関する BND の問題は BND 5.3 で修正されました
注記maven-bundle-plugin
5.1.5 には、BND 5.3 パッチが含まれています。
これらの改善された検証チェックにより、デプロイメントされた ZIP または JAR ファイルに問題が発生する場合は、ファイルがどのように作成されたか、および問題を解決するためのパッチが生成ソフトウェアから利用可能かどうかを確認してください。Red Hat build of OpenJDK 21.0.0 以降では、jdk.util.zip.disableZip64ExtraFieldValidation
システムプロパティーを true
に設定すると、これらのチェックを無効にできます。
JDK-8313765 (JDK バグシステム) を参照してください。
VM ハンドシェイクがメモリー上で停止した場合に、世代別 ZGC の使用時に JVM がハングする可能性がある潜在的なデッドロックを修正
Red Hat build of OpenJDK 21.0.0 では、次の状況がすべて同時に発生すると、JVM がハングする可能性があります。
- JVM のヒープメモリーが不足していました。
- ガベージコレクター (GC) は、メモリーを再利用するための再配置フェーズを開始したところです。
- JVM スレッドローカルハンドシェイクがオブジェクトの再配置を要求していました。
Red Hat build of OpenJDK 21.0.0 には、この潜在的なデッドロックを回避するための修正が導入されています。
JDK-8311981 (JDK Bug System) を参照してください。
先読みと後読みを含む正規表現パターンで java.util.regex.MatchResult
によってスローされる潜在的な例外を修正
Red Hat build of OpenJDK 21.0.0 では、Matcher$ImmutableMatchResult
でネストされたクラス (JDK-8132995) の最適化により、java.util.regex.Matcher.toMatchResult()
によって返されたインスタンスを使用するときに意図しない回帰が発生しました。この回帰は、グループを含む先読みアサーションと後読みアサーションを含む java.util.regex.Pattern
クラスで発生しました。これらのグループが一致の範囲外にある場合、これらのグループにアクセスするときに java.util.regex.MatchResult
は StringIndexOutOfBoundsException
をスローしました。
Red Hat build of OpenJDK 21.0.1 では、一致結果の一部として最小開始位置を計算し、String
オブジェクトを構築するときに最初の一致の位置ではなくこの最小開始位置を使用することで、この問題を解決します。
JDK-8312976 (JDK Bug System) を参照してください。
Certigna ルート CA 証明書の追加
Red Hat build of OpenJDK 21.0.1 では、cacerts
トラストストアに Certigna ルート証明書が含まれています。
- 名前: Certigna (Dhimyotis)
- エイリアス名: certignarootca
- 識別名: CN=Certigna Root CA、OU=0002 48146308100036、O=Dhimyotis、C=FR
JDK-8314960 (JDK Bug System) を参照してください。
jdk.jar.maxSignatureFileSize
システムプロパティーのデフォルト値の増加
Red Hat build of OpenJDK 21.0.0 では、Java アーカイブ (JAR) ファイルで署名関連のファイルに許可される最大バイト数を設定するための jdk.jar.maxSignatureFileSize
システムプロパティーが導入されました JDK-8300596)。デフォルトでは、jdk.jar.maxSignatureFileSize
プロパティーは 8000000 バイト (8 MB) に設定され、一部の JAR ファイルでは小さすぎていました。
Red Hat build of OpenJDK 21.0.1 では、jdk.jar.maxSignatureFileSize
プロパティーのデフォルト値が 16000000 バイト (16 MB) に増加します。
JDK-8312489 (JDK Bug System) を参照してください。