Samba4.3 ベースのActive Directory (AD) 環境で運用をし始めてから3年程度が経ちますが、便利な半面ときどきよくわからない問題に直面することがあります。その時いつもふと頭を過るのは、
「これは Samba 固有の問題なのか、Active Directory 共通の問題なのか」
ということです。今回の問題も色々と調べましたが、ざっくりといえば AD (というよりもWindows) に共通の問題みたいではあるみたいですが、果たして・・
発端
とある営業所の社員が、PCを使用している時に、作業中に突然パソコンがフリーズするとのこと。
症状としては、
- 突然全ての動作が止まり、どのウィンドウも反応しなくなってしまう。
- 止まるタイミングは不明、とのこと。
利用している環境は、
- OSは、Windows7 Pro7 32bit版
- Samba4.3 ベースの Active Directory (AD) 環境にドメインメンバとして参加している
- グループポリシー で、フォルダリダイレクトを使用している。
- ユーザーは、いわゆる
Domain Users
に所属している一般ユーザ。
イベントログの確認
相手のPCにリモートで接続して見てみると、Explore.exe
が応答しなくなっているように見えるので、Explore.exe
の再起動を試みると、デスクトップのアイコンやタスクバーが全て消えてしまいます。
幸い、Ctrl+Alt+Delキーで反応はしてくれるので、一旦ログオフさせて、再度ログオンすると、ひとまず問題なくログオンができたので、イベントビューワを開いてイベントログをみてみると次のようなログが。。
ログの名前: Application ソース: Application Hang イベント ID: 1002 タスクのカテゴリ: (101) レベル: エラー キーワード: クラシック ユーザー: N/A コンピューター: SOMEHOST.mydomain.local 説明: プログラム RExp.exe バージョン 6.3.7.1121 は Windows との対話を停止し、終了しました。問題に関する詳細な情報があるかどうかを確認するには、アクション センター コントロール パネルで、問題の履歴をクリックしてください。 アプリケーション パス: C:\Program Files\RICOH\Ridoc Document\RExp.exe
[イベントID: 1002] のエラー。このアプリケーション1 以外にも、エクスプローラ(explore.exe
)でも同様のイベントIDでハングアップが起きている模様。
共通しているのは、そのハングアップのエラーログの直前に、Windows Error Reporting として、
ログの名前: Application ソース: Windows Error Reporting イベント ID: 1001 タスクのカテゴリ: なし レベル: 情報 キーワード: クラシック ユーザー: N/A コンピューター: SOMEHOST.mydomain.local 説明: 障害バケット 50、種類 5 イベント名: AppHangXProcB1 応答: 使用不可 Cab ID: 0 問題の署名: P1: RExp.exe P2: 6.3.7.1121 P3: 4743d451 P4: ffc5 P5: 524336 P6: IMJPDSVR.EXE P7: 10.1.7601.23572 P8: P9: P10: 添付ファイル: C:\Users\hoge-user\AppData\Local\Temp\WER4FD7.tmp.appcompat.txt C:\Users\hoge-user\AppData\Local\Temp\WER55B2.tmp.WERInternalMetadata.xml これらのファイルは次の場所にある可能性があります: C:\Users\hoge-user\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppHang_RExp.exe_4cb9d15981455dca3412b68fc8895f73d132c7_09b459a7 分析記号: 解決策を再確認中: 0 レポート ID: 688d14db-502e-11e9-b5df-c03fd5a0a129 レポートの状態: 0
のような [イベントID: 1001] のログを吐いて、レポートファイルが作成されている。
IMJPDSVR.EXE は何者?
他のレポートファイルも同じような感じで、ハングアップしたアプリケーションはそれぞれ違うものであるが、いずれにしても、レポートファイルを見ているとIMJPDSVR.EXE
というファイルの応答を待っている途中で停止している模様。
そこで、いろいろググっていくと、次のような情報が。
フォルダリダイレクト環境にて Microsoft IME を利用するアプリケーションが応答しなくなる - Microsoft サポート
原因
フォルダリダイレクト環境では IME10 が利用する辞書ファイル保存先である
%USERPROFILE%\AppData\Roaming\Microsoft\IMJP10
フォルダが存在しない場合があります。この場合、imjpdsrv.exe
は辞書ファイル作成処理でループすることで CPU 使用率を消費してしまいます。回避策
ログオン前に下記リダイレクト先の IMJP10 フォルダを作成します。必要に応じてログオンスクリプトにて下記フォルダ作成処理を追加してください。
[フォルダ名]
\\<ComputerName>\<ShareName>\<UserName>\AppData\Roaming\Microsoft\IMJP10
[フォルダ作成コマンド例]
md %APPDATA%\Microsoft\IMJP10
要するに、IMEのプログラムが辞書ファイルを作成しようとして、無限ループに陥るって言うことみたいですね。
・・ってなんなん、それ?バグとちゃうの?
と思わず一人ツッコミ。
どうも、これは日本語切り替えキーを押した段階か、別のウィンドウにフォーカスが入って、自動的にIMEが有効になった時点で止まってしまった (ように見える?) ものと思われます。
%APPDATA%
は、概ね\\server\profiles\username\AppData
に展開されるので、そこにIMJP10
フォルダを作成します。ローカルのC:\\Users\user\AppData\Roaming\Microsoft\IMJP10
へは自動的に同期されるようなので、何もせずそのままに。
問題解決・・と思ったら
フォルダを追加して、これだ大丈夫かな?と思ったのもつかの間、やはり先程同様フリーズしてしまうと連絡が・・
再度、サーバーのプロファイルを開いてみると、そこには、IMJP14
というフォルダが。(IMJP10
からリネームされた?のか、なくなっていました)
ローカルは、IMJP10
のままなので、サーバ上のIMJP14フォルダをコピーして、ローカルに貼ってみて、対処。
今度はしばらくは調子よく動作していたものの、再々度、ハングアップ。
ここで、お得意のカンニングをすることに。他のユーザーの Profiles 以下のファイルをチェックしてみると、ほぼすべてのユーザーにフォルダ IMJP10
があるので、ユーザーのサーバ上のプロファイルに、再度IMJP10
を追加してみた。
・・と、ここまでの作業で、なんとか問題なく動作しているみたいです。
まとめ
数年にも同じような状況で対処したことがあり、もしかすると・・と思ったらビンゴでした。
共通するのは、ログオン時にIMEが利用できない状況が発生し、それに対処した後からこの問題が発生するように思えますが、原因はハッキリとわかりません。
- Ricoh のドキュメント管理ソフトウェア ↩
0件のコメント