異常終了の概要
本章の目的は、異常終了 (abend) の診断のやり方を理解することです。 異常終了には、エラーに対応して関連付けられたシステム完了コードがあり、 そのほとんどはエラーをより詳細に説明するための理由コードを伴っています。 ほとんどの場合は、そのエラーの内容をさらに詳細に説明する理由コードが付随します。 これらのコードは、以下を検索することによって見つけることができます。
- z/OS MVS システム・コード
- 障害が発生した個々のアプリケーションの資料。
以下に例を示します。
- Language Environment® の完了コードについては、「z/OS Language Environment ランタイム・メッセージ」を参照してください。
- RMF™ 完了コードについては、「z/OS RMF メッセージおよびコード」を参照してください。
異常終了は、以下のように分類されます。
- ソフトウェア検出
- 3 桁 16 進数のシステム・コード。4 バイト理由コードを伴うことがあります。 例えば、ABEND075。 システム・サービスまたは、システム機能がエラーを検出すると、システム異常終了コードが発行されると同時に、ABEND マクロや CALLRTM マクロが使われて、タスクやアドレス・スペースが終了させられます。
- 4 桁 10 進数のユーザー・コード。4 バイト理由コードが付随することがあります。 例えば、ABENDU4094。 ユーザー・コードが発行されるときは、ABEND マクロが使用され、タスクやジョブ・ステップ全体が終了させられます。 ジョブ・ステップ内の最高レベルタスクが異常終了する、関係のあるタスクあるいはサブタスクもすべて終了します。 サブタスクが終了すると、STEP=YES が指定されていない限り、 そのサブタスクの元で実行している作業のみが影響を受けます。
- ハードウェア検出:
ハードウェアは、命令の実行中にも、プログラム割り込みまたはマシン・チェックを行うことがあります。オペレーティング・システムは、これらのハードウェア障害を検出し、異常終了として示します。
例: ストレージ・キー 7 で実行されているアプリケーション内の命令が、キー 0 に割り当てられたストレージを参照しています。このストレージ・キーの相違が原因で保護例外が発生します この例外の結果、ハードウェアはプログラム割り込みコード 0004 をオペレーティング・システムに示し、これは ABEND0C4 として外部化されます。
関連情報
- z/Architecture® 解説書 SA88-8773
異常終了の症状。 以下の 1 つ以上の現象が現れたら、異常終了であることがわかります。
- コンソール画面上、システム・ログ、ジョブ・ログの中に、症状ダンプ・メッセージが現れたら、システム異常終了か、ユーザー異常終了です。
次の例では、コンソールに対して、メッセージ IEA995I が発行されています。
- 異常終了を表すシステム・メッセージ
- 示されているシステム完了コードに注意してください。
IEA995I SYMPTOM DUMP OUTPUT 731 SYSTEM COMPLETION CODE=EC6 REASON CODE=0000FD18 TIME=13.58.26 SEQ=00724 CPU=0000 ASID=0147 PSW AT TIME OF ERROR 070C4400 A90B111A ILC 2 INTC 78 NO ACTIVE MODULE FOUND - PRIMARY NOT EQUAL TO HOME NAME=UNKNOWN DATA AT PSW 290B1114 - 1F001F11 05EFEBEC D2640096 AR/GR 0: 00000000/00000000 1: 00000000/00000000 2: 00000000/2ED9E4D0 3: 00000007/820A33B8 4: 00000000/294F31D8 5: 00000000/2ED9E200 6: 00000000/28AADD08 7: 00000002/00000100 8: 00000007/7F29ECF8 9: 00000002/7F29EC18 A: 00000000/00FD8B28 B: 00000000/000000E3 C: 00000000/006FF390 D: 00000000/00F9C5B8 E: 00000000/A90B111A F: 00000000/00FFFB4C
- あるエラーに関して、SVC ダンプが要求されたことを表すシステム・メッセージ。
例えば、あるエラーに関して SVC ダンプの採取が行われるときに、発行されるメッセージの中には次のようなものがあります。
IEA794I SVC DUMP HAS CAPTURED: 357 DUMPID=002 REQUESTED BY JOB (OMVS) DUMP TITLE=COMPON=BPX,COMPID=SCPX1,ISSUER=BPXMIPCE,MODULE=BPXLK LCP+1DC2,ABEND=S0422,REASON=083A01A5IEA611I COMPLETE DUMP ON DUMP.MVS06.D060320.T162245.S00034 DUMPID=034 REQUESTED BY JOB (ZFS ) FOR ASID (1001) INCIDENT TOKEN: ORACLE MVS06 03/21/2006 00:22:45 ID = IOEDFSIEA911E COMPLETE DUMP ON SYS1.DUMP08 DUMPID=001 REQUESTED BY JOB (RESOLVER) FOR ASIDS(003B,0001) INCIDENT TOKEN: CWYPLEX1 CPUX 04/21/2006 14:38:56 ERROR ID = SEQ00046 CPU00 ASID003B TIME09.38.56.1
- あるアプリケーションがエラーを検出します。 1 つの例としては、次の ISMF パネルがあります。
ISMF ABEND PANEL COMMAND ===> _ ****************************************************************************** ****************************************************************************** ** ** ** ** ** AN ABEND OCCURRED WHILE EXECUTING ISMF ** ** ** ** SYSTEM ABEND CODE: 0C4 ** ** ** ** ISMF CANNOT CONTINUE ** ** ** ** PRESS THE ENTER KEY OR USE END TO TERMINATE ISMF ** ** USE HELP TO DISPLAY A LIST OF COMMON ABEND CODES ** ** ** ****************************************************************************** ******************************************************************************別の例としては、この ISPF パネルがあります。---------------------ERROR RECOVERY------------------------------- COMMAND ===> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ISPF PROCESSOR ENDED ABNORMALLY * * * * * * * * * * * * * * * * * * * * Task ABEND code 0C1 * * * * * * * * * * * * * * * * * * * * Press ENTER to display primary option menu. * * * * Enter HELP command for list of common ABEND CODES. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - 何らかのメッセージによって異常終了が引き起こされたことを表す、コンポーネント、機能、サブシステム、アプリケーションの各種メッセージ。 例えば、異常終了条件を識別する TSO/E メッセージ INMR030I。
- TSO/E メッセージ
INMR030I RECEIVE command terminated. ABEND abend_code.
- SYS1.LOGREC レコードにエラーが記録されている。
以下に例を示します。
ERRORID: SEQ=11696 CPU=0040 ASID=00A1 TIME=12:48:20.3 SEARCH ARGUMENT ABSTRACT PIDS/5752SCXMS RIDS/IEANUC01#L RIDS/IEAVXALA AB/S013E REGS/0D000 REGS/C009C RIDS/IEAVXALR#R SYMPTOM DESCRIPTION ------- ----------- PIDS/5752SCXMS PROGRAM ID: 5752SCXMS RIDS/IEANUC01#L LOAD MODULE NAME: IEANUC01 RIDS/IEAVXALA CSECT NAME: IEAVXALA AB/S013E SYSTEM ABEND CODE: 013E REGS/0D000 REGISTER/PSW DIFFERENCE FOR R0D: 000 REGS/C009C REGISTER/PSW DIFFERENCE FOR R0C:-009C RIDS/IEAVXALR#R RECOVERY ROUTINE CSECT NAME: IEAVXALR OTHER SERVICEABILITY INFORMATION RECOVERY ROUTINE LABEL: IEAVXALR DATE ASSEMBLED: 96270 MODULE LEVEL: HBB6603 SUBFUNCTION: ACCESS LIST ADD TIME OF ERROR INFORMATION PSW: 070C0000 80FF5D00 INSTRUCTION LENGTH: 02 INTERRUPT CODE: 0078 FAILING INSTRUCTION TEXT: 5DB88140 174458C0 022856C0 REGISTERS 0-7 GR: 01381495 00000000 00000002 7FFFBF00 00000000 00000000 7FFFBF10 00000000 AR: 00000000 00000000 00000000 00000002 00000000 00000000 00000002 00000000 REGISTERS 8-15 GR: 00FF3D88 01382494 81380496 00F9B700 80FF5D9C 80FF5D00 81380D58 01BFD620 AR: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 HOME ASID: 00A1 PRIMARY ASID: 0002 SECONDARY ASID: 00A1 PKM: 80C0 AX: 0001 EAX: FFFF
多くの場合、システム完了コードや待ち状態コードは異常終了を示します。 しかし、いくつかの例外があるため、下の表を参照して異常終了の診断に役立ててください。
| 待ち状態コードを受信した場合 | コードが表すもの | 参照先 | Notes® |
|---|---|---|---|
| X'071' | システム障害か、オペレーターがシステムを再始動した。 | ループを診断する | 待ち状態コードの詳細な説明については、「z/OS MVS システム・コード」の中にあります。 |
| 異常終了 X'122' | オペレーターがジョブを取り消し、ダンプを要求した。 | ジョブのハングや、サブシステムのハングを診断する | この異常終了は、ループの状態を表すこともあります。ループを診断するを参照してください。 待ち状態コードの詳細な説明については、「z/OS MVS システム・コード」の中にあります。 |
| 異常終了 X'222' | オペレーターがジョブを取り消したけれども、ダンプを要求しなかった。 | ジョブのハングや、サブシステムのハングを診断する | この異常終了は、ループの状態を表すこともあります。ループを診断するを参照してください。 待ち状態コードの詳細な説明については、「z/OS MVS システム・コード」の中にあります。 |
| X'322' | ジョブが TIME オプションによって指定されている制限時間を超過した。 | ループを診断する | 待ち状態コードの詳細な説明については、「z/OS MVS システム・コード」の中にあります。 |
| それ以外のすべて | 異常終了を診断するための手順 | 異常終了コードおよび、理由コードを見つけるには、異常終了コードおよび、理由コードの取得を参照してください。 |