2017-06-02 111 views
1

我有一個Web服務在VM-Hypervisor中的Windows Server 2016實例上的IIS-10上運行。單獨的計劃任務在非高峯時間調用該Web服務的功能,以便從第三方系統檢索狀態更新。計劃任務將需要將狀態拉入小批次的項目中斷,並調用通過任務並行檢索/更新記錄的函數,並在所有任務完成後返回。WCF服務硬崩潰Windows 2016

有時(每第三次?),在此計劃任務期間,服務正在運行的應用程序池將掛起。 Log4Net停止記錄,對服務的請求不會得到響應,對服務的IIS記錄不會隨請求更新。在我的日誌或Windows事件日誌中沒有記錄錯誤。發生這種情況時,應用程序池將無限期地保持在此狀態。如果我回收運行服務的應用程序池,服務將正常響應約30秒,然後服務器將執行硬重啓。

在重新啓動後的事件日誌顯示下面的錯誤:

The computer has rebooted from a bugcheck. The bugcheck was: 0x00000139 (0x0000000000000003, 0xffffd60019506680, 0xffffd600195065d8, 0x0000000000000000).

所生成的dmp文件示出了相同的錯誤代碼,並識別該文件作爲NTOSKRNL.EXE。

所有的驅動程序都是最新的。我已確保所有任務和請求都有超時。我已經增加了服務器資源,超過了可能是原因的地步。我調整了正在處理的物品的批量大小。

我沒有排除故障的想法,並希望得到任何幫助。

+0

'0x139' [[KERNEL_SECURITY_CHECK_FAILURE]](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check---bug-check-0x139-kernel-security -check-failure),第一個參數表示這是由於'LIST_ENTRY'損壞引起的。換句話說:你有一個包含錯誤的驅動程序,不管它是否是最新的。 (「ntoskrnl.exe」就是檢測到問題的地方,很可能不是實際發生故障的代碼所在的地方。) –

+1

如果不進入完整的內核調試教程,可以安裝[windbg](https://docs.microsoft .com/en-us/windows-hardware/drivers/debugger/index),加載轉儲文件('windbg -z')並快速執行'!analyze -v'來查看它是否可以查明驅動程序。當然,由於這是一個虛擬機,虛擬機管理程序本身也有可能發生故障(虛擬硬件被「破壞」),並且分析不會產生任何用處(因爲您無法控制驅動程序)。但這就是你有Microsoft支持。 –

+0

更正以上內容:這就是你有VMWare支持。如果不涉及Hyper-V,微軟將不會處理有關虛擬硬件故障的支持憑單,因爲第三方虛擬化層可能會被指責。 –

回答

1

我想我會在這種情況下關閉它,以防其他人有這個特殊問題。

通過轉儲進行挖掘,BHDRVX64.SYS(賽門鐵克防病毒軟件)在崩潰之前立即進入堆棧。

4天后,賽門鐵克推出更新https://support.symantec.com/en_US/article.INFO4367.html,並解決了該問題。

**如果您遇到類似問題,請先卸載防病毒軟件並查看問題是否仍然存在。之後,在admin命令提示符下處理'fltmc'命令返回的內核級進程列表。