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

バージョン 1

    表題の問題について、

    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ライブラリの相性も少なからずあるのではと考えます。本ナレッジを参考にバグもしくは改修対策などお願い致します。

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