简体   繁体   English

安装SDK 1.8后出现WaHostBootstrapper错误

[英]WaHostBootstrapper Error After Installing SDK 1.8

I've recently upgraded our Azure SDK to 1.8 (From 1.6). 我最近将Azure SDK升级到1.8(从1.6开始)。 On deploying all our web and worker roles come online without issue except for 1. 部署后,除了1之外,所有其他网站角色和工作角色都可以联机,没有问题。

This 1 worker role is the only 1 with 2 instances (The rest are single instances); 该1个角色是仅有的2个实例(其余为单个实例); all dlls are set to CopyLocal = "true", connection strings are the same as the worker roles that successfully come online and I cannot see any difference in the code. 所有dll都设置为CopyLocal =“ true”,连接字符串与成功联机的辅助角色相同,我看不到代码中的任何区别。

The errors being thrown when I remote desktop into 1 of the instances are: 当我将远程桌面放入其中一个实例时抛出的错误是:

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

And: 和:

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.

In the Azure Management Portal the Roles go through a cycle of: 在Azure管理门户中,角色经历以下循环:

  • Starting Role 起始角色
  • Preparing Node 准备节点
  • Recovering Role 恢复角色

I have been trying to ascertain what the issue is for hours to no avail. 我一直在试图确定问题出了几个小时,但无济于事。

Additional details 额外细节

Below is the raw WaHostBoostrapperLog; 下面是原始的WaHostBoostrapperLog; there are a number of these logs with the only difference being that the PID changes in each one. 这些日志有很多,唯一的区别是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

After doing a side-by-side comparison between the worker roles that work and the one that was causing the above errors; 在对工作中的工作人员角色与导致上述错误的工作人员角色进行了并行比较之后; I noticed that the role which was unable to start had an unnecessary reference to both another worker role and a unit testing project. 我注意到无法启动的角色对另一个工作人员角色和单元测试项目都没有必要的引用。

Whilst this silently worked in the prior versions of the SDK (1.6); 尽管这在SDK的早期版本(1.6)中默默工作; the 1.8 version appeared to have an issue with one of the references. 1.8版本似乎与其中一个参考存在问题。

After removing the unnecessary references the role came online without issue. 删除不必要的引用后,该角色将联机,没有问题。

If you encounter the WaHostBootstrapper I'd recommend: 如果您遇到WaHostBootstrapper,我建议:

  • Ensuring all dlls are set to CopyLocal = "true" ( As indicated in this question ) 确保所有dll都设置为CopyLocal =“ true”( 如该问题所示
  • Remove any unnecssary references from the project 从项目中删除所有不必要的引用
  • Remove any references that may cause conflicts 删除任何可能导致冲突的参考

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM