WebOTX Application Server V8.1/V8.2において、Java SE 6 Update 18以降でStackOverFlowErrorが発生する問題について
概要
WebOTX Application Server V8.1/V8.2において、使用するJDKバージョンが Oracle Java SE 6 Update 18以降の場合、WebOTXドメインのログにエラーメッセージが出力され、エラーの発生タイミングによってはドメインが停止する場合があります。
なお、HP-UX Javaの場合は、Oracle Java SE 6 Update 18 相当の更新が含まれるVersion 6.0.07以降が該当します。
エラー内容
本障害に遭遇するとserver.logファイルに次のようなエラーメッセージが出力され、エラーの発生タイミングによってドメインが停止する場合があります。
・ログ・ファイルの配置先
<WebOTXインストール>/domains/<ドメイン名>/logs
・server.log ファイル
Exception in thread "Thread-0" java.lang.StackOverflowError
at java.lang.String.replaceFirst(String.java:2146)
at com.nec.webotx.logging.LogDomains.getLoggerResourceBundleName(LogDomains.java:401)
at com.nec.webotx.logging.LogDomains.getLogger(LogDomains.java:425)
at com.nec.webotx.logging.WebOTXLogManager.addLogger(WebOTXLogManager.java:15)
・
・
・
at com.nec.webotx.logging.LogDomains.getLogger(LogDomains.java:425)
at com.nec.webotx.logging.WebOTXLogManager.addLogger(WebOTXLogManager.java:15)
at java.util.logging.LogManager.demandLogger(LogManager.java:392)
at java.util.logging.Logger.getLogger(Logger.java:332)
詳細
Java SE 6 Update 18で行われたJDKロガーの修正によって互換性が損なわれたことが原因です。(Bug ID 6274920)
この修正により、JDKロガーからjava.util.logging.Loggerインスタンスへの参照が、強参照からjava.lang.ref.WeakReferenceに変更されました。
一方、WebOTXの内部では、これが強参照であることを前提としたロギング機能を備えています。このJDK自体の非互換が原因で、JavaVM内でGCが行われるとWebOTX内で利用しているjava.util.logging.Loggerインスタンスが失われます。それにより、WebOTX内で予期せぬjava.util.logging.Loggerインスタンスの取得が行われ、java.lang.StackOverflowError例外が発生します。
問題のある製品
次の製品が該当します。
- WebOTX Application Server Web Edition V8.1
- WebOTX Application Server Standard-J Edition V8.1
- WebOTX Developer (with Developer's Studio) V8.1
- WebOTX SIP Application Server Standard Edition V8.1
- WebOTX Enterprise Service Bus V8.1
- WebOTX Application Server Express V8.2
- WebOTX Application Server Foundation V8.2
- WebOTX Application Server Standard V8.2
- WebOTX Application Server Enterprise V8.2
- WebOTX Cluster V8.2
- WebOTX Developer (with Developer's Studio) V8.2
- WebOTX Enterprise Service Bus V8.2
対処方法
WebOTX AS では JDKの非互換に対応したパッチモジュールを公開しています。
WebOTX AS V8.1/V8.2向け最新パッチモジュールを適用してください。
※1 パッチモジュールのダウンロードにはPP・サポートサービスにご契約いただく必要があります。
※2 Readme に記載されている ID [低:3100008]の内容が本件に該当します。
参考ページ
製品名カテゴリ
WebOTX
WebOTX Application Server
WebOTX Service Integration
-
コンテンツID:
3010100421
-
公開日:
2012年06月01日
-
最終更新日:2013年07月09日