「FileMaker Pro14 x EL Captain で落ちる」はソート関連が原因、FMとOSライブラリの不整合でしょうか。

Document created by msis on Nov 11, 2015
Version 1Show Document
  • View in full screen mode

表題の問題について、

EL Captiain OS上で動かしたソリューションANNYYS_D版において表題の問題に遭遇。

コミュニティを「crash」で検索。以下によく似たスレッドを発見した。

Re: FMP14v3 Mac OS X 10.11 crashinghttps://community.filemaker.com/message/518321#518321

同じ内容のログを添付していた。

なを、他OS(Win10系も含む)では落ちない。

FMバージョンは14.0.3

 

解決方法

レコードが多い対象テーブルのソートが働く、レイアウト上の配置を見つけ、レイアウト上から削除する事でとりあえず問題回避。

根本的な原因はやはりFileMakeエンジンと新OS上のライブラリの相性にあるのではと推測し個のナレッジをFileMakerに報告する。

事象内容

  • ANNYYS_D電子カルテソリューションのメインメニューを開き、その後患者情報画面へ遷移仕様とした場合に発生(FileMakerProが落ちる)。この時OSが大量のログを排出する。

検証方法

  • スクリプトデバッカで箇所を特定
    レイアウト切替「患者情報」という単なるレイアウト切替時に発生
  • 細かく見ると、レイアウト切替のタイミングでソートがかかっておりこの例では、11747件のソートをしている様子が瞬間的であるが目視できた。もう少しソート完了という直前でクラッシュする。(100%)検証環境では一瞬なので、写真は動画のSS.
  • 画面的には「患者情報」画面へ移動しているはずなので、患者情報画面上のレイアウトを開き「ソートが発生する原因」を探るべく、ポータルなどを筆頭に少し筒削除。最終的にレイアウト上に配置してあったマージフィールドが原因である事が判明した。
    ※レイアウトの変更は、メニュー画面上でまずレイアウトモードにし、このモードまま問題の患者情報画面に移動する事で行った。
  • 最終ID:<<SCH_PT::pt>>とは、患者情報に登録のある最大値を取得する目的で配置されている。 本事例の場合、対象レコード数は31749件ある状態であった。
    ★リレーション先に関連テーブルを降順ソートしておく事で、関連レコードの1行目を常に参照する事で患者IDの最大値がオンタイムで把握できるようにしたものであるが、このマージファイルの配置が本画面遷移と同時にソートを引き押している事が判明。
    この配置オブジェクトを削除する事で、取りえず「落ちる」という問題は解消できた。

  • リレーションは以下のような内容である。

「落ちる」事象後にはOSが大量のエラーログを出すという症状から,FileMaker本体およびOSライブラリの相性も少なからずあるのではと考えます。本ナレッジを参考にバグもしくは改修対策などお願い致します。

株式会社エムシス 秋山幸久

Attachments

    Outcomes