Amazon Corretto 8 のパッチの一覧表示
このセクションでは、Amazon Corretto 8 の OpenJDK に適用されるすべてのパッチを一覧表示します。OpenJDK プロジェクトの問題へのリンクも示します。
- [C8-1] 長時間実行中のネイティブの呼び出しによって G1 GC の呼び出しが停止されたときの早期の OutOfMemoryException を防ぐ。
-
G1 GC を使用するプログラムでは、Java ヒープがいっぱいになるまで程遠い場合でも、偽のメモリ不足 (OOM) 例外が発生することがあります。これが発生するのは、長時間実行中のネイティブの呼び出しを待っていたスピンループがわずか 2 ラウンド後に停止された場合です。この小さいパッチにより、このループはできる限り待つようになります。通常、さらに数ラウンドで十分です。最悪の場合でも、完全な GC が最終的に発生し (JDK-8137099 による)、また、問題は解決します。このパッチには、2 ラウンド以上を必要とする単体テストが含まれており、そのテストには、パッチが適用された場合にのみ合格となります。説明については、「JDK-8137099
」を参照してください。 - [C8-2] OpenJDK 10 からのバックポート、修正点: JDK-8177809
「File.lastModified() で数ミリ秒が失われる (常に 000 で終わる)」 -
このパッチは、ファイルの最終変更タイムスタンプのレポート方法に関する矛盾を取り除きます。また、ユーザーが第 2 レベルの精度を得られるように、ビルドプラットフォームと Java メソッド間で動作を標準化します。「JDK-8177809
」を参照してください。 - [C8-3] OpenJDK9 からのバックポート、修正点: JDK-8150013「ParNew: Prune nmethod のスキャベージ可能リスト」
-
このパッチは、Parallel および CMS ガベージコレクターの一時停止レイテンシーを短縮します。GC の「ルートスキャン」により、冗長なコード検査を減らすことで、最大 3 桁の高速化が実現します。
- [C8-4] OpenJDK 9 からのバックポート、修正点: JDK-8047338
「javac が関数記述子を取得するための非メンバーメソッドを正しくフィルタ処理しない」 -
このパッチは、機能インターフェイスが Exception 継承の例外をスローしたときのコンパイル時エラーを引き起こす、コンパイラのバグを修正します。
- [C8-5] OpenJDK 10 からのバックポート、修正点: JDK-8144185
「javac が誤った RuntimeInvisibleTypeAnnotations 長さ属性を生成する」 -
この問題により、Findbugs、JaCoCo、Checker Framework が整形式の入力プログラムで失敗していました。
- [C8-6] 文字列テーブルの拡大に基づいて G1 で文字列テーブルのクリーンアップをトリガーする。
-
このパッチは、Java ヒープの使用だけでなく文字列テーブルの拡大に基づいて、文字列テーブルエントリの消去に必要な「混合」G1 コレクションをトリガーします。後者は独立した測定であり、用途によっては、極めて低い頻度でトリガーされるか、まったくトリガーされないこともあります。その場合、文字列テーブルは制限なしに大きくなる可能性があります。これは実際、ネイティブメモリリークです。「JDK-8213198
」を参照してください。 - [C8-7] OpenJDK 9 からのバックポート、修正点: JDK-8149442
「MonitorInUseLists がデフォルトでオンになっていて、アイドル状態のモニターのデフレーションに時間がかかりすぎる」 -
このパッチは、スレッドを多用するアプリケーションのパフォーマンスボトルネックを解消することをデフォルトの設定にします。MonitorInUseLists を有効にすると、すべてのモニターではなく使用中の可能性のあるモニターのみのデフレーションが可能になります。
- [C8-8] OpenJDK 11 からのバックポート、修正点: JDK-8198794
「libnuma 2.0.3 による Cassandra 3.11.1 の起動時にホットスポットがクラッシュする」 -
このパッチは Cassandra 3.11.1 が起動時にクラッシュするのを防ぎます。
- [C8-9] OpenJDK 11 からのバックポート、修正点: JDK-8195115
「G1 Old Gen MemoryPool CollectionUsage.used の値に混合 GC の結果が反映されない」 -
このパッチを適用しないと、G1 GC の使用時に JMX によってヒープがどのくらいいっぱいになっているかを判断することはできません。
- [C8-10] Class.getSimpleName() と Class.getCanonicalName() を高速化する。
-
メモリ保存によってこれらの関数が大幅に高速化します。このパッチには正確性の単体テストが含まれます。「JDK-8187123
」を参照してください。 - [C8-11] OpenJDK9 からの JDK-8068736 のバックポート、修正点: 「Executable/Field.declaredAnnotations が同期しない」
-
スレッド同期を回避するキャッシュにより、Executable/Field.declaredAnnotations() のパフォーマンスが向上します。
- [C8-12] OpenJDK 9 からのバックポート、修正点: JDK-8077605
「静的フィールドを初期化すると javac で無限再帰が発生する」 - [C8-13] JDK-8130493 の修正: javac が注釈プロセッサの不正な形式のクラスを暗黙に無視する。
-
javac は注釈プロセッサの不正な形式のクラスファイルを暗黙に受け入れ、終了コード 0 を返しました。このパッチを適用すると、javac はエラーメッセージをレポートし、ゼロ以外の終了コードを返します。
- [C8-14] jmap ツールのエラーメッセージを改善した。
-
ターゲットプロセスが応答しない場合の追加のアプローチを提案するようにエラーメッセージを更新しました。「JDK-8213443
」を参照してください。 - [C8-15] JDK-8185005 の修正: ThreadMXBean.getThreadInfo(long ids[], int maxDepth) のパフォーマンスを向上させる。
-
このパッチは、OS スレッド ID から Java スレッドインスタンスを検索する JVM 内部関数のパフォーマンスを向上させます。これは、getThreadInfo()、getThreadCpuTime()、getThreadUserTime() などの ThreadMXBean 呼び出しに役立ちます。線形検索がハッシュテーブル検索に置き換えられるため、相対的なパフォーマンスは JVM 内のスレッドの数とともに向上します。
- [C8-16] OpenJDK 12 からのバックポート、修正点: JDK-8206075
「x86 で、バインドされていないアセンブラーラベルのアサートを分岐先として使用する」 -
ラベルクラスのインスタンス (疑似アセンブリコードの定義に使用) が C1 とインタプリタの両方で誤って使用されている可能性があります。ラベルの最も一般的な間違いは「分岐先」ですが、bind() を介してコード内の場所として定義されることはあり得ません。これらの例外をキャッチするためのアサートが追加されたため、トリガーされる 106 jtreg/hotspot および 17 jtreg/jdk テストに合格しません。したがって、UseLoopCounter が True だが UseOnStackReplacement が False だった場合、ラベル backingge_counter_overflow はバインドされなかったと判断しました。この問題は修正され、上記のテストによって未然に防がれます。
- [C8-17] gcc7 の使用時の JVM ソースコードの移植性を改善した。
-
このパッチは、gcc スイッチ「-Wno-deprecated-declarations」が問題を示すすべての場所に最新の型宣言を配置します。また、以降の関連する問題を検出するためにも、このスイッチを有効にします。これにより、現在のすべての Amazon Linux バージョンでソースコードがコンパイルされます。これは、JDK-8152856
、JDK-8184309 、JDK-8185826 、JDK-8185900 、JDK-8187676 、JDK-8196909 、JDK-8196985 、JDK-8199685 、JDK-8200052 、JDK-8200110 、JDK-8209786 、JDK-8210836 、JDK-8211146 、JDK-8211370 、JDK-8211929 、JDK-8213414 、JDK-8213575 の組み合わせです。 - [C8-18] JDK 10 からのバックポート、修正点: JDK-8195848
「StartManagementAgent の JTREG テストに合格しない」 -
詳細については、http://serviceability-dev.openjdk.java.narkive.com/cDFwZce9
を参照してください。 - [C8-19] 2 つの TCK テストに合格しない原因となっていたレガシー/無効な暗号スイートを再び有効にする。
- プリインストールされたライブラリを使用したサポートのための、OpenJDK9 からの 3 つのバックポート。
-
移植された項目: libjpeg 用 JDK-8043805
、libpng 用 JDK-8035341 、および lcms2 用 JDK-8042159 。 - IcedTea 3.8 からの aarch64 サポートの統合。
- ベンダー関連のメタデータを更新。
-
この OpenJDK ディストリビューションのベンダーとして Amazon を識別し、問題の報告のためのハイパーリンクを追加します。
- OpenJDK9 からのバックポート、修正点: JDK-8048782
「OpenJDK: PiscesCache : xmax/ymax 切り上げが原因で RasterFormatException が発生する可能性があります」。 -
このバグは、'(int minx,int miny,int maxx,int maxy)' 引数を受け入れるsun.java2d.pisces.PiscesCacheコンストラクタに関連しています。内部の 'bboxX1' と 'bboxY1' は、指定された最大の X 値と Y 値より 1 大きい値に設定されています。