2017年03月01日

ラベルの配置プロパティを閉じるとレイヤプロパティがハング

ArcGISを買って数か月後のある日、デフォルトのラベル位置では見えにくかったので、何気なくレイヤプロパティのラベルタブで「配置プロパティ」を開いてみた。で、配置の設定をしてOKをクリックしても、制御がレイヤプロパティに戻らない(涙)。(応答なし)とウインドウのタイトルに出たまま、うんともすんとも動かなくなる。

なんかデータが壊れているのかなぁと思って、他のデータでも試してみたけど、やっぱりハングする。絶対に再現するってある意味すばらしいんだけど、この後ArcMap.exeを終了しようとしても絶対に終了しないという困った現象まで必ず再現される。

まずは、Windowsのタスクマネージャからのタスクの終了はスルーされてしまう。タスクマネージャの「詳細」タブのところで、ArcMap.exeを終了しようとすると「アクセスが拒否されました」と言われてしまう。

管理者権限でtaskkillをしてもだめ、その他いろいろ手を尽くしても、プロセスが終了できない。仕方なくPCのシャットダウンをかけると、レイヤプロパティだけが残った状態となって、その他の動作はできなくなる。レイヤプロパティ以外は、シャットダウンされてしまっているのかもしれない。

仕方なく、本当に久しぶりにPCの電源ボタンを長押しして強制的に電源を切った。

これだけ大きなバグが残っているとは考えにくいので、OSとかドライバといった環境固有の問題なんだろうなぁと思う。実際、もう一つインストールしたWin7機では現象は再現しない。再現するのはWin8.1機である。しかし、大変に困る。せっかくArcGIS用にPCを買ったのになぁ。新しいPCの電源をぶちっと切り続けるのも気が引けるし。

ArcMapをWin7互換モードで起動しても現象は再現する。ArcGISのバージョンを最新にしても(当時は10.4)、再現する。うーん、とてもとても困る。

パソコンとか詳しくないんだけどな(涙)、と思いながら、いろいろ調べてみると、ArcMapが起動している最中、待機チェーンとしてsplwow64.exeというのが時々リストされることがある。常にリストされるわけじゃないんだけれど、ラベルの配置プロパティを開いた時もリストされる。

splwowって、スプールの何かなのかな?プリンタ関係のWindows Updateがあったら狙ってみてもよさそうである。

一応このバグが出た時点で、Windows Updateは最新のものを適用していたんだけど(Win10へのアップグレード関連は除く)、もう一度確認してみるとオプションでインストールが推奨されているものに、KB3013769というのがあった。

このKBは複数のdllなどが更新されるのだが、その中にsplowow64.exeも含まれていた。果たしてこのアップデートを適用したら、配置プロパティを開いてもハングしない!ああ、ハングしないってすばらしい!

このKBで、splwow64.exeのバージョンは6.3.9600.17415から6.3.9600.17480に更新されていた。配置プロパティを開いてもハングしないWin7機では6.3.9600.17415だったので、このバージョンのsplwow64.exeが絶対にいけないというわけでもなさそうである。

KB3013769にはsplwow64.exe以外にもいろいろアップデートされるので、必ずしもsplwow64.exeがいけないという確信があるわけではないんだけど。でも、とりあえずハングしなくなってほんとによかった。

まま、今回はこれにて。
posted by たかはし at 11:00| Comment(0) | ArcGIS