5 返信 最新の回答 日時: Jun 25, 2010 11:24 AM ユーザー:dune

    FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合

    dune

      概要

      FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合

      問題の内容

      FM11の出る直前にFM10にバージョンアップした者です。現在はWindows版の利用です。OSはWIndows7pro/64bitで、メモリは8GBの環境です。FMはMacの初期から、また現在開発利用しているデータベースはFM5.5から。データ件数は10,000件を越えた大きなDBで、内部もリレーショナルや間接参照なども多く、 比較的複雑です。データそれ自体はタブ切りテキストに落として他のソフトウェアで利用しています。 不具合点は一点。上記データベースからおよそ98%ほどのデータを抽出し、ソートを実行した後にタブ切りテキストへUTF8でエクスポートするとファイルセレクタ・ダイアログが表示される前の準備中の段階で、FM10Advanced のウィンドウ画面のすべてが真っ白になり異常終了します。この異常終了が発生する前にエクスポート進捗具合を表示するダイアログは表示されることはありません。この不具合は常に再現します。この不具合はFileMaker8 advancedでは無かったもので、同じデータベースをFM8の環境でなら、正常終了します。ただしFM8ではUTF-8は選択できませんので、UTF16で出力していました。これでは実用になりませんが、いくつか試行した結果、現在は下記の3の手順で正常終了することがわかっており、その方法でとりあえず凌いでいます。 以下の使用条件では、異常終了はありません。 1. 全データを選択し、さらにソートの実行を行わなかった場合。無調整の全件データのエクスポートは正常終了します。2. データの抽出件数が少ない場合。例えば100件程度のデータ抽出の場合、ソートを行った後にエクスポートしても正常終了します。3. 上述1の全件データをエクスポートした後、その直後に条件検索を行い、条件ソートを行ってエクスポートすると、問題なくエクスポートは完了します。 さらに付記しますと、3の方法で正常終了させた後、一部のデータを修正を行い、エクスポートしようとすると、問題が再現し、画面が白くなり異常終了します。 上記の2-3の観点から、FileMaker10Advanced のエクスポート出力の処理では、処理実行開始の際に行われる作業用メモリ領域の確保にバグが有り、ソート済みのデータをテキスト展開する際にメモリーリークを起こして異常終了するようです。未ソートデータの場合はおそらく、余分なメモリを使わないか、メモリ確保(malock)が適正に行われるため、3のように、ソートを掛けても、テキスト展開済みのデータを拾うだけで済むので正常終了できる。のではないかと思われます。現状は3のやり方で異常終了のバグを回避しています。が、データサイズは日々増大しており、3の手順が明日も利用できる保証はありません。ですので、早急に調査などいただき、修正サポートなどしていただければと思います。 どうか問題対処の件、よろしくお願い申し上げます。

        • 1. Re: FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合
          ob
            

          ソートする値は索引を使っていると思いますが、その索引が壊れている可能性はないでしょうか?

          一度フィールド定義のオプションで索引設定を「なし」にし、その下の必要時に索引を自動設定にチェックを入れ確定すると

          索引の作り直しをしてくれます。

          • 2. Re: FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合
            dune
              

            リプライ、ありがとうございます。
            ご指摘の件、とりあえず、試してみました。

            索引(all)設定してある項目は数十という数り、ユニーク設定してある項目はそもそも設定変更はできませんでした。
            暫定的な結果を報告しますと、索引(インデックス)の設定変更を行っただけでは改善はありませんでした。

            その後に試行したことを、以下に報告しておこうかと思います。

             

            先に投稿する際、修復オプションの実行は試してみたのですが、以下のようなメッセージが表示されたことで、とりあえず
            データベースは壊れてはいないだろうと判断したこと。また修復を実行すると、エクスポートのデータ定義が蒸発消失してしまい、

            合計で200程度の出力テーブルの内容の再定義をあえて行うことが面倒であったこと。

            (バックアップから定義だけをコピーしてペーストができないので再定義は手作業でしかできないこと)

            といった2点から、本格的な修復は行ってはいませんでした。

            =================================================================

            問題が検出されることなく、新しいデータベースが修復構築されました。新しいデータベースの
            使用は安全ですが、結果を注意深く監視し、データベースの最新バックアップの確認を続ける必要があります。

            修復結果:ファイルブロック503ブロックがスキャンされ、0の無効なデータブロックがドロップされました。
            スキーマ:フィールドおよびテーブルがスキャンされました。0項目が変更されました。
            構造:スキャンされました。0項目が変更されました。
            フィールド索引:再構築されました。
            =================================================================

            ただ、ご指摘にもありましことから、索引インデックスの壊れ、あるいはデータベース自体の壊れの可能性もあるかと思い至り

            修復をオプションをあえて再度実行し、サブセットではあるけれども、外部テーブルの参照を含む出力項目定義を行って試行してみたところ、

            ダイアログなどの表示も行い、進捗アラートも表示され正常に動作するようです。既存のデータベースと合一な定義ではまだありません。


            結論を単純に言えば、今回の問題はデータベースが壊れていたから。ということです。ただし、その壊れ方は微妙で、表面上は正常なデータベースとして

            操作・編集・検索などのすべての利用が可能。修復を行ってみても、終了アラートを読む限りでは問題はなさそうに見える。ところが、実際にソートを行い

            エクスポートを行うと問題が発生することがある。どうやらFileMaker10ではその微妙な壊れ方を上手く検出する機能が欠落しているために、以下に示す

            ようなWindows7の異常終了アラートを表示させ異常終了してしまう事態に陥いる。ということです。本来は、データベースに問題があります。修復を行って

            ください。と処理されるべきなのだと考えます。異常終了は、どう考えてもまずいと思います。

             

            =======================================================
            FileMaker Pro Advanced は動作を停止しました。
            問題の解決策をオンラインで確認できます。
            ・オンラインで解決策を確認してプログラムを終了します。
            ・プログラムを終了します。
            ●問題の詳細表示
            =======================================================

            データベースの修復実行で、エクスポートの出力定義内容が消失してしまうのも問題だと思います。また、
            当方が、大きなテーブル出力を行っているのは、出力されたtab切りテキストを元に二次加工するためであるのですが、
            それは、FileMakerのエクスポート機能が貧弱で、単一の項目定義しか保持できないからです。大昔のバージョンから
            今に至るまで出力文字コードの種類が増えた事を除けば、機能はほとんど改善されていません。希望をあえて言えば、
            エクスポート出力の項目定義のセットを複数保持でき、スクリプトやボタンなどで切り替えられるようであったら、
            もっと使い方に自由度が生まれるのに。と長年、思っています。将来的に機能強化されることを望みます。


            いずれにしましても、データベースを再構築すれば、どうやら普通に使える。みたいなので、きちんと作業してみよう考えています。

            ご指摘、ありがとうございました。今後ともどうかよろしくお願い申し上げます。















            • 3. Re: FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合
              dune
                

              些細な訂正です。

              索引(all)設定してある項目は数十という数り→索引(all)設定してある項目は数十という程度、その中でユユニーク

              修復結果:ファイルブロック503ブロック→修復結果:ファイルブロック5033ブロック

              • 4. Re: FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合
                dune
                  

                その後、修復を行ったデータベースファイルにて、きちんとテキストファイル抽出用の項目定義を行って

                ファイルを出力してみました。インデックスは「自動設定」に変更したものです。

                 

                起動直後に先の問題となった抽出・ソート後、テキストファイル生成を行う。という手順は無問題ですが、

                レコード抽出について異なる検索条件を用いソートし、テキスト保存した後、

                再度、上述の抽出・ソートを行ってファイル書き出しを行うと、やっぱり、異常終了します。

                 

                問題が、「修復済み」データベース・ファイルに残っているのかもしれません。

                でも、やはり、プログラムの側にも異常終了するような問題が厳然としてあるのは確かなようです。

                 

                 

                • 5. Re: FileMaker10 Advanced のタブ切りテキストへのエクスポートの不具合
                  dune
                    

                  追記です。

                   

                  先日、別用途で、Mac Mini の新型を入手しました。動作確認のため FM10 Advanced を仮インストール。

                  そして、Windows7で問題を起こしていたデータベースを開いてみて、Windows7で問題が生じる手順で

                  Mac Mini上で行ってみました。動作テストの結果は無問題。Mac mini では、きちんと正常保存・終了しました。

                  賽確認のため、Windows7でも、再度、動作確認を行いました、こちらは相変わらず問題が発生し、異常終了してしまいます。

                   

                  結論を言うなら、データベースにはファイル破損などの問題はなく、、あくまでWindows版のFM10 Advanced 固有の問題で

                  異常終了する。ということであると判断できます。