Win7の起動時に開始するサービスがあります。起動後にサービスを開始すると、Windows エラー報告サービスによって報告されたイベント ログに警告が見つかりませんが、起動中に自動的に開始されると、次のようになります。
Fault bucket , type 0
Event Name: ServiceHang
Response: Not available
Cab Id: 0
Problem signature:
P1: serviceName
P2: serviceName
P3: 0.0.0.0
P4: 10
P5: 2
P6:
P7:
P8:
P9:
P10:
Attached files:
These files may be available here:
Analysis symbol:
Rechecking for solution: 0
Report Id: 46283ee5-85ba-11e2-9242-001a4d425476
Report Status: 4
wer で生成されたファイルを見ると、次のように書かれています。
LoadedModule[0]=C:\Program Files (x86)\..\serviceName.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\SYSTEM32\wow64.dll
LoadedModule[3]=C:\Windows\SYSTEM32\wow64win.dll
LoadedModule[4]=C:\Windows\SYSTEM32\wow64cpu.dll
Windowsローダーによるサービスのロード中に、ハングのようなものが検出されたようです。しかし、説明したレポートの起動中にパフォーマンス レコーダーを使用してログを収集したところ、次のことがわかりました。
.exe の読み込み (上記のグラフから) と、WER レポートに記載されていないモジュール (kernel32.dll) の読み込みの間の距離を測定すると、200 ミリ秒以下であることがわかります (これらはすべて Microsoft dll-s)。WER がそれをハングとして報告している理由と、それについて何かできるかどうか疑問に思います。私は常にシステムの起動時に再現し、他の状態では再現しません。
注サービスは正常に開始されます。これは、起動のたびに発生するイベント ビューアーの報告だけです。