外付けHDDのクラシックなシナリオの上書き保存後にハングアップ

Issue #3 resolved
k4nagatsuki repo owner created an issue

# 古いPCで、 # 外付けHDD上のある程度大きなクラシックなシナリオを、 # 上書き保存した際、*.widの保存は完了するものの、そのままcwxeditorが停止する

~~*.widの保存と名前の書き戻しの後には、一時展開されたシナリオを除いては処理は無いはず。

どこで止まっているのか今のところ不明。トレーススレッドの可能性もある。

Comments (10)

  1. k4nagatsuki reporter

    自動追跡をオフにしたら発生しなくなる模様。明らかにトレーススレッドが原因。

    ただしトレーススレッド自体が止まっていてもGUI部分は止まらないはずであるため、ディレクトリ表示更新の所で無限ループが発生している可能性もある。

  2. k4nagatsuki reporter

    とりあえず対策を入れてみた。保存中はトレーススレッドを停止する。

    折を見て試していただく予定。

  3. Former user Account Deleted

    確認が遅れました 外付けHDD・ファイル追跡On・F9バージョンでも現象に変わりはないですね。 不思議なことにエラーログは何も答えてくれません。 心持ち、ハングアップ中のCPU利用率が90%ぐらいから70%ぐらいに落ちてました。

    ちなみにCドライブだと余裕で保存が終了します。

  4. k4nagatsuki reporter

    ありがとうございます。

    現象としては

    1. *.widを更新する
    2. 監視役がフォルダ内の変更を検知
    3. ファイル一覧を更新 ← ここで止まる

    という事になっているはずなのですが、ファイル一覧の更新処理はシナリオを最初に開いたときにも流れているはずなので、保存時だけ止まるというのはどうも解せないのです。

    例えば普通にフォルダ内にファイルを追加するとかファイル名を変更するとかいった操作を行うとどうなるのかも気になります。

    CPU利用率のことなどを見ると、本当に「処理が異常に重くなって1日経っても終わらないレベルなのだ」という気がしてくるのですが……

    ちょっと別の対策を考えてみます。

  5. Former user Account Deleted

    ご指摘の件を鑑みてちょっと作業してみました。

    シナを開くで大体ロード時間を含めて2分かかるんですが、 ファイルの追加変更削除で1~2分ぐらいかかっています。 時間はかかりますが完了します。

    それで保存後放置していたら5分ぐらいで復帰しました。 前は他の作業もしていたからなのか、5分ってレベルじゃなかった、いや体感ですけどね。

    むむむ。 つまらない事柄にお付き合いくださいましてありがとうございました。

  6. Former user Account Deleted

    うお、なんかきてました。

    件で作業したのはcwxeditor_fnine_2.zipではなく、cwxeditor_fnine.zipの方です。更新日時が「2011年4月22日、0:03:06」のもの。

  7. k4nagatsuki reporter

    これはひどいパフォーマンス問題ですね。

    どうやら、やたら長時間止まる原因は、長時間かけて*.widを保存する過程で何度もファイル一覧の更新がかかってたことみたいです。(ファイル更新中に新しい*.widが保存される→それを検知して更新→新しい*.widが→検知→新しい(略))

    恐らくHDDへのアクセス速度が非常に遅いことが原因になっていると思われます。

    今回、「保存する途中で『何度も』更新がかかる」の部分を「一回きり」に修正したので、どうにか終了するようになったのでしょう。

    後はさらにパフォーマンス問題への取り組みが必要ということで……すぐには根本的解決が出来なさそうです。申し訳ありません。

    ともあれ原因ははっきりしました(解決困難なこともはっきりしちまった)。ご協力ありがとうございました。

    ついでですが、ファイル一覧を非表示にしておくと、たぶん格段にパフォーマンスが向上すると思われます。

  8. Log in to comment