特定のファイルを開くと落ちてしまいますNo.26844
hht さん 09/07/26 09:35
 
特定のファイルを開くと「ご面倒でなければエラーの再現手順を書き添えて〜」「秀
丸エディタのプロセスで保護違反が発生しました。」と
エラーダイアログ(毎回違います)が出て、大体はそのまま強制終了してしまいます。

「特定のファイル」はPerlスクリプトで、どうも強調表示に原因があるようです。強
調表示のチェックを外すと発生しなくなります。
また、すべてのPerlファイルで必ずエラーが起きるわけではなく、特定のファイルの
みで発生します。
さらに、その特定のファイルも何度か開き直すと開けることもありますし、エラーダ
イアログが出るだけで落ちない時もあります。

とりあえずdump.txtを2つとperl.hilightをxxxxxxxx@nifty.com宛に添付ファイルで
送ります。なにかの手がかりになればと思います。
秀丸のバージョンは7.11でXP SP3です。
よろしくお願いします。

---以下の内容はコミュニテックス会議室システムにより付加されました。
本文中のメールアドレスは伏せ字に変換されました。伏せ字にしたくない場合
はメールアドレスを""で囲んで書き込んでください。

[ ]
RE:26844 特定のファイルを開くと落ちてしNo.26846
秀丸担当 さん 09/07/27 11:24
 

>特定のファイルを開くと「ご面倒でなければエラーの再現手順を書き添えて〜」「秀
>丸エディタのプロセスで保護違反が発生しました。」と
>エラーダイアログ(毎回違います)が出て、大体はそのまま強制終了してしまいます。

ご迷惑をおかけして申し訳ありません。
報告ありがとうございます。
ファイルを受け取りました。ありがとうございます。

dump.txtを2つ拝見させていただいたところ、1つはファイルタイプ別の設定ダ
イアログを出している途中、もう1つはアウトライン解析のツリー表示を計算し
ているときに異常終了しているようです。
エラーの出かたも毎回違うということで、原因はdump.txtで分かった場所とは違
っていて、既にヒープが破壊された状態だったのかもしれないです。

[ファイルタイプ別の設定]→[デザイン]→[強調表示]の「強調表示」をOFFにされ
ると問題は起きないということで、もしかしたら強調表示で指定された特定の正
規表現で特定のテキストを検索したときに何か問題が起きているのかもしれない
です。


仮に正規表現のHmJrell.dllに原因があるとしたら、以下の方法を取ってみると何
か変化があるかもしれません。

・[検索(S)]→[検索(F)...]で検索ダイアログを出す。
・「あいまい検索(F)」をいったんONにして、「設定(Y)...」を押す。
・「HmJre.dll固有のピープ領域を使う(P)--(安全対策用)」をONにする。
・OKを押して、検索ダイアログをキャンセル。
・秀丸エディタを再起動。

これで問題が解決されるわけではないかもしれませんが、エラーの出かたが毎回
違うということは無くなるかもしれません。


または、もしHmJre.dllの新しいバージョンで解決されている問題だとしたら、
HmJre.dllの最新版を入れてみると変化があるかもしれません。
HmJre.dllの最新版は、秀丸メールの最新版か、秀丸エディタV8.00β版に付属し
ています。

 秀丸メール
 http://hide.maruo.co.jp/software/tk.html

 秀丸エディタ(V8.00β版はページ下のほう)
 http://hide.maruo.co.jp/software/hidemaru.html

例えば、hmmail520_signed.exe をダウンロードして、拡張子を.exeから.lzhに変
えると、解凍ソフトで解凍することができます。(解凍ソフトによってはできな
いものもあります)
できない場合、いったんインストールしてからインストール先からHmJre.dllだけ
を取り出すとできると思います。
V8.00β版はまだ不安定かもしれないので、もしいったんインストールされる場合
はV7.11に戻すことをお勧めします。
取り出したHmJre.dllを、秀丸エディタのインストール先フォルダに上書きすると、
HmJre.dllだけを新しいバージョンすることができます。


ただ、HmJre.dllの方法は推測に過ぎなくて、本当は別の原因かもしれません。
お手数をおかけして申し訳ありませんが、[その他]→[設定内容の保存/復元]より
設定を保存したものと、もし差し支えない範囲の再現できる簡単なファイルがあ
れば送っていただけるとこちらでも確認できるかもしれません。

[ ]
RE:26846 特定のファイルを開くと落ちてしNo.26849
hht さん 09/07/28 00:32
 
素早い対応ありがとうございます。
指示通りHmJre.dllの2.0.4.0を入れてみたところ、どうもエラーは起き
なくなったようです。
と言いますか、HmJre.dllではなくJRE32.dllを使っていました。

>もしかしたら強調表示で指定された特定の正
>規表現で特定のテキストを検索したときに何か問題が起きているのかもしれない
>です。
同様の現象は今までも度々起こっていて、根拠はないですが体験的には
そんな感じがします。強調パターンも少々複雑ですし…
JRE32.dllがなにか悪さをしているのでしょうか?

HmJre.dllにすることで問題が起きないのであれば個人的には構わない
のですが、一応、環境設定.regとエラーが起きるPerlファイルをメール
にて送っておきました。

[ ]
RE:26849 特定のファイルを開くと落ちてしNo.26851
秀丸担当 さん 09/07/28 11:15
 

>指示通りHmJre.dllの2.0.4.0を入れてみたところ、どうもエラーは起き
>なくなったようです。
>と言いますか、HmJre.dllではなくJRE32.dllを使っていました。

Jre32.dllを使われていましたか。
ということは、HmJre.dllは新しいバージョンにしなくてもHmJre.dllに切り替え
るだけで回避できていたかもしれません。
Jre32.dllはV3.xx以下の互換のために用意されているのですが、ヒープを壊して
しまうのはまずいと思います。とりあえずヘルプに注意書きを書いておこうと思
います。

[ ]
RE:26851 特定のファイルを開くと落ちてしNo.26859
hht さん 09/07/29 05:52
 
どうもお世話になりました。これを機にHmJre.dllに乗り換えようと思
います。
(|word) がエラーだと言われたので (word)? に書き換えてるところで
す。Perlユーザーとしてはこの書き方ができるようになるのは嬉しいで
すね。
ただ、\wが認識されなくなったようで、強調表示内では [A-Za-z_] で
ないといけないのかな。

あとこれは要望になるのですが、\d(数字にマッチ)が欲しいです。
数字を検索することが多く、そのたびに [0-9] と書くのがなかなかの
手間で…

[ ]
RE:26859 特定のファイルを開くと落ちてしNo.26861
秀まるお2 さん 09/07/29 09:58
 
 「\w」は、JRE32.DLLでは別の意味に割り当てられてまして、HmJre.dllでも互
換性を維持するために、JRE32.DLLと同じ意味として動作します。

 「\d」をサポートしないのも、実はその「\w」が、あえてPerl系の正規表現と
意味が違うのを誤解されないように、という意味合いおよび互換性の問題も多少
あります。

 「\d」をサポートするなら、「\D」や「\W」なんかも対応してすべてPerl互換
にした上で、さらには今まで豊富に作成されたマクロ類もなんの修正もなく動作
する、みたいなことをしないといけないので、それはそれでまたオプションなり、
マクロ用の特別な命令なりを用意してということになると思いますけども、今の
ところまだ踏ん切りが付かなくて、やってないです。

[ ]
RE:26861 特定のファイルを開くと落ちてしNo.26871
hht さん 09/07/31 19:27
 
なるほど、そういうことですか。
いつの日かサポートされることを期待しています。
お世話になりました。

[ ]