エラーとトラブルシューティング
Q1サービス起動時にWindowsのイベントログに「Can not load JVM」というメッセージが出力されます
A
WindowsサービスからASTERIA Warpを起動した時に設定済みのJavaが参照できない場合に出力されるメッセージです。
メッセージに含まれるJavaが存在しているか、参照に必要な権限が設定されているか確認してください。
JavaのアップデートによりASTERIA Warpで使用している古いJavaが削除されることがあります。
詳細は以下の記事を参照してください。
バージョン1610では以下の記事も参照してください。
Q2ログに出力されるエラーコードの意味を教えてください
A
エラーコードは、次のようなフォーマットになっています。
例)NMON_F_0001
「エラーの分類」_「エラーのレベル」_「エラーの詳細番号」
エラーの分類
エラーの大まかな分類は次のとおりです。
- NMON・・・ASTERIA WARP Monitorより出力される
- AFRM・・・ASTERIA WARP FrameWorkより出力される
- FLEX・・・FlowServiceより出力される
- HTTP・・・通信障害などにより出力される
- SCH・・・スケジュール障害などにより出力される
- ASSN・・・セッション障害などにより出力される
- ASCN・・・コネクション障害などにより出力される
エラーのレベル
エラーのレベルによって次のような値になります。
- F:致命的エラー
- E:エラー
- W:警告
- I:情報
📝 NOTE
監視対象とするべきエラーコードについては、運用目的や環境などにより異なります。 エラーコードについては、エラーコード一覧を参照してください。
- フローサービスマニュアルの「運用ガイド」-「詳細なトピック」-「エラーコード一覧」
- パイプラインサービスマニュアルの「運用ガイド」-「エラーコード一覧」
システムログについては、以下を参照してください。
- フローサービスマニュアルの「運用ガイド」-「メンテナンス」-「実行ログ」
- パイプラインサービスマニュアルの「運用ガイド」-「メンテナンス」-「実行ログ」
Q3「java.net.SocketException: Connection reset by peer: socket write error.」というメッセージが出力されます
A
これは一般的にソケット接続が相手側から切断されたときにログファイルに出力されるメッセージです。「java.net.SocketException: パイプが切断されました。」と出力される場合もあります。 ASTERIA Warpの場合、たとえば、フローのSOAPトリガーで受信したリクエストの処理中に何らかの理由によりクライアント側でソケット接続が切断されたときにレスポンスをソケットに書き込むことができず、エラーコードHTTP_E_1001と一緒にこのようなメッセージが出力されます。 ソケットが切断されるきっかけとしては次のようにさまざまな要因が考えられます。
- Webブラウザーからの再読み込みや停止操作、タイムアウトなどによるソケット切断
- SOAPクライアントやFTPクライアントなどの障害や停止操作などによるソケット切断、終了
- スイッチングハブでのタイムアウト
- ネットワーク障害
Webブラウザーからのアクセスでこのエラーが出るケースはユーザーによる通常操作の範囲内ですのであまり意識する必要はありません。それ以外の場合、特にSOAP通信などのサーバー対サーバーの通信におけるエラーの場合は、ASTERIA Warpだけでなく接続先ソフトウェアや周りのネットワーク環境も含めて調査してください。
📝 NOTE
ASTERIA Warp 2412以降、SOAP機能は廃止されています。
Q4fsctrlコマンドの実行で「Can not get process list」というエラーメッセージが表示されます
A
このエラーメッセージの原因と対応策については以下のようなことが考えられます。
フローサービスが起動していない
フローサービスが起動していない状態でfsctrlコマンドを実行するとこのエラーメッセージが表示されます。 以下の内容を参考にし、フローサービスが正常に起動しているか確認ください。
ASTERIA Warpで指定したJavaが存在しない
Javaの自動更新によりASTERIA Warpで使用している古いJavaが削除される場合があります。 Standard/EnterpriseエディションではJavaが存在しない状態でflow-ctrlコマンドを実行すると「指定されたパスが見つかりません。」というエラーが発生します。
この場合は、削除された古いJavaを再インストールしてください。
Javaの自動更新については、以下の記事も合わせてご確認ください。
Q5フローサービス起動時にログにエラーや警告メッセージが出力されますが?
A
フローサービス起動時に以下のログファイルにERROR、WARNレベルのメッセージが出力される場合がありますが、動作に問題はありません。
asteria-console.log
asteria-console.logは参考情報として出力しています。通常、ログ監視などの必要はありません。
ERROR [ManagementConsole] log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
ERROR [ManagementConsole] log4j:WARN Please initialize the log4j system properly.
FlowService.log
オプションコンポーネントのライセンスがない場合に出力されます。メッセージに表示されたコンポーネントは実行することができません。使用中のライセンスの内容を確認するには、管理コンソールの「ヘルプ」-「ライセンス情報」で確認することができます。
WARN [ComponentManager,main] FLEG_W_1011: コンポーネントのライセンスがありません : [コンポーネント名]
📝 NOTE
運用上このメッセージを出力しないようにするには起動時に「コンポーネントのライセンスがありません」というメッセージがログに出力されますを参照してください。
Q6「コネクションプールをクリアしました」というメッセージが出力されます
A
「コネクションプールをクリアしました」というメッセージはコンポーネントでコネクション取得時にエラーが発生した場合、またはフローサービス管理コンソール(FSMC)などからコネクションプールのクリア操作を行った場合に出力されるメッセージです。プールがない場合には何も行いませんがログにメッセージは出力されます。 エラー発生の直後にコネクションプールのクリアを実施しますが、ほぼ同時であるためログ出力の関係で本メッセージとエラー発生時のメッセージの出力が前後することがあります。 コネクションプールについては以下のFAQも参照してください。
Q7「java.lang.NoClassDefFoundError: Could not initialize class」というエラーが発生します
A
ASTERIA Warpで使用するJava Runtime Environment(JRE)としてJava1.8.0_261(262)以降を指定すると一部機能でエラーが発生しています。 例えば、以下のようなエラーが報告されています。
java.lang.NoClassDefFoundError: Could not initialize class com.infoteria.asteria.flowlibrary2.mapper.format.FORMATDATE$JapaneseDateFormat
java.lang.NoClassDefFoundError: Could not initialize class com.infoteria.asteria.flowlibrary2.mapper.date.STRTODATE$JapaneseDateFormat
java.lang.NoClassDefFoundError: com.ibm.icu.text.SimpleDateFormat
java.lang.NoClassDefFoundError: Could not initialize class com.ibm.icu.impl.ICUResourceBundle
この場合、動作検証が終了しているJava VMをご利用ください。
詳細については下記のニュースをご参照ください。
または本現象が解消されているASTERIA Warp 2012 を使用してください。
Q8フロー実行時に「local class incompatible: stream classdesc serialVersionUID」というメッセージが出力されます
A
ASTERIA Warpサーバーとバージョンが異なるフローデザイナーを使用してフローを実行したときに出力されるメッセージです。
使用しているデザイナーとサーバーのバージョンを確認してください。 FAQ「ASTERIA Warpサーバーへバージョンが異なるフローデザイナーを接続することはできますか?」も参照してください。
Q9起動時に「PermSize」に関するエラーが出力されます
A
ASTERIA Warpの起動時に、asteria-console.logに下記のエラーが出力される場合があります。
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=64m; support was removed in 8.0
Java 8以降では、起動オプションより「PermSize」関係の指定が廃止されました。 以前のASTERIA WarpバージョンにてPermSize関係の設定があり、バージョンアップ時にそのまま使いますとこのようなエラーが発生します。
ASTERIA Warpの起動オプションから「PermSize」関係の指定を削除してください。
Q10フローをコンパイルするとStackOverflowErrorが発生します
A
プロジェクトAのFlow1でプロジェクトBのFlow2を呼び出し、プロジェクトBのFlow2からプロジェクトAのFlow2を呼び出すようにプロジェクト間で循環的にフローの呼び出しが行われているとコンパイル時にStackOverflowErrorが発生し正常にコンパイルされません。
このようなフロー呼び出しにならないよう、プロジェクトのフロー構成にご注意ください。
Q11「cannot connect to host」というエラーが出力されます
A
ASTERIA Warpの使用JavaバージョンがJava8u111以降、且つプロキシ認証を行うプロキシサーバーを設定した場合に今回のメッセージを含むエラーが出力されます。 「cannot connect to host」
この場合、以下の手順で対応してください。
- 管理コンソールの「設定」-「サービス」-「フロー」画面にある、起動の「編集」をクリックして表示します。
- 「その他のオプション」項目の最後に「-Djdk.http.auth.tunneling.disabledSchemes=""」を追加して「更新」ボタンをクリックします。
- フローサービスを再起動します。
Q12「unable to find valid certification path to requested target 」というエラーが出力されます
A
ASTERIA WarpがクライアントとなりSSL通信を行おうとした際、接続先サーバーの認証局証明書が登録されていない場合に今回のメッセージを含むエラーが出力されます。
「unable to find valid certification path to requested target 」
この場合、既にインストールされているサーバー認証局証明書を確認し、必要に応じてサーバー認証局証明書を追加してください。
手順については、FAQ「コンポーネントからHTTPSサーバーに接続したいのですが、証明書はどこに登録すればいいですか?」を参照してください。
Q13「接続は閉じられています」というメッセージが出力されます
A
このメッセージは対象RDBとのコネクションが切断されている場合に出力されます。 コネクションが切断される理由として考えられるものとしては、次のようなものが挙げられます。
- データベースサーバー側から切断された
- ファイアウォールにおいて一定時間の無通信による強制切断があった
- ネットワーク的な要因で切断された
なお、コネクション設定でコネクションプールを有効にされている場合は、コネクション設定でコネクションプールしないように設定を変更するか、またはコネクションプールがタイムアウトする時間を短く設定してコネクションの保持時間との関連性を確認してください。 コネクションプールのエラーについてはFAQ「コネクションプールを利用するとエラーになります」を参考にしてください。
Q14「Software caused connection abort: recv failed」というエラーメッセージが出力されます
A
このエラーメッセージは、ASTERIA WarpがDBに接続しようとしたが既にコネクションが閉じられていたときに出力されます。 原因としては、ネットワーク接続の問題や接続先のDB側からコネクションが切断されたことが考えられます。現象発生時のネットワーク接続の状況やDB側からコネクションが切断されていないかどうかDB側の設定やログ等を確認してください。
📝 NOTE
長時間アクセスを受けていないDB側でコネクションを切断していることが原因であるという事例があります。
あわせてFAQ「「Communications link failure」というエラーが出力されます」も参考にしてください。
Q15「NMON_E_1011: プロセスの開始に失敗しました」というメッセージが出力されます
A
asteria.logや起動コンソールに次のようなエラーが出力されることがあります。
NMON_E_1011: プロセスの開始に失敗しました <サービス名>
過去にあった事例としては、バージョンアップ時のインストールが正しく行なわれなかった場合があります。
事例より下記のような原因が考えられます。
- 既にインストールされているASTERIA Warpに上書きインストールしようとした
- ASTERIA Warpの動作中にインストールしようとした
このような場合には、一度アンインストールしてから再度インストールして移行を行なってください。詳しい手順については、ASTERIA Warp/Warp Liteバージョンアップ手順を参照してください。
または、バージョンアップとは別に、Windowsの場合はサービスからの起動とコマンドラインからの起動の二重起動になっている可能性もあります。どちらか一方のみの起動手順を行ってください。詳しくは、「フローサービスマニュアル」の「運用ガイド」-「起動・停止と管理」-「Windows」を参照してください。
Q16「Communications link failure」というエラーが出力されます
A
RDBとの連携で、プールされたコネクションが解放される前に何らかの理由によって強制的に切断されていた場合、そのプールされたコネクションを利用しようとした最初のフローで上記エラーが発生します。「Broken pipe」というメッセージを含むエラーが出力されることもあります。
コネクション設定の「コネクションプール」項目で「false」を選択してコネクションプールしない場合にも、1つのフロー実行中はコネクションが継続して使用されるためフロー実行中にコネクションが切断された場合にこのエラーが発生することがあります。
原因と対処方法については、FAQ「コネクションプールを利用するとエラーになります」をご参照ください。
あわせて、FAQ「コネクションプールとは何ですか?」もお読みください。
Q17「SOAPでのフロー実行要求がフローの終了を待たずにタイムアウトしました」というメッセージが出力されます
A
このエラーは、フローの実行時間がフローに設定されているタイムアウト値を超えたときに出力されます。これが出力された後でもフローは最後まで実行されます。
📝 NOTE
フローの実行中に発生したエラーではありません。
フローのタイムアウト値は、フローデザイナーのツリーペインでフローを選択したときにインスペクタに表示されるプロパティ「タイムアウト」項目で変更できます(初期設定値は180秒)。
Q18「java.lang.IllegalAccessError」というエラーが出力されます
A
flowthinclient.jarファイルがフローサービスのクラスパスに存在する場合、このエラーが出力されることがあります。flowthinclient.jarはフローサービス内では使用できませんので注意してください。
発生してしまった場合は、[DATA_DIR]/system/lib/userlib (バージョン4.9.1以前の場合は[INSTALL_DIR]/jre/libや[INSTALL_DIR]/flow/lib/userlib) 配下にflowthinclient.jarファイルが存在するかどうかを確認してください。
また「java.lang.IllegalAccessError」というエラーメッセージは以下のサイトにあるとおり通常は発生しないエラーです。
原因としては、クラスの定義が変わってアクセスできていたクラスのフィールドやメソッドにアクセスできなくなったことが考えられます。flowthinclient.jar以外にもフローサービスで使用しているライブラリと同じクラスを含むライブラリを配置した場合に発生することがありますので、ライブラリファイルを確認してください。
Q19「Too many open files」というメッセージが出力されています
A
このエラーは、OSのファイルディスクリプタの制限を超えたときに発生します。メッセージが出力された時にオープンしていたファイル数を確認し、次のように対処してください。
- 同時にアクセスするファイル数を減らすように並行実行数を制限するなどフローや実行設定で考慮する
- Unix系の場合はファイルディスクリプタの最大数を増やすようOSの設定を変更する
Q20リクエストのキューの上限値に関するメッセージが出力されたときはどうすればよいですか?
A
リクエストキューの状態に応じて、次のいずれかのメッセージがログに出力されることがあります。
AFRM_W_2003: キューの上限値を超えました:実行要求がシステムで処理可能な量を上回った場合に出力されます。AFRM_W_2007: キューの上限値に近づいています (最大値:64 現在値:48):サービスに対する負荷が高く、リクエストを処理し切れなくなりつつある状態を示します。
フローの実行要求は、一旦リクエストキューに入れられ、その後空いている実行スレッド(Workerスレッド)で実行される仕組みになっています。フローサービス管理コンソール(FSMC)の「状態」-「フロー」-「グラフ」で、メッセージが出力された時間帯に受け付けたリクエストの数や実行状態のスレッド数を確認してください。
CPUやOSの性能を考慮の上、FSMCの「設定」-「サービス」-「フロー」のフローエンジンや各リスナーのスレッド最大サイズやリクエストキューサイズの設定を変更してください。
Q21「HTTP_E_1007: [xxx.xxx.xxx.xxx] コンテキストがありません: /favicon.ico」というメッセージが表示されます
A
このメッセージは、フローの実行でエラーが発生したのではなく、ブラウザなどのクライアントからHTTPリクエストを受けたときに、該当のファイルや実行設定が存在しなかった場合に出力されます。favicon.icoは必須ではないため、メッセージは無視しても問題ありません。
📝 NOTE
favicon.icoとはブラウザのURL欄の左に表示されるアイコンです。
HTTPユーザーのホームディレクトリにfavicon.icoを置き、アクセスされるHTMLにfavicon.icoのパスを記述すると、実際にブラウザからのアクセス時に表示されるようになり、メッセージの出力を抑止できます。
guestユーザーのホームディレクトリに配置する例(初期設定の場合)
- 配置場所: [DATA_DIR]/flow/home/guest/htdocs/favicon.ico
- 出力HTMLにfavicon.icoのパスを記述:
<link rel="shortcut icon" href="http://server name:21380/guest/favicon.ico">
📝 NOTE
対象のユーザーがHTTPユーザーとして設定されている必要があります。favicon.icoは、通常はWebサーバーのドキュメントルート直下に置くと認識されますが、ASTERIA Warpではルート直下(/)に静的ファイルを配置することはできません。
Q22「Error opening socket」というメッセージが出力されます
A
ログに「Error opening socket」というメッセージが出力されて次の現象が発生する場合があります。
- データベースに接続できない、HTTPリクエストの送受信ができない、などASTERIA Warpから外部に接続できない
- スケジュールが起動されない
- フローサービス管理コンソール/パイプラインコーディネーターが表示されない
この場合、コマンドラインより次のコマンドを実行してネットワークへの接続状況を確認してください。
netstat -na
実行結果でステータスがTIME_WAITのソケットが大量に表示される場合、OS側でソケットが枯渇した可能性があります。
OSを再起動するなどの対応を検討してください。
📝 NOTE
ASTERIA Warpの再起動のみでは解決されません。
Windowsの場合、次の問題の可能性があります。OSの再起動、または修正プログラムの適用を検討してください。
Microsoft サポート KB 2553549(日本語)
Q23「ログサーバーから接続解除しました」というメッセージが出力されています
A
ASTERIA Warpの起動/停止時にasteria.logに以下のメッセージが出力されます。
INFO [asmon,monitor,LogThread] NMON_I_3043: ログサーバーから接続解除しました
ログサーバーとは、FlowServiceとFTPService以外のログ出力に使用しているサーバーです。 ASTERIA Warpの起動時にこのメッセージが出力されるのは、FlowServiceとFTPServerがこのログサーバーを使用せず直接ログを出力するために起動直後にログサーバーから接続を解除するからです。ASTERIA Warpが正常に動作している状態でも出力されるものであり、メッセージが出力されていてもASTERIA Warpの動作に問題ありません。
Q24「an I/O error occured: Read timed out」というメッセージが出力されます
A
このエラーは、コンポーネントで連携するサーバー(メールサーバーなど)と接続できなかった場合に発生します。ASTERIA Warpと接続先サーバーとの間のネットワーク障害により接続ができない、接続先サーバーが停止しているなどの可能性があります。
エラーが出力された時間帯にネットワーク障害が発生していなかったか、接続先サーバーの稼働状況などについて確認してください。
Q25「FLEG_E_2124: 実行設定(スケジュール)が見つかりません」というメッセージが出力されます
A
通常、スケジュール実行設定を行うと、その設定は2つのファイルに保存されます。
- [DATA_DIR]/home/asu/TriggerMap.xconf(実行設定ファイル) (バージョン4.9.1以前: [DATA_DIR]/flow/home/asu/TriggerMap.xconf)
- [DATA_DIR]/data/schedule/[スケジュールID].scx(スケジュール設定ファイル) (バージョン4.9.1以前: [DATA_DIR]/flow/data/schedule/[スケジュールID].scx)
このメッセージは、実行設定にスケジュールの情報が存在しないにも関わらず、スケジュール設定ファイルがある場合に出力されます。通常の操作ではこのメッセージが発生することはありませんが、開発環境から本番環境へ移行する際のファイルの移行もれなど、何らかの理由により実行設定とスケジュール設定ファイルの情報に不整合が生じた場合に出力されます。
このエラーを回避したい場合は、次の手順でスケジュール設定ファイルを削除します。
- 該当エラーが発生したスケジュールIDを確認する
- ASTERIA Warpを停止する
- 該当のスケジュールIDと同名のスケジュール設定ファイル [スケジュールID].scx が存在する場合はそのscxファイルを削除する。存在しない場合は、scxファイルの中で
<scheduleItem id="[スケジュールID]">の記述があるファイルを削除する(※) - ASTERIA Warpを起動する
※最初にスケジュールを作成した場合はscxファイルの名前と内部のscheduleItem idは一致しますが、その後スケジュールの設定を変更して再登録したような場合にはscxファイル名が変わります。
Q26「NMON_F_0003: 予期せぬ終了が実行されます」というメッセージが出力されます
A
このメッセージはASTERIA Warp内のプロセスが外部から強制終了された時などに出力されます。たとえば、WindowsのタスクマネージャーやUnixのkillコマンドなどでJavaプロセスを強制終了した場合などは、ASTERIA Warpのモニタープロセスが強制終了を検出し、このようなメッセージを出力した後に自動再起動を試みます。
なお、タイミングによっては下記メッセージが出力される場合があります。
NMON_E_1004: プロセスが異常終了しました
プロセスの構成については「フローサービスマニュアル」の「はじめに」-「フロー機能」-「フローサービスのプロセス構成」を参照してください。(フローサービスのみ)
Q27「自ホストのIPアドレスが取得できません」というメッセージが出力されて起動しません
A
「NMON_E_1001: 自ホストのIPアドレスが取得できません。/etc/hostsなどの設定を見直してください。」というメッセージがasteria.logに出力されてフローサービス、パイプラインサービスが起動しないことがあります。
これは、自ホストに対するIPアドレスが正しく取得できないときに出力されます。自ホストのIPアドレスが正しく取得できる状態かどうかを確認して対処してください。
Q28「HTTPボディが長すぎます」というメッセージが出力されます
A
HTTPリクエストを受信してフローを起動するとき(URLトリガーのフローでHTTPデータ受信時など)、FlowService.logに以下のようなメッセージが出力されることがあります。
HTTP_E_1005: [127.0.0.1] HTTPボディが長すぎます: 3300004
これは、フローサービスのユーザーのコンテキスト設定で「最大ボディサイズ」に設定されている値よりも大きなボディをもつHTTPリクエストを受信したときに出力され、フローは実行されません。大きなファイルを受信するなどの場合にはこの値を大きくしてください。
「最大ボディサイズ」を変更する手順
- 管理者(asu)で管理コンソールにログインする
- メニューの「ツール」-「アカウント」を表示して該当のユーザー名をクリックする
- 「コンテキスト設定」欄の「編集」ボタンをクリックし、編集ダイアログで「最大ボディサイズ」項目の値を変更して「保存」ボタンをクリックする
💡 HINT
初期設定は1024KBです。コンテキスト設定はユーザーごとに設定します。⚠️ CAUTION
大きすぎる値に変更するとセキュリティ攻撃を受けた場合、メモリオーバーフローなどの原因になる可能性があるため注意が必要です。また、サイズ制限なしに設定することはできません。
Q29「Could not reserve enough space for object heap」というメッセージが出力されて起動できません
A
「Could not reserve enough space for object heap」というメッセージがasteria-console.logに出力されてFlowServiceが起動しないことがあります。これは、Javaがヒープ領域を確保できないことが原因です。メモリの割り当てを小さく変更することで起動できるようになります。
メモリ割り当ての変更は、フローサービス管理コンソールの「設定」-「サービス」-「フロー」の「起動」画面で行います。また、設定できるメモリサイズについてはFAQ「フローサービスで使用するメモリの最大サイズを設定するときの注意点は?」を参照してください。
Q30「AFRM_W_2002: スレッドはタイムアウトまでに終了しませんでした」というメッセージが出力されます
A
このメッセージは、フローサービス管理コンソールで設定されている監視タイムアウトの指定秒以内にフローが終了しなかった場合にFlowService.logに出力されます。 また、FSMCのグラフやモニターツールでは監視タイムアウトまでに終了しなかったスレッドはDead、WDEDとして扱われます。
指定秒以内にフローが終了しなかった場合の動作については、FAQ「フローがタイムアウトしたときの動作について教えてください」を参照してください。
Q31「プロジェクトキャッシュの容量を超えました」というメッセージが出力されます
A
このエラーメッセージは、フローエンジンのプロジェクトキャッシュサイズよりもプロジェクトの「キャッシュタイプ」プロパティが「常にキャッシュ」と設定されているプロジェクトの数が多い場合にFlowService.logに出力されます。
フローエンジンのプロジェクトキャッシュサイズの設定は、フローサービス管理コンソールの「設定」-「サービス」-「フロー」-「フローエンジン」をクリックし、「プロジェクトキャッシュサイズ」で確認することができます。プロジェクトプロパティの設定は、フローデザイナーのツリーペインでプロジェクトをクリックし、インスペクタで確認することができます。
今回のエラーを解消するには、フローサービス管理コンソールで「プロジェクトキャッシュサイズ」の値を大きくするか、フローデザイナーで各プロジェクトの「キャッシュタイプ」プロパティの値を変更して「常にキャッシュ」と設定しているプロジェクトの数を「プロジェクトキャッシュサイズ」よりも小さくなるようにします。
