「プログラム実行」の不具合No.13596
tn さん 02/12/09 15:35
 
「プログラムを実行」及びマクロで外部プログラムを起動した場合に、以下のような
アラートが表示されます。

--以下引用

プログラムが、現在 000D4E2D から 0CF4:02FE で使われているメモリにアクセスし
ました。
作業を保存してからプログラムを終了してください。プログラムを続行するとシステ
ムが不安定になる可能性があります。続行しますか?

--引用終わり

ここで実行をキャンセルすると、CPUを100%食いつぶすプロセスが残るようです。他
の作業は可能ですが、シャットダウンはできなくなります。
ここで続行すると、以下に示すように同様のアラートがあと2回表示されますが、そ
の後正常に実行され、システムの動作にもとりあえず異常はないように見えます。

2回目  000D4E68 / 0CF4:02FE

3回目  000D4EA3 / 0CF4:02FE

秀丸のバージョンは3.17、Windowsのバージョンは4.00.950aでいわゆるOSR1です。
あまり深く検証はしていませんが、標準のsort.exeを使用して気づきました。他の16
ビットのフィルタプログラムでも表示されるオフセットの値は違うようですが、同様
のアラートが表示されます。32ビットのものでは問題なく動作するようです。
また、この問題は最近になって気づいたもので、以前は問題なく動作していました。
いつから不具合を生じるようになったのかわからないのですが、秀丸をバージョンア
ップしたこと、vcacheと仮想メモリを固定にしたことくらいです。
システム側の変更については、これからたまった処理が終わり次第戻してみますが、
アドバイスがあればよろしくお願いします。

[ ]
RE:13596 「プログラム実行」の不具合No.13605
秀丸担当 さん 02/12/09 17:18
 
>「プログラムを実行」及びマクロで外部プログラムを起動した場合に、以下のよう
>なアラートが表示されます。

Win95OSR1,OSR2,98でsort.exeを動かすテストをしてみましたが、いずれも
問題ありませんでした。
V3.17とV3.18両方で試してみましたが、Win95OSR1ではV3.17でしか試してい
ません。
何か、16bitアプリを動かすにあたり別の問題があるということはないでしょ
うか。

[ ]
RE:13596 「プログラム実行」の不具合No.13606
ひろ さん 02/12/09 17:41
 
 tn さん今日は、ひろです。
> プログラムが、現在 000D4E2D から 0CF4:02FE で使われているメモリにアクセスし
> ました。
 この時の異常が起きているモジュールは何ですか? もし Hiedemaru.exe 等
秀丸をインストールしたフォルダにあるファイルでなく、sort.exe 等なら秀
丸ではおそらく対処できないと思います。つまり実行されたプログラムの問題。

 少なくとも sort.exe などを
>sort.exe < sample.txt > sample.out
の要領で正常に動作するかを確認をされていなければ、そちらを先に行って
ください。そうしないと実行されたプログラムの問題か、秀丸の問題か切り分
けが出来ません。

 また
> 秀丸のバージョンは3.17、Windowsのバージョンは4.00.950aでいわゆるOSR1です。
の後も幾つかバグ・フィックスが公開されていますが、そちらは導入済みでしょうか?

[ ]
RE:13605 「プログラム実行」の不具合No.13609
安久津 さん 02/12/09 19:34
 
あくつです。
環境: 秀丸 v3.17, WindowsME

>>「プログラムを実行」及びマクロで外部プログラムを起動した場合に、以下のような
>>アラートが表示されます。
うちではアラートは表示されませんが、以前には動作した以下のマクロが
動作しません(と思う、もうやりたくない)。

    run "command.com /k";
    run "command.com /k doskey /insert";

v3.17 になった頃だと思います。
同様にシャットダウンできなくなります。

秀丸のウインドウのアイコン(左上にあるやつ)が点滅するだけで、
なにも起こらない。
昔、標準エラー出力を取得できなかった頃に似ていた。

-----
って、こんな報告じゃひどいので、一応以下をやってみました。

    run "command.com /k";

やっぱりダメですね。
アイコンが点滅するだけで、DOS窓は登場しません。
シャットダウンできなくなりました。( winoldapi )
run "sort <con >con"; は動きます。

では。

-----
run は本来外部プログラムの終了を待たなかったはず。
<con, >con とかがある場合は、終了を待っていたけど。

[ ]
RE:13606 「プログラム実行」の不具合No.13618
tn さん 02/12/10 14:19
 
> この時の異常が起きているモジュールは何ですか?

秀丸よりsort.exeを起動し、当該アラートを出した状態でwintopを起動してみました。
アラート自体のウィンドウタイトルはsort.exeになっています。秀丸以降に起動され
たプロセスは、redir32.exeとwinoa386.modとなっています。
アラートに従い実行を中断すると、このwinoa386.modが死んでしまうようです。

> 少なくとも sort.exe などを
>>sort.exe < sample.txt > sample.out
>の要領で正常に動作するかを確認をされていなければ、そちらを先に行って
>ください。そうしないと実行されたプログラムの問題か、秀丸の問題か切り分
>けが出来ません。

dosプロンプトや他のシェルから起動したsort.exeは正常に動作します。秀丸から起
動したときのみ不具合が生じます。

> また
>> 秀丸のバージョンは3.17、Windowsのバージョンは4.00.950aでいわゆるOSR1です。
>の後も幾つかバグ・フィックスが公開されていますが、そちらは導入済みでしょうか?

MSからリリースされているパッチで必要なものは、基本的にすべてあてています。

なにかお気づきの点があればよろしくお願いします。

[ ]
RE:13605 「プログラム実行」の不具合No.13619
tn さん 02/12/10 14:28
 
>何か、16bitアプリを動かすにあたり別の問題があるということはないでしょ
>うか。

ひろさんへのコメントにも書きましたが、dosプロンプト等から起動した場合は特に
問題はありません。
何か試してみることはありますでしょうか?

それからいじっていて気づいたんですが、UnixLikeToolsという16ビットのUNIX風
ツール群に含まれるsort.exeを秀丸から起動すると、起動時のアラートは標準のsort
と同様ですが、返される結果に無意味な改行が混ざるのに気づきました。関係がある
かどうかは不明ですけど…。

秀丸をバージョンダウンして試してみようかと思ったんですけど、単純に上書きしち
ゃっていいんでしょうか?

[ ]
RE:13618 「プログラム実行」の不具合No.13620
ひろ さん 02/12/10 14:46
 
 tn さん今日は、ひろです。
> dosプロンプトや他のシェルから起動したsort.exeは正常に動作します。秀丸から起
> 動したときのみ不具合が生じます。
 では、単体では問題ないんですね。しかし落ちているのが、
> アラートに従い実行を中断すると、このwinoa386.modが死んでしまうようです。
だとすると、原因究明も厳しそうですね。
 あと関係するかもしれないと思うのは、「動作環境の設定」→「編集」
→「高度な編集」→「プログラム実行で標準エラー出力も出力する」ぐ
らいですね。

> 秀丸をバージョンダウンして試してみようかと思ったんですけど、単純に上書きしち
> ゃっていいんでしょうか?
 こちらについてですが、問題ないはずです。

[ ]
RE:13609 「プログラム実行」の不具合No.13623
秀丸担当 さん 02/12/10 18:52
 
>って、こんな報告じゃひどいので、一応以下をやってみました。
>
>&nbsp; &nbsp; run "command.com /k";
>
>やっぱりダメですね。
>アイコンが点滅するだけで、DOS窓は登場しません。
>シャットダウンできなくなりました。( winoldapi )
>run "sort <con >con"; は動きます。

WindowsMeでこのマクロで試してみたところ、DOS窓が出て、入力
待ちの状態になりました。exitと入力することで、復帰すること
ができました。

[ ]
RE:13619 「プログラム実行」の不具合No.13624
秀丸担当 さん 02/12/10 18:52
 
>それからいじっていて気づいたんですが、UnixLikeToolsという16ビットのUNIX風
>ツール群に含まれるsort.exeを秀丸から起動すると、起動時のアラートは標準のsor
>tと同様ですが、返される結果に無意味な改行が混ざるのに気づきました。関係があ
>るかどうかは不明ですけど…。

無意味な改行はひょっとしたら改行コードがCRとLFが混ざっている具合による
のかもしれません。

>秀丸をバージョンダウンして試してみようかと思ったんですけど、単純に上書きし
>ちゃっていいんでしょうか?

上書きしてしまってかまいません。
調査させていただきます。

[ ]
RE:13624 「プログラム実行」の不具合No.13640
tn さん 02/12/11 15:05
 
状況が判明しました。

まず秀丸を3.15にバージョンダウンしてみましたが、変化はありませんでした。
比較的最近手を加えた、スワップファイルのサイズとVcacheのサイズを変更し
たのを元に戻してみましたが、やはり変化なし。
ふと最近、シェルから別のDOSプロンプトでプログラムを起動し、このウィン
ドウを自動で閉じるために、/windows/system/conagent.exeのpifファイルを
作ったことを思い出しました。その中のメモリタブの「プロテクト」のチェッ
クを外すと秀丸からのプログラム実行でアラートが出ることはなくなりました。
シャットダウンも正常に行えます。
この「プロテクト」は、システムメモリの不正な変更を保護するためのものだ、
とヘルプにはあります。いちおう動作には問題はなくなったものの、根本的な
問題は未解決ということなんでしょうか?

> 無意味な改行はひょっとしたら改行コードがCRとLFが混ざっている具合による
> のかもしれません。

これは対処の方法はありますか?

[ ]
RE:13640 「プログラム実行」の不具合No.13643
秀丸担当 さん 02/12/11 18:56
 
>ふと最近、シェルから別のDOSプロンプトでプログラムを起動し、このウィン
>ドウを自動で閉じるために、/windows/system/conagent.exeのpifファイルを
>作ったことを思い出しました。その中のメモリタブの「プロテクト」のチェッ
>クを外すと秀丸からのプログラム実行でアラートが出ることはなくなりました。
>シャットダウンも正常に行えます。

そうでしたか。なぜこれが関係しているのか謎ですが、参考にさせて
いただきます。
WindowsMeではメモリタブに「保護」というチェックがあり、チェック
してみましたが動作に変化はありませんでした。

[ ]
RE:13640 「プログラム実行」の不具合No.13652
アルビレオ さん 02/12/12 02:11
 
アルビレオです。

>> 無意味な改行はひょっとしたら改行コードがCRとLFが混ざっている具合による
>> のかもしれません。
>
>これは対処の方法はありますか?

これはsort.exe側の問題で、秀丸エディタは直接関係ありません。
UnixLikeと名乗っているとはいえDOS用のツールでこのような動作をされては困るので、
恐らく改行コードの変換フィルタもそのセットに含まれていると思うのですが。

sort.exeに渡すファイルが秀丸エディタで作成したものであれば、変換フィルタを使
わなくても
セーブするときに「改行=LF」と指定しておけば対処できます。
マクロなら「saveas "ファイル名",lf」です。

逆に入力ファイルには特別なことをせず、sort.exeの出力結果から空行を削除する方
法もあります。

[ ]
RE:13623 「プログラム実行」の不具合No.13654
安久津 さん 02/12/12 10:51
 
あくつです。

>WindowsMeでこのマクロで試してみたところ、DOS窓が出て、入力
>待ちの状態になりました。exitと入力することで、復帰すること
>ができました。
そうですか。うちの問題だったとは。(^^;)

では。
#でも原因究明はもうやりたくない。

[ ]