[ 新規に投稿する ]

スタートアップからの起動でフリーズNo.41973
ika_sennin さん 25/05/31 15:41 [ コメントを投稿する ]
  いつもお世話になっております。
Ver9.24までは問題なく動いていたのですが、以下の問題のためVer9.26以降にずっとバージョンアップできずにいます。
いろいろ実験して、やっと再現条件が絞れたようなので不具合として報告させてください。

【問題の詳細】
●発生環境: 秀丸 Ver9.46(64bit 浮動小数点版) / Windows11(23H2)
  ◆Ver9.24では発生しない。◆
  Ver.9.26にしたときに初めて発生(すぐに9.24に戻したため詳細不明)。9.25は触ってないため不明。9.44でも発生を確認。

●PC起動時にスタートアップフォルダのテキストファイル(xxx.txt)のショートカットが秀丸で開かれない。具体的には、
  「秀丸が正常に起動せず、ウインドウが表示されず、タスクマネージャーで見ると、常駐秀丸と開いたTXTファイルの2つの秀丸が存在する状態」(以下この状態を「状態A」と呼びます)
になります。

●「状態A」のときに別のTXTファイルを開こうとすると、そのファイルも起動できず(タスクマネージャーでは見える)、1分後に「秀丸エディタの重複起動の待機でタイムアウトしました」のエラーダイアログが出る。

●一度「状態A」になると、タスクマネージャーで秀丸をすべて強制終了したあとでも、どのTXTファイルを開こうとしても「状態A」になり正常に起動できず、
  Ver9.24にバージョンダウン(再インストール)するか、スタートアップで秀丸を起動しないようにしてPC再起動するしかない。

【再現方法】(★の項目は必須のようです。それ以外は直接関係ないかもしれません。)

動作設定:
    「タブモード」 オフ (1ファイル1ウィンドウで開く)
    「最後のウインドウ配置を覚える」 オン
    「ファイルごとに覚える」 オン
    ★[その他]→[動作環境]→[トラブル対策]→[その他のトラブル対策]の「ウィンドウ配置をファイルごとに覚えるときの対策」オン

★以下のtest.mac を「自動起動」マクロの「ファイルを開いた直後」のマクロとして登録。
test.mac :
============================================================
// 「アウトライン解析の枠」がオフならオンにする
if(outlinehandle==0){
    showoutline;
}
============================================================

★スタートアップフォルダに test.txt("TEST"の文字列だけの一行のファイル) のショートカットを置いてPC起動時に自動起動する。

【特記事項】(解決のヒントになるかも?)
・上記再現環境でも、スタートアップフォルダで秀丸を起動しなければ、問題なく秀丸を使える。
(この場合、PC起動直後の、スタートアップフォルダの処理の前にtxtファイルを開いても問題なく秀丸が起動する。)
・「状態A」になったあとタスクマネージャーで秀丸をすべて終了したあと、秀丸が正常起動できない状態に入っても、TXTファイルのファイル名を変えるとその後1回目だけはそのファイルを秀丸で普通に開ける。
・「状態A」では、開いたtest.txtファイルの秀丸プロセスがCPUを少しだがずっと消費している(私のPCで3%程度)
・以前、当掲示板での投稿 「起動するたびにウィンドウ幅が拡がってしまう現象について」No.40361(2023/03/11)
で対応していただき、「ウィンドウ配置をファイルごとに覚えるときの対策」の機能を実装していただきました。
当時と使い方は変わっておりません。(「アウトライン解析の枠」を愛用しています。)

以上です。うまく再現できるとよいですが…。
お手数をおかけしますが、どうぞよろしくお願いいたします。
[ ]
RE:41973 スタートアップからの起動でフリーズNo.41974
秀丸担当 さん 25/06/02 10:51 [ コメントを投稿する ]
  バグ情報ありがとうございます。
症状の現れ方としては、ご指摘の通りフリーズしているがためのものだと思います。
しかしタスクマネージャーから全て終わらせた後も症状が継続するという点はわからないです。

こちらで条件を合わせて試してみた限りでは、再現させることができず、いまのところ不明です。
問題が起きているとき、ハングアップチェッカーを起動して、dumpを出力させることができれば問題を特定できる場合があります。
ハングアップチェッカーは、本体が起動していなくても、C:\Program Files\Hidemaru\HmHang.exeから直接起動できます。
強制終了さえてdumpが取得できればいいですが、取得できない場合もあります。

必ず再現するという場合、他にもあるかもしれない条件を合わせると再現できると思います。
もし差し支えなければ、設定内容をファイルに保存したものを"taki@maruo.co.jp"まで送っていただけると再現できる可能性が高いです。

稀にしか再現しないという場合、数回のテストで再現できないとは判断できないので、どれくらいの頻度かわかると助かります。

バージョンによる違いはソースを見る限りでは無さそうに思えますが、関係しそうな別の問題としては、デスクトップ保存/復元でバージョンによってウィンドウ構成が変わったことによる問題が以前ありました。

タスクマネージャーから全て終わらせた後も起きるというのはわからないのと、スタートアップ限定というのもわからないです。
もしかしたらWindowsの機能の高速スタートアップ的なものの影響があるのかもしれないですが、それを無効にすると変化したりするのかもしれません。(全くの推測です)

お手数をお掛けして申し訳ありませんが、よろしくお願いいたします。
[ ]
RE:41974 スタートアップからの起動でフリーズNo.41975
ika_sennin さん 25/06/02 22:11 [ コメントを投稿する ]
  早速対応していただきありがとうございます。
再現できませんでしたかー…。申し訳ありません。
私の環境では、お伝えしたとおりにすると必ず再現します。
どうやら他にもなにか条件(要因)があるようですね。

「設定内容」をお送りするというのは「設定内容の保存」の.hmeregファイルを、ということですよね?
たしかにそれが確実そうなのですが、見たところプライベートの情報も少々含まれているようですので、
非常に申し訳ないのですが、できればこれは「最後の手段」とさせていただければと思います。すみません。

ハングアップチェッカーについてはさっそく「状態A」にして試してみました。
---------------------------------------
(応答なし)秀丸
(常駐またはタブの外枠)秀丸エディタ
---------------------------------------
と出ました。
「応答なし」の方を異常終了させようとすると、何も起きず、dump.txtを取得することはできませんでした。(強制終了のみ可能)
常駐秀丸のほうは異常終了させることができて、dump.txtを取得できました。
でも、こちらのdump.txtでは意味がないでしょうかね? もしこちらでもOKでしたらお送りいたします。

ご参考: この状態で、もう一つテキストファイルを開いた場合、
---------------------------------------
PID=XXXX(ウィンドウ消失)Hidemaru.exe
---------------------------------------
という行が追加されます。

ところで、なにもTXTファイルを開けない「状態A」でも、dump.txtは普通に開けて、びっくりしたのですが、一度閉じたあともう一回開くとやはりハングして開けませんでした。
どうやら、「特記事項」に書いた「ファイル名を変更したばかりのファイル」だけではなく、新規作成のファイルも一度目は「状態A」でも開けるようです。
さらにふと思いついて実験したところ、長いこと開いてないファイルを秀丸で開いたところ、やはり初回だけは「状態A」でも問題なく開けました。

つまり、「ファイルヒストリにあるファイルの場合にだけ発生」する…?
これがなにか手がかりになりませんでしょうか?

ひとまず以上です。
お忙しい中すみませんが、引き続きよろしくお願いいたします。
[ ]
RE:41975 スタートアップからの起動でフリーズNo.41976
秀丸担当 さん 25/06/03 09:17 [ コメントを投稿する ]
  大変詳しい情報ありがとうございます。
設定内容は、[その他]→[設定内容の保存/復元...]の.hmeregファイルのことです。
最終手段ということで承知しました。
一応保存する内容を選択することも可能です。

ハングアップチェッカーも試していただいてありがとうございます。
「(応答なし)秀丸」となっているところの情報があればよかったですが、無理っぽいですね。
常駐のほうは取得できても特定できないので、送っていただかなくても大丈夫です。

ファイルヒストリにある場合にだけ発生するのは、手掛かりになります。
[その他]→[動作環境]→[ウィンドウ]→[配置]の、[ファイルごとに覚える]は、ファイルヒストリにある20個までのファイルが対象です。
やはり、この設定と、[ウィンドウ配置をファイルごとに覚えるときの対策]が影響していると思われ、条件は最初のご指摘通りに絞られたと思います。
現状でできる対策は無いか、具体的にはちょっとわからないですが、次のβ版で何かしらの対策を入れてみようと思います。
[ ]
RE:41976 スタートアップからの起動でフリーズNo.41977
ika_sennin さん 25/06/03 23:08 [ コメントを投稿する ]
  連日のご対応ありがとうございます。
とにかく再現できないことには解決が難しいですね。

ファイルヒストリが絡むことがわかったので、あらためてそこに重点を置いて再現条件を探していろいろ実験してみました。
その結果、私が最初に挙げた発生条件の多くは実際には直接関係なかったことが判明しました。申し訳ありません。
どうやらランダム性(なにかのタイミング?)があって、条件が揃っていても、何度も連続して普通に開けることもあるようなのです。

◆新たな実験の結果:
フリーズは次の2つの条件が揃ったときにのみファイルを開く際に発生することがわかりました。
(1)「ウィンドウ配置をファイルごとに覚えるときの対策」がオンであること
(2)ファイルヒストリ(秀丸内部の見えないヒストリ情報含む)に含まれるファイルであること

★ただ、この場合に必ず起きるのではなく、同じファイルを何度も連続して普通に開けることもあります。
一度起動に失敗(フリーズ)したファイルを強制終了した後も同様に、普通に開けたりフリーズしたりするようです。
(正直、よくわからなくなりました…)

◆その他詳細:
(以前使っていたWindows10のPCにて、「ファイルヒストリ個数」を1個に設定して実験してみました)
・常駐秀丸オフでも発生(今回ずっと常駐秀丸はオフのまま実験)
・スタートアップフォルダを空にして起動したあとでも発生(スタートアップフォルダは関係ありませんでした!)
・「アウトライン解析の枠」を使わなくても発生(「アウトライン解析の枠」は関係ありませんでした!)
・「アウトライン解析の枠」をオンにする起動時自動実行マクロなしでも発生(起動時マクロは関係ありませんでした!)

・「ファイル/フォルダヒストリの消去」してからファイルを開くと確実に開ける。

・「ファイルヒストリ個数」を0個に設定してから、「ファイル/フォルダヒストリの消去」をした場合、そのあとの1回目はOKでも、同じファイルをもう一度開くとまた発生することが多い。
※これは、「ファイルヒストリ個数」を0個に設定してから、「ファイル/フォルダヒストリの消去」をしても、その後ファイルを開くと
秀丸内部にはヒストリ情報が保存されるため、と理解しました。
(ヒストリ消去直後にファイルを開いて、その後に見るとヒストリ消去ボタンがまた有効になることから推察)

★「ファイル/フォルダヒストリの消去」してさらに「ヒストリの記録を中断」すると、一切発生しなくなる(「ウィンドウ配置をファイルごとに覚えるときの対策」がオンでも)

★「ウィンドウ配置をファイルごとに覚えるときの対策」がオフ だと、ファイルヒストリをオンにしても一切発生しなくなる

===
あとは、Ver9.24ではこの問題が発生しないという事実もやはり重要なヒントになるかと思われます。

「設定内容の保存」の.hmeregファイルについて:
今回の実験で使用した設定内容を「動作環境やファイルタイプ別の設定など」のみで保存し、一部プライベート的な文字列だけ編集したものをこのあとメールで送らせていただきます。

以上、再現のお役に立てば幸いです。
よろしくお願いいたします。
[ ]
RE:41977 スタートアップからの起動でフリーズNo.41978
秀丸担当 さん 25/06/04 09:04 [ コメントを投稿する ]
  大変詳しい情報ありがとうございます。
設定内容ありがとうございます。
こちらでも再現させることができました!
再現できたのでもう大丈夫です。
(デバッグ版では起きないようで、それがちょっと気になりますが)
調べて修正させていただきます。
[ ]
RE:41978 スタートアップからの起動でフリーズNo.41979
ika_sennin さん 25/06/04 21:03 [ コメントを投稿する ]
  おお!再現できましたか!!

デバッグ版では発生しないとは、思っていた以上にやっかいなヤツだったようですね。
ちょっと甘く見ていました。
なんにしろよかったです。

Ver9.24から脱出できる日を楽しみにしています。
素早い対応ありがとうございました。
[ ]
RE:41979 スタートアップからの起動でフリーズNo.41983
秀丸担当 さん 25/06/05 14:35 [ コメントを投稿する ]
  再現できて助かりました。
V9.48β1で対策しています。
以下のページの下の方の「先行開発バージョンはこちら」からダウンロードして試していただくことができます。
https://hide.maruo.co.jp/software/hidemaru.html
[ ]

[ 新規に投稿する ]