蓝屏转储 – EXCEPTION_DOUBLE_FAULT – 在Windows 2008服务器64位

我的Windows 2008服务器(数据中心版)64bit,最近在不同的应用程序上创build了一系列的BSOD。 错误消息通常是EXCEPTION_DOUBLE_FAULT

任何人都可以请帮助下面的转储文件的分析?

 2:kd>!analyze -v
 ************************************************** *****************************
 * *
 * Bugcheck分析*
 * *
 ************************************************** *****************************

 UNEXPECTED_KERNEL_MODE_TRAP(7f)
这意味着陷阱发生在内核模式,这是一种陷阱
内核不允许有/捕获(绑定陷阱)或那个
总是瞬间死亡(双重故障)。 在第一个数字
错误检查参数是陷阱的编号(8 =双重错误等)
请参阅英特尔x86系列手册以了解更多有关这些内容的信息
陷阱是。 这是这些代码的*部分*:
如果kv显示一个taskGate
        在冒号前面使用.tss,然后是kv。
否则如果kv显示陷阱
        对该值使用.trap
其他
         。在适当的框架上捕捉陷阱将显示在哪里
         (在x86上,这将是程序KiTrap的ebp)
万一
 kb将显示更正的堆栈。
参数:
 Arg1:0000000000000008,EXCEPTION_DOUBLE_FAULT
 Arg2:0000000080050033
 Arg3:00000000000006f8
 Arg4:fffff800018b1678

debugging细节:
 ------------------


 BUGCHECK_STR:0x7f_8

 CUSTOMER_CRASH_COUNT:1

 DEFAULT_BUCKET_ID:DRIVER_FAULT_SERVER_MINIDUMP

 PROCESS_NAME:CustomerService。

 CURRENT_IRQL:1

 EXCEPTION_RECORD:fffffa6004e45568  - (.exr 0xfffffa6004e45568)
exception地址:fffff800018a0150(nt!RtlVirtualUnwind + 0x0000000000000250)
    ExceptionCode:10000004
   ExceptionFlags:00000000
 NumberParameters:2
   参数[0]:0000000000000000
   参数[1]:00000000000000d8

 TRAP_FRAME:fffffa6004e45610  - (.trap 0xfffffa6004e45610)
注意:陷阱帧不包含所有寄存器。
有些寄存器值可能为零或不正确。
 rax = 0000000000000050 rbx = 0000000000000000 rcx = 0000000000000004
 rdx = 00000000000000d8 rsi = 0000000000000000 rdi = 0000000000000000
 rip = fffff800018a0150 rsp = fffffa6004e457a0 rbp = fffffa6004e459e0
  r8 = 0000000000000006 r9 = fffff8000181e000 r10 = ffffffffffffff88
 r11 = fffff80001a1c000 r12 = 0000000000000000 r13 = 0000000000000000
 r14 = 0000000000000000 r15 = 0000000000000000
 iopl = 0 nv up ei pl zr na po nc
 !NT RtlVirtualUnwind + 0x250:
 fffff800`018a0150 488b02 mov rax,qword ptr [rdx] ds:00000000`000000d8 = ???????????????
重置默认范围

 LAST_CONTROL_TRANSFER:从fffff800018781ee到fffff80001878450

 STACK_TEXT:  
 fffffa60`01768a68 fffff800`018781ee:00000000`0000007f 00000000`00000008 00000000`80050033 00000000`000006f8:nt!KeBugCheckEx
 fffffa60`01768a70 fffff800`01876a38:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000:nt!KiBugCheckDispatch + 0x6e
 fffffa60`01768bb0 fffff800`018b1678:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000:nt!KiDoubleFaultAbort + 0xb8
 fffffa60`04e44e30 fffff800`018782a9:fffffa60`04e45568 00000000`00000001 fffffa60`04e45610 00000000`0000023b:nt!KiDispatchException + 0x34
 fffffa60`04e45430 fffff800`018770a5:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000001:nt!KiExceptionDispatch + 0xa9
 fffffa60`04e45610 fffff800`018a0150:fffffa60`04e46638 fffffa60`04e46010 fffff800`01965190 fffff800`0181e000:nt!KiPageFault + 0x1e5
 fffffa60`04e457a0 fffff800`018a3f78:fffffa60`00000001 00000000`00000000 00000000`00000000 ffffffff'ffffff88:nt!RtlVirtualUnwind + 0x250
 fffffa60`04e45810 fffff800`018b1706:fffffa60`04e46638 fffffa60`04e46010 fffffa60`00000000 00000000`00000000:nt!RtlDispatchException + 0x118
 fffffa60`04e45f00 00000000`00000000:00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000:nt!KiDispatchException + 0xc2

 STACK_COMMAND:kb
 FOLLOWUP_IP: 
 !NT KiDoubleFaultAbort + B8
 fffff800`01876a38 90 nop
 SYMBOL_STACK_INDEX:2
 SYMBOL_NAME:nt!KiDoubleFaultAbort + b8
 FOLLOWUP_NAME:MachineOwner
 MODULE_NAME:nt
 IMAGE_NAME:ntkrnlmp.exe
 DEBUG_FLR_IMAGE_TIMESTAMP:4a7801eb
 FAILURE_BUCKET_ID:X64_0x7f_8_nt!KiDoubleFaultAbort + b8
 BUCKET_ID:X64_0x7f_8_nt!KiDoubleFaultAbort + b8
跟进:MachineOwner
 ---------

问题是,当内核正在处理一个exception,它遇到了第二个。 在这种情况下,它正在处理页面错误,而遇到第二个错误。 很可能这是一个堆栈溢出。

在windbg中加载dmp文件并运行以下命令:

 .trap fffffa6004e45610 k 100 

这将产生有问题的线程的堆栈跟踪。 请在这里发布堆栈。