設計外の状況または致命的なエラーによりGT.Mプロセスが異常終了すると、GT.MはMの実行コンテキストのダンプを含むGTM_FATAL_ERROR.ZSHOW_DMP_* ファイルを作成しようとします。GT.Mは、予期しないプロセスの終了に遭遇したときに、オペレーティング・システムのコア世代設定で決定された場所にコアダンプを生成するようにオペレーティング・システムに指示します。GTM_FATAL_ERROR.ZSHOW_DMP_* と コア・ダンプ・ファイルは、予期せぬプロセスの終了を招いた状態を診断してデバッグして GT.Mの開発することに役立ち、アプリケーションの中断から迅速に復旧して実行するのに役立ちます。診断値を持つ情報に加えて、コア・ダンプ・ファイルには、機密性の高い顧客データを保持するパスワード、ローカル変数、グローバル変数などの非公開情報(NPI)などを含みます。非公開情報を扱う組織の場合は、GTM_FATAL_ERROR.ZSHOW_DMP_* と コア・ダンプ・ファイルの管理と共有にさらに注意する必要があります。
コアダンプファイルには非公開情報(NPI)が含まれている可能性があるため、コアダンプの生成を無効にすることもできます。コア・ダンプ・ファイルがない場合、ハードウェア、GT.Mバージョン、アプリケーションの状態、システムの状態、予期せぬプロセスの終了に関する再現可能なシナリオなどに関する詳細情報を提供するよう求められます。予期せぬプロセスの終了が、必ずしも再現可能ではないことに注意してください。GT.Mサポート契約中に、コア・ダンプ・ファイルが利用可能になったときに費やす時間よりも、事後検討の情報を提供するのに多くの時間を費やす可能性があります。
コア・ファイルの生成と設定は、お使いのオペレーティング・システムの機能です。オペレーティング・システムでコア・ファイルの生成が設定され、有効になっていることを確認します。Linuxプラットフォームでは、/proc/sys/kernel/core_pattern はコア・ファイルの命名規則を決定し、/proc/sys/kernel/core_uses_PID はダンプされたプロセスのプロセスIDをコアダンプファイル名に追加するかどうかを決定します。コアの core_pattern 値は、現在のディレクトリにコア・ダンプ・ファイルを作成します。ご使用の要件に応じてコア・ダンプ・ファイルの生成を有効にして構成する方法については、man manage(Linuxの場合)、chcore(AIXの場合)、coreadm(SolarisおよびHP-UXの場合)を参照してください。
注意 | |
---|---|
FIS GT.Mのメンテナーとして、私たちの目標は製品をできるだけ信頼できるものにすることです。したがって、コアファイルがあればほとんど取得しないようにしてください。一般公開前に、GT.Mは、数回の自動テストを行い、新しい機能と可能な回帰の徹底的なテスト・カバレッジを提供します。新しい機能が回帰テストのサイクルを過ぎると、我々は、 頻繁に GTMがリリース前に顧客環境で追加のテスト・カバレッジを取得できるように、フィールド・テスト・リリースを行います。GT.Mの公式リリースに対する修正を優先順位付けする際、私たちは回帰テストのサイクルとサポートされているGT.Mのお客様が報告するかもしれない予期しないプロセスの終了に高い優先順位を割り当てます。修正の一環として、将来の回帰テスト・サイクルの不可欠な部分となる新しいテストケースを追加します。私たちはこのプラクティスをここ数年続けており、安定したプロダクションアプリケーションがコアファイルを生成することは非常に珍しいことです。GT.Mは、パフォーマンスを最大化するような方法で幅広い機能を提供します。それにもかかわらず、実行可能な実行パスの数が多いほどGT.Mはかなり複雑であり、テストの対象範囲にはすべての可能なエッジケースが含まれているわけではありません。GTのためコアダンプが発生した場合。M問題では、テストの対象とならない可能性があり、再現するのが難しいかもしれません。特に gtmpcat と組み合わされたコアファイルは、プロセスの失敗を引き起こす問題の診断と解決に役立つ強力なツールです。また、GT.Mの問題がなくても、ユーザーのアクションによって直接コアファイルが生成されることに注意してください(次の例を参照)。 |
コア・ダンプ・ファイルの設定には、次のような提案が役立ちます:
十分な保護を備え、通常のプロセスから離れたディレクトリには、常にコアを置いてください。たとえば、コア・ファイル・ディレクトリには、ほぼすべてのユーザーの保護のための書き込み専用アクセス権が設定されている場合があります。
コア・ダンプを削除する手順と、不要になったGTM_FATAL_ERROR.ZSHOW_DMP_* を設定します。
新しいコアが古いコアを上書きしないように、各コアが別個の名前を取得するように、常にコアファイルの生成を構成します。/proc/sys/kernel/core_uses_pid が 0 に設定され、/proc/sys/kernel/core_pattern が core に設定されていても、GT.Mは既存のコアファイルを上書きしません。ターゲット・コア・ディレクトリに core という名前のファイルがある場合、GT.Mはcore1 に名前を変更し、coreという新しいコアダンプファイルを作成します。同様に、core(n) がすでに存在する場合、GT.Mは既存のコアの名前をcore(n+1) に変更し、coreという新しいコア・ダンプ・ファイルを作成します。
GT.M V6.1-001_x86_64を実行しているUbuntu_x86でコアファイルの生成を確認する手順は次のとおりです。
$ ulimit -c unlimited $ /usr/lib/fis-gtm/V6.1-001_x86_64/gtm GTM>zsystem "kill -SIGSEGV "_$j $GTM-F-KILLBYSIGUINFO, GT.M process 24570 has been killed by a signal 11 from process 24572 with userid number 1000 $ ls -l core* -rw------- 1 gtmnode jdoe 3506176 Aug 18 14:59 core.24573
コア生成環境をテストするために、GT.Mプロンプトで ZMESSAGE 150377788 コマンドを使用してコアダンプを生成することもできます。
予想されるダンプファイルが見つからず、オペレーティング・システムですでにコア生成を有効にしている場合は、ファイルのアクセス許可とクォータの設定を確認してください。
GT.Mのコアダンプは、apportなどの自動クラッシュ・レポート・システムで使用するように設定されていないため、GT.Mサポートチャネルに参加するまで、コアダンプが安全に保存されるようにコア命名規則の設定を調整することができます。
誰とでもコア・ダンプ・ファイルを共有する前に、ファイルにNPIが含まれているかどうか、および、受け取り側がファイル内の情報を表示できるかどうかを判断する必要があります。GT.M FISのサポートはNPIを受け入れません。gtmpcat ソフトウェアは、FIS GT.Mサポートのガイダンスの下でコアファイルから重要な情報を抽出することができます(デフォルトでは、gtmpcatは保護された情報なしでメタデータを抽出します )。gtmpcat は、FIS GT.Mサポートを購入したすべてのお客様が利用できる診断ツールです。gtmpcatソフトウェアの詳細については、 付録 F: “GTMPCAT-GT.Mプロセス/コア解析ツール” を参照してください。