这让我发疯:我们有一个带有 ASP.NET MVC 3 项目的 Windows Azure 云服务。最近发生了很多变化,所以我们必须每隔几天部署一次。
有时(例如现在),我们会遇到以下部署错误:
Role instances recycled for a certain amount of times during an update or upgrade operation...
manage.windowsazure.com
告诉我们 Staging 部署的实例 0 不健康:
Recycling (Role has encountered an error and has stopped)
但是实例 1 很好,实例 1 上的 Web 服务正在运行,所以错误的原因不是我们的代码。
我们 RDP 到实例并检查了应用程序事件日志,它多次显示以下错误:
Faulting application name: WaHostBootstrapper.exe, version: 6.0.6002.18488, time stamp: 0x505cf7da
Faulting module name: ntdll.dll, version: 6.1.7601.17696, time stamp: 0x4e8147f0
Exception code: 0xc0000008
Fault offset: 0x00000000000d4995
Faulting process id: 0x970
Faulting application start time: 0x01ce474976d706d2
Faulting application path: E:\base\x64\WaHostBootstrapper.exe
Faulting module path: D:\Windows\SYSTEM32\ntdll.dll
Report Id: c26d8be8-b33c-11e2-a9be-00155d3ab8c9
当这种情况发生时,我们
- 重新映像实例
- 重启实例
- 再次部署
- 创建支持票
几个小时后,一切都恢复正常了。我们没有更改部署中的任何内容,它只是再次工作,就像以前一样。在 Microsoft 支持做出反应时,一切都恢复正常,因此我们无法向他们展示问题。
这太荒谬和令人沮丧了。仅仅因为这个愚蠢的错误,我们正在失去几天的工作。
其他人有这些问题吗?有什么想法可以阻止这种情况吗?