java

JDK 8u181リリース・ノート

Java SE 8u181バンドル・パッチ・リリース(BPR) - 不具合の修正および更新

次の項では、すべてのJava SE 8u181 BPRで行われた変更をご紹介します。不具合の修正およびその他の変更は、日付順、最新のBPRから順に表示されます。以前のBPRの不具合の修正も現在のBPRに含まれていることに注意してください。

JDKソフトウェアのバージョンを確認するには、次のコマンドを使用します。

java -version

Java SE 8u181 b37の変更点

不具合の修正

BugId コンポーネント サブコンポーネント まとめ
8211107 core-libs javax.naming jdk 1.8.0_181とのLDAPS通信障害

Java SE 8u181 b36の変更点

不具合の修正

BugId コンポーネント サブコンポーネント まとめ
8204513
(社外秘)
deploy deployment_toolkit フォームのあるアプレットのブラウザ・ウィンドウのサイズを変更するとコンテキストが失われる

Java SE 8u181 b35の変更点

不具合の修正

BugId コンポーネント サブコンポーネント まとめ
8201818 client-libs 2d [macosx]属性を出力すると、"java.awt.print.Book"オブジェクトで設定されたページサイズが壊れる

Java SE 8u181 b34の変更点

不具合の修正

BugId コンポーネント サブコンポーネント まとめ
8208583 security-libs javax.crypto 内部KeyStoreバッファの管理を改善
8209129 security-libs javax.crypto 暗号バッファ管理のさらなる改善
8207775 security-libs javax.crypto CipherCoreバッファの管理の向上

Java SE 8u181 b33の変更点

不具合の修正

BugId コンポーネント サブコンポーネント まとめ
8202696 client-libs javax.swing ウィンドウの表音文字の除外範囲を削除 fontconfig.properties
8206242
(社外秘)
deploy webstart Java Web Startがhttp接続を開くときに "user.dir "の読み取り権限をチェックする

Java SE 8u181 b32の変更点

以前のBPR(8u172 b37)からの修正がこのバージョンに含まれていることに注意してください。

不具合の修正

BugId コンポーネント サブコンポーネント まとめ
8195095 client-libs javax.swing イメージがJEditorPaneで正しくスケーリングされない

JavaTM SE Development Kit 8、Update 181 (JDK 8u181)

2018年7月17日

この更新リリースの完全なバージョン文字列は、1.8.0_181-b13です(「b」は「build」を意味します)。バージョン番号は 8u181 です。

IANA Data 2018e

JDK 8u181には、IANAタイムゾーン・データ・バージョン2018eが含まれています。詳細は、JREソフトウェアのタイムゾーン・データ・バージョンを参照してください。

セキュリティ・ベースライン

JDK 8u181リリース時のJava Runtime Environment (JRE)のセキュリティ・ベースラインは、次の表のとおりです。

JRE Family Version JREセキュリティ・ベースライン(完全バージョン文字列)
8 1.8.0_181-b13
7 1.7.0_191-b08
6 1.6.0_201-b07

JREの有効期限日

JREは、セキュリティ脆弱性修正を含む新しいリリースが使用可能になると有効期限切れになります。セキュリティの脆弱性修正を含むクリティカル・パッチ・アップデートは、クリティカル・パッチ・アップデート、セキュリティ・アラートおよび速報で、1年前に発表されます。このJRE(バージョン8u181)は、2018年10月16日に予定されている次のクリティカルパッチアップデートのリリースと同時に失効します。

オラクルサーバーにアクセスできないシステムでは、二次的なメカニズムにより、2018年11月16日にこのJRE(バージョン8u181)の有効期限が切れます。いずれかの条件が満たされると(新しいリリースが使用可能になるか、有効期限に達すると)、JREは、新しいバージョンに更新するための追加の警告およびリマインダをユーザーに提供します。詳細は、JREの有効期限を参照してください。

削除された機能およびオプション

other-libs/javadb

Java DBの削除

Apache Derbyとも呼ばれるJava DBは、このリリースでは削除されています。

最新の Apache Derbyは、次の Apacheプロジェクトから直接入手することをお勧めします。

https://db.apache.org/derby

JDK-8197871 (非公開)

変更点

core-libs/javax.naming

LDAPサポートの改善

LDAPS接続でエンドポイント識別が有効になりました。

LDAPS(secure LDAP over TLS)接続の堅牢性を向上させるため、エンドポイント識別アルゴリズムがデフォルトで有効になりました。

以前は LDAPS サーバーに正常に接続できていたアプリケーションが、接続できなくなる場合があることに注意してください。このようなアプリケーションは、新しいシステムプロパティ : com.sun.jndi.ldap.object.disableEndpointIdentificationを使用して、エンドポイント識別を無効にすることができます。

エンドポイント識別アルゴリズムを無効にするには、このシステム・プロパティを定義(またはtrueに設定)します。

JDK-8200666 (非公開)

core-libs/java.io:serialization

より優れたスタックウォーキング

デシリアライズのオブジェクト作成段階で、新しいアクセス・チェックが追加されました。これは通常のデシリアライズの使用には影響しません。ただし、JDK内部APIを使用するリフレクティブ・フレームワークが影響を受ける可能性があります。システム・プロパティjdk.disableSerialConstructorChecksを値「true」に設定することで、必要に応じて新しいチェックを無効にできます。これを行うには、引数-Djdk.disableSerialConstructorChecks=trueをJavaコマンド行に追加する必要があります。

JDK-8197925 (非公開)

不具合の修正

このリリースに含まれる重要な不具合修正の一部を次に示します。

core-svc/debugger

JDK 8のJDWP APIを使用してJDK >=9をデバッグできない

VirtualMachineImpl.canGetInstanceInfo() の実装が修正され、JDK JVMs >= JDK 9 を確認できるようになりました。

この修正により、特定のデバッガ・エージェントが、ユーザー(開発者)からのアクションを必要とせずに、正しく動作するようになりました。

See JDK-8197943

hotspot/gc

G1 GC中のJVMクラッシュ

G1のコンカレント・マーキングによって到達不可能とみなされたklassは、ClassLoaderData/SystemDictionaryで参照でき、その_java_mirrorフィールドや_class_loaderフィールドを、ルートまたはその他の到達可能なオブジェクトに格納することで、再度存続させることができます。この方法で klass が復活するたびに、G1のSATB部分にこのことを通知する必要があります。通知がない場合、コンカレント・マーキングの備考フェーズは誤ってその klass をアンロードします。

この特定のクラッシュでは、G1がコンカレント・マーキングを行い、到達不可能なクラスのリストを準備している間に、Javaスレッド上のJVMTIは、CLD内のクラスをトラバースし、ロードされたクラスのjava_mirrorのためにスレッドローカルのJNIHandlesを格納することができました。G1は、これらのスレッドローカルJNIHandleの知識を持っておらず、注釈フェーズで、到達不能クラスに関する事前知識に従ってクラスをアンロードしました。これらのJNIHandlesが後でスキャンされると、クラッシュが発生します。

JDK-8187577に対するこの修正は、klass が復活したことを G1 の SATB に通知し、それをアンロードしないようにするものです。

JDK-8187577を参照してください

hotspot/gc

古いNUMAライブラリでの安定性の向上(-XX+UseNuma)

JDK 8 Update 152に含まれていた修正により、libnumaのバージョンが2.0.9より古いLinuxシステムでUseNUMAフラグを使用すると、起動中にHotSpot JVMがクラッシュする可能性がある回帰が発生していました。この問題は解決されています。

JDK-8198794を参照してください

 

不具合修正リスト

このリリースには、Oracle Critical Patch Updateで説明されているセキュリティ脆弱性の修正も含まれています。

# BugId コンポーネント サブコンポーネント まとめ
1 JDK-8201433 client-libs 2d BufImg_SetupICMで発生する可能性のあるクラッシュを修正
2 JDK-8198605 client-libs java.awt フォーカス不可能なテキストコンポーネントにタッチキーボードが表示される
3 JDK-8198606 client-libs java.awt テキストコンポーネントのフォーカスが外れても、タッチキーボードが非表示にならない
4 JDK-8199748 client-libs java.awt テキストコンポーネントが他のテキストコンポーネントからフォーカスを得た場合、タッチキーボードが表示されない
5 JDK-8187635 client-libs java.awt Windows の場合、Swing がウィンドウ起動時にキーボードのレイアウトを変更する
6 JDK-8203368 core-libs java.io:serialization ObjectInputStream filterCheck メソッドがNullPointerException をスローする
7 JDK-8202996 core-libs java.rmi RMI修正からのデバッグ印刷文の削除
8 JDK-8197943 core-svc デバッガ JDK 8でJDWP APIを使用してJDK 9 VMをデバッグできない
9 JDK-8194690 deploy   App-Vパッケージにバンドルされている JREが Java Web Startアプリケーションを起動しない
10 JDK-8190689 deploy plugin Javaが 「HttpOnly」クッキー属性の大文字と小文字を区別するように要求する
11 JDK-8201133 deploy webstart jnlp.versionEnabledと導入ルールセット機能を使用したメインjarのダウンロード時のセキュリティチェックの失敗
12 JDK-8189783 deploy webstart ファイル拡張子を関連付けたJava Web Startアプリケーションが、Webブラウザから2回目の起動時にキャッシュから削除される
13 JDK-8187223 deploy webstart 長いJNLPファイルが正しく解析されず、javawsパスで終わる
14 JDK-8199304 deploy webstart javaws.exeがUTF-8エンコードされたJNLPファイルの起動に失敗する
15 JDK-8038636 hotspot compiler クラスが再定義されると投機トラップが壊れる
16 JDK-8156137 hotspot compiler ReceiverTypeData::clean_weak_klass_linksのSIGSEGV
17 JDK-8188223 hotspot compiler IfNode::range_check_trap_proj()は、projの場合、dyingサブグラフをsingleで処理する必要がある
18 JDK-8169201 hotspot compiler モンゴメリ乗算組込み関数は、正しい名前を使用する必要がある
19 JDK-8187577 hotspot gc gcでコンカレント・マーキング中にJVMがクラッシュする
20 JDK-8199406 hotspot gc Java JDK 1.8.0_162-b32でのパフォーマンス低下
21 JDK-8055008 hotspot jvmti 再定義されたクラスの旧バージョンを保存するコードのクリーンアップ
22 JDK-8057570 hotspot jvmti RedefineClasses()テスト失敗assert((((Metadata*)obj)->is_valid())が失敗: objは有効
23 JDK-8198794 hotspot runtime libnuma 2.0.3でCassandra 3.11.1の起動時にホットスポットがクラッシュする
24 JDK-8078628 hotspot runtime linux-zeroがコンパイル済みのヘッダがないとビルドしない
25 JDK-8202065 install install 8u171以降、ウィンドウのserver-jreにjre/bin/javaw.exeがない
26 JDK-8199650 install install JDKのインストールが、パブリックJREをアンインストールする
27 JDK-8200418 javafx Web webPage.executeCommand("removeFormat", null) がbody要素のスタイルを削除する
28 JDK-8196011 javafx Web JFXPanelアプリケーションからWebViewを使用すると、断続的にクラッシュする
29 JDK-8076117 security-libs java.security EndEntityCheckerは、PKIX検証後にカスタム拡張機能を処理すべきでない
30 JDK-8170035 security-libs javax.net.ssl 暗号スイートリストを決定する際、無効化されたスイートに対するデバッグ出力がない
31 JDK-8074373 tools launcher クラスパス指定子の後にNMTオプションが指定されている場合、NMTが有効にならない
32 JDK-8196491 xml jax-ws SOAP リクエストの JAXB 文字列値の改行が " " にエスケープされる