3

本日、お客様が製品の新しいバージョンをダウンロードしてインストールした後、製品の一部である Windows サービスで問題に遭遇しました。

彼らは、.NET 2.0 がインストールされている Windows Server 2003 R2 (Service Pack 2) マシンでサービスを実行しています (これは、そのサーバー上の .NET Framework の最新バージョンです)。

製品の更新プログラムをインストールしてサービスを再起動すると、すぐにクラッシュし、次のエラー情報が Windows イベント ログに記録されました。

イベントの種類: エラー
イベント ソース: .NET ランタイム 2.0 エラー報告
イベント カテゴリ: なし
イベント ID: 5000
日付: 2012 年 8 月 13 日
時間: 午前 11 時 46 分 23 秒
ユーザー: なし
コンピューター:   
説明:
EventType clr20r3、P1 our-service-name-redacted.exe、P2 2.6.31.0、P3 4fcd090b、P4 mscorlib、P5 2.0.0.0、P6 4889dc80、P7 e38、P8 1e8、P9 pszqoadhx1u5zahbhohghldgiy4qixhx、P10 NIL。

現在、他の数人の顧客が同じバージョンの Windows サービスを問題なく (異なるバージョンの Windows で) 実行しています。Windows Server 2003 R2 (Service Pack 2) を実行している仮想マシンでサービスをテストしましたが、この問題は発生しませんでした。問題ですが、この単一の顧客に対して一貫して発生します。

つまり、これは「私のコードの何が問題なのか?」という質問ではありません。質問: このエラー情報について、私が奇妙だと思う次の 2 つのことに興味があります。

  • フォルト モジュール (P4) はmscorlibです。
  • 通常、私が理解している限り発生した例外に名前を付けるはずの P9 には、ガベージ データのように見えるものが含まれています (または、ある種の難読化された情報でしょうか?)。

これについての一般的な説明はありますか?「P9ごみ」などを検索して何か役立つものを見つけるのは難しいため、グーグルを試しましたが、あまりうまくいきませんでした。特に、P9 の「ちんぷんかんぷんな」値が何を示しているのか、非常に興味があります。たとえば、これは .NET のインストールが破損していることを示唆している可能性がありますか? それとも、この "意味不明" には実際に何か意味があるのでしょうか?

また、問題のあるモジュールがmscorlibであり、当社独自のアセンブリの 1 つではないことに少し驚いています。これは、顧客の .NET インストールが破損しているのか、サーバーにウイルスやその他のマルウェアが潜んでいるのか、もう一度考えさせられます。

前述のように、このかなり奇妙なエラー レポートと P9 の "意味不明" について一般的な説明はありますか、またはクラッシュ ダンプを取得して WinDbg でデバッグする以外に試す必要がある特定のトラブルシューティング手順はありますか?

4

1 に答える 1

7

の例外情報は、P9長すぎてフィールドに収まらない場合にハッシュされます(フィールドの長さはわかりませんが、明らかに制限されています)。

ただし、運が悪ければ、過去に多くの人がハッシュコードに遭遇した可能性が高いので、ハッシュに基づいて検索を行うと、どのタイプのハッシュコードかをすでに知っている人を見つけることができます。例外でした。この場合、COM例外のようです。

最後に、すべてのモジュール情報は、例外が発生した場所を示しています。例外をスローするために呼び出すコードはまったく珍しいことではなく、mscorlibへの呼び出しがかなり少ない珍しい.NETプログラムになります。それがCOMの例外であることが(現在)わかっている場合は、特に驚くことではありません。

于 2012-08-16T07:59:45.703 に答える