次の項では、すべてのJava SE 8u181 BPRで行われた変更をご紹介します。不具合の修正およびその他の変更は、日付順、最新のBPRから順に表示されます。以前のBPRの不具合の修正も現在のBPRに含まれていることに注意してください。
JDKソフトウェアのバージョンを確認するには、次のコマンドを使用します。
java -version
不具合の修正
| BugId | コンポーネント | サブコンポーネント | まとめ |
|---|---|---|---|
| 8211107 | core-libs | javax.naming | jdk 1.8.0_181とのLDAPS通信障害 |
不具合の修正
| BugId | コンポーネント | サブコンポーネント | まとめ |
|---|---|---|---|
| 8204513 (社外秘) |
deploy | deployment_toolkit | フォームのあるアプレットのブラウザ・ウィンドウのサイズを変更するとコンテキストが失われる |
不具合の修正
| BugId | コンポーネント | サブコンポーネント | まとめ |
|---|---|---|---|
| 8201818 | client-libs | 2d | [macosx]属性を出力すると、"java.awt.print.Book"オブジェクトで設定されたページサイズが壊れる |
不具合の修正
不具合の修正
| BugId | コンポーネント | サブコンポーネント | まとめ |
|---|---|---|---|
| 8202696 | client-libs | javax.swing | ウィンドウの表音文字の除外範囲を削除 fontconfig.properties |
| 8206242 (社外秘) |
deploy | webstart | Java Web Startがhttp接続を開くときに "user.dir "の読み取り権限をチェックする |
以前のBPR(8u172 b37)からの修正がこのバージョンに含まれていることに注意してください。
不具合の修正
| BugId | コンポーネント | サブコンポーネント | まとめ |
|---|---|---|---|
| 8195095 | client-libs | javax.swing | イメージがJEditorPaneで正しくスケーリングされない |
2018年7月17日
この更新リリースの完全なバージョン文字列は、1.8.0_181-b13です(「b」は「build」を意味します)。バージョン番号は 8u181 です。
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は、セキュリティ脆弱性修正を含む新しいリリースが使用可能になると有効期限切れになります。セキュリティの脆弱性修正を含むクリティカル・パッチ・アップデートは、クリティカル・パッチ・アップデート、セキュリティ・アラートおよび速報で、1年前に発表されます。このJRE(バージョン8u181)は、2018年10月16日に予定されている次のクリティカルパッチアップデートのリリースと同時に失効します。
オラクルサーバーにアクセスできないシステムでは、二次的なメカニズムにより、2018年11月16日にこのJRE(バージョン8u181)の有効期限が切れます。いずれかの条件が満たされると(新しいリリースが使用可能になるか、有効期限に達すると)、JREは、新しいバージョンに更新するための追加の警告およびリマインダをユーザーに提供します。詳細は、JREの有効期限を参照してください。
other-libs/javadb
Apache Derbyとも呼ばれるJava DBは、このリリースでは削除されています。
最新の Apache Derbyは、次の Apacheプロジェクトから直接入手することをお勧めします。
JDK-8197871 (非公開)
core-libs/javax.naming
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のコンカレント・マーキングによって到達不可能とみなされた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 文字列値の改行が " " にエスケープされる |