2

最近、Azure SDK を 1.8 にアップグレードしました (1.6 から)。すべての Web ロールとワーカー ロールを展開すると、1 を除いて問題なくオンラインになります。

この 1 つの worker ロールは、2 つのインスタンスを持つ唯一の 1 つです (残りは単一インスタンスです)。すべての dll は CopyLocal = "true" に設定され、接続文字列は正常にオンラインになったワーカー ロールと同じであり、コードに違いは見られません。

インスタンスの 1 つにリモート デスクトップを接続すると、次のエラーがスローされます。

Faulting application name: WaHostBootstrapper.exe, version: 6.0.6002.18488, time stamp: 0x50a71329
Faulting module name: ntdll.dll, version: 6.1.7601.17696, time stamp: 0x4e8147f0
Exception code: 0xc0000374
Fault offset: 0x00000000000a0d6f
Faulting process id: 0x7d8
Faulting application start time: 0x01ce24b6e86ff75c
Faulting application path: E:\base\x64\WaHostBootstrapper.exe
Faulting module path: D:\Windows\SYSTEM32\ntdll.dll
Report Id: 33abe8c7-90aa-11e2-b534-00155d3a2649

と:

A fatal error occurred when attempting to access the SSL server credential private key. 
The error code returned from the cryptographic module is 0x8009030d. 
The internal error state is 10001.

Azure 管理ポータルでは、ロールは次のサイクルを経ます。

  • 開始時の役割
  • ノードの準備
  • 役割の回復

私は何時間もの間、問題が何であるかを確認しようとしてきましたが、役に立ちませんでした.

追加の詳細

以下は生の WaHostBoostrapperLog です。これらのログは多数ありますが、唯一の違いは PID がそれぞれで変化することです。

<- WapXmlReadRoleModel=0x1
<- WapXmlReadContainerId=0x1
<- WapGetVirtualAccountName=0x1
<- WapGetAppCmdPath=0x1
<- WapSetDefaultEnvironment=0x1
<- WapXmlReadContainerId=0x1
<- WapGetVirtualAccountName=0x1
<- WapGetAppHostConfigPath=0x1
<- GetDebugger=0x1
<- GetStartupTaskDebugger=0x1
<- WapGetEnvironmentVariable=0x800700cb
<- WapGetEnvironmentVariable=0x800700cb
Executing Startup Task type=2 rolemodule=Diagnostics cmd="E:\plugins\Diagnostics\DiagnosticsAgent.exe" 
Executing "E:\plugins\Diagnostics\DiagnosticsAgent.exe" .
<- WapGetEnvironmentVariable=0x800700cb
<- WapGetEnvironmentVariable=0x800700cb
Registering client with PID 2180.
Client DiagnosticsAgent.exe (2180) registered.
Executing Startup Task type=0 rolemodule=Diagnostics cmd="E:\plugins\Diagnostics\DiagnosticsAgent.exe" /blockStartup
Executing "E:\plugins\Diagnostics\DiagnosticsAgent.exe" /blockStartup.
Registering client with PID 1468.
Client DiagnosticsAgent.exe (1468) registered.
Program "E:\plugins\Diagnostics\DiagnosticsAgent.exe" /blockStartup exited with 0. Working Directory = E:\plugins\Diagnostics
<- WapGetEnvironmentVariable=0x800700cb
<- WapGetEnvironmentVariable=0x800700cb
Executing Startup Task type=2 rolemodule=RemoteAccess cmd="E:\plugins\RemoteAccess\RemoteAccessAgent.exe" 
Executing "E:\plugins\RemoteAccess\RemoteAccessAgent.exe" .
<- WapGetEnvironmentVariable=0x800700cb
<- WapGetEnvironmentVariable=0x800700cb
Registering client with PID 988.
Client RemoteAccessAgent.exe (988) registered.
Executing Startup Task type=0 rolemodule=RemoteAccess cmd="E:\plugins\RemoteAccess\RemoteAccessAgent.exe" /blockStartup
Executing "E:\plugins\RemoteAccess\RemoteAccessAgent.exe" /blockStartup.
Registering client with PID 1624.
Client RemoteAccessAgent.exe (1624) registered.
Program "E:\plugins\RemoteAccess\RemoteAccessAgent.exe" /blockStartup exited with 0. Working Directory = E:\plugins\RemoteAccess
<- GetDebugger=0x1
<- GetRoleHostDebugger=0x1
<- WapXmlReadContainerId=0x1
<- WapGetVirtualAccountName=0x1
Executing base\x64\WaWorkerHost.exe .
Role host process PID: 2264.
Registering client with PID 2264.
Client WaWorkerHost.exe (2264) registered.
Client process 2264 is the role host.
Role host process registered.
Getting status from client DiagnosticsAgent.exe (2180).
Client reported status 0.
Getting status from client DiagnosticsAgent.exe (1468).
Failed to connect to client DiagnosticsAgent.exe (1468).
<- CRuntimeClient::OnRoleStatusCallback(0x000000000044EB40) =0x800706ba
Getting status from client RemoteAccessAgent.exe (988).
Client reported status 0.
Getting status from client RemoteAccessAgent.exe (1624).
Failed to connect to client RemoteAccessAgent.exe (1624).
<- CRuntimeClient::OnRoleStatusCallback(0x000000000044EBD0) =0x800706ba
Getting status from client WaWorkerHost.exe (2264).
Failed to connect to client WaWorkerHost.exe (2264).
<- CRuntimeClient::OnRoleStatusCallback(0x000000000044E5A0) =0x800706ba
4

1 に答える 1

1

機能するワーカーロールと上記のエラーを引き起こしたワーカーロールを並べて比較した後。開始できなかったロールには、別のワーカー ロールと単体テスト プロジェクトの両方への不要な参照があることに気付きました。

これは、SDK の以前のバージョン (1.6) では静かに機能していました。1.8 バージョンには、参照の 1 つに問題があるようです。

不要な参照を削除した後、ロールは問題なくオンラインになりました。

WaHostBootstrapper に遭遇した場合は、次のことをお勧めします。

  • すべての dll が CopyLocal = "true" に設定されていることを確認します (この質問に示されているように)
  • プロジェクトから不要な参照を削除します
  • 競合を引き起こす可能性のある参照をすべて削除します
于 2013-03-20T11:02:38.923 に答える