■サイトマップ Search help


Biz/Browserに関する障害レポート


 8992 オブジェクト数が多い画面で例外が発生した際(BizBrowser.core出力時)、Biz/Browserがフリーズする  

対象バージョン Biz/Browser V Ver 5.0.0.0

障害内容 数万件以上のオブジェクトが存在する画面や、グローバル名前空間に数万件以上のオブジェクトが作成されている状態でBiz/Browserの例外が発生した際(BizBrowser.core出力時)、Biz/Browserがフリーズし、操作不能となってしまう。

要因 Biz/Browser Vではコアダンプファイル(BizBrowser.core)の出力方式が変更され、前バージョンよりも詳細な情報を暗号化して出力するようになった。
その為、膨大な数のオブジェクトが存在する際にコアダンプを生成するため大量のメモリを消費し、メモリ空間を圧迫しフリーズ状態に陥っていた。

対処方法
(方法1) 不必要なオブジェクトの生成は行わない。
  ・グローバル名前空間に必要以上のオブジェクトが作成される一例
各画面でimportする共有設定ファイル : G_com.crs
  Record G_com {
       String s_Label1[9999];
       String s_Label2[9999];
       Number n_Label1[9999];
       Number n_Label2[9999];
    ・・・・・・・・・
       String s_TextBox1[9999];
       String s_TextBox2[9999];
       Number n_TextBox1[9999];
       Number n_TextBox2[9999];
    ・・・・・・・・・
  }

各画面のファイル : fom_sample.crs
  Import "G_com.crs";
  Form fom_sample {
    ・・・・・・・・・
  }

「fom_sample.crs」で「G_com.crs」をimportした場合、Recordオブジェクト配下のオブジェクトが全て生成される。
上記のサンプルでは、「G_com.crs」に記述されているRecordオブジェクト配下のオブジェクトが利用するしないに関わらず最低 「9999×8=79992」個のオブジェクトがグローバル名前空間へ生成される。

(方法2) オブジェクトの定義が膨大になるような画面には、try~catchによる例外ハンドリングを行う。
 
(方法3) 改修バージョンへバージョンアップを行う。

改修バージョン

Biz/Browser V Ver 5.0.1.0


■ 障害レポート一覧へ