2022年6月21日火曜日

[備忘録]Windows11 Explorerの右クリックメニューの反応が遅くなる件、解決(か?)

「 Windows11の」と書いたけれど、Windows10を使っていた頃から出ていた現象、Explorerの右クリックメニュー(コンテキストメニュー)でしばらくフリーズする件について、ようやく解決方法が分かったので、その備忘録。


現象はWindows10の頃から出ていた。Windows11が出た頃、もしかして直るかもしれないと淡い期待を込めてアップデートしたけれど、結局は直らずじまい、だましだまし使ってきたけれど我慢の限界が来て調べてみました。

現象の回避策としては、

・TortoiseSVN用のIcon Overlay Handlerを無効にする

というものでした。

えっ!?Context Menu Handlerではなく、Icon Overlay Handlerの無効化!?

確かに変です、でもこれを無効にすることでコンテキストメニューはスッと表示されるようになりました。


これまで、メニューが表示されるまでに10~30秒くらい待たされることがありました。一度メニューが表示されるようになると、続けて右クリックするとすぐに表示されていました。しかし、何分か別の作業をして再度Explorerに戻ってメニューを開こうとすると、また何十秒も待たされました。Explorerとは別のファイラーを使っても、コンテキストメニューを表示させようとすると同じ現象が発生していました。本当にイライラしながらも何とか我慢して使っていましたが、これでイライラから解放されました。


最終的には、フリーソフトのShellExViewが大変役に立ちました。手軽にContext Menu HandlerをEnable/Disable切り替えができるので助かりました。

Shell ExtensionのContext Menu Handlerのどれかが悪さしているだろうことは想像に難くないので、自前のテストプログラムを作り、レジストリを走査してContext Menu Handlerを実装しているWindows内DLLをロード&COM経由でハンドラを呼び出すようなテストをして調べていたのですが、作ったテストプログラムでは極端に遅くなる現象がどうしても再現せず、ほとんど諦めていました。

別の方法としては、ExplorerをVisual Studioのデバッガにアタッチしてシンボル情報(とは言っても、Windows系DLLのシンボルしか入手されませんが)や、デバッガ上のDLLロードタイミングなどから問題のDLLを探そうともしていましたが、こちらも問題の特定には至らなかったです。


それにしても、なぜIcon Overlay Handlerの無効化が回避策となり得るのか、本当に不思議です。でも、いいんです。PCなんてダマシダマシ使うものと割り切ってますから。


2022年6月13日月曜日

[備忘録]ブラウザがERR_CERT_COMMON_NAME_INVALIDエラーを出してページが開けない!

 自分用の備忘録。

今まで、ちゃんとアクセスできていたあるページがブラウザで開けなくなりました。何度やっても、「この接続ではプライバシーが保護されません」(ERR_CERT_COMMON_NAME_INVALID)と出ていました。

原因は基本的には証明書絡みなのだと思いました。ググると色々と出てきますが、今回の私のケースに当てはまるものは無かったので、ここで記録することにします。


原因は・・・・

  • ESET Internet Securityが悪さをしていた!

ということだったようです。

というのも、この現象が発生したPCは2台あってその2台ともESETをアンインストールした時点で問題がなくなりました。その後、ESETを再インストールしてもエラーは再現せず、正しく目的のページが表示される状態に直りました。


確かに、エラーメッセージに、ESET SSL Filter CAなんたら~というのが出ていました。ググったところによると、ESETはhttpsでデータを取得するとき、ESET自身がhttpsで暗号化されたデータを取得したあと、PC内で一旦展開して内容をチェック、更にESET自身の証明書を付けてデータを元アプリに渡すとか何とか・・・(ゴニョゴニョ、詳しいことはよく分かりません!!中間者攻撃がやる方法と同じような方法で接続先との間に立って内容をチェックしているとか何とか・・・)。今回はどうもその部分が何故かぶっ壊れていたのだろうと推測します。


この問題が出ておかしくなったPCは2台。その他にも、ESETを入れているPC4台で調べてみたけれど、この現象は出ていませんでした。何か発動条件があるのだろう。


ちなみに、ERR_CERT_COMMON_NAME_INVALID問題が発生している状態で、そのエラー・警告を無視して続行すると、変なページに飛ばされていました。例えば、えいちてぃーてぃーぴー コロン スラッシュスラッシュ vebee ドット info とか(↓)、


他には、何故かApache2 Ubuntuのページとか(↓こんなヤツ)。


「飛ばされる」とは言ってもリダイレクトではなく、ブラウザのアドレスバーは自分で入力したURLのままで、ページの内容がこれらの妙なページが表示されるという不思議な状態でした。