locked
Double fault BSOD (Bug Check 0x7F: UNEXPECTED_KERNEL_MODE_TRAP) happens during the "shutdown" processing of "restart" when Windows 7 32bit is running as a guest OS. RRS feed

  • Question

  • Envrionments:

    1) H/W: Intel Q57 chipset, Core i5 processor. hardware VT is enabled. 

    2) S/W: my own VMM.  Windows 7 32bit (not 64bit) as a Guest OS. 

     

    I use CPUID(1).ECX[31] bit to indicate whether my own VMM is running or not underneath(just like Hyper-v does: http://msdn.microsoft.com/en-us/library/ff538624(v=VS.85).aspx). 

    however,

    a) If I set that bit in VMM, then the Guest Windows 7 32bit OS will show a BSOD below during the processing of shutdown after I click "restart" OS in Win7: 

    **** STOP: 0x0000007F (0x00000008, 0x801DD000, 0x00000000, 0x00000000) 

    b) If I clear that bit in VMM, then everything is OK for the Guest Windows 7 32bit OS. 

     

    Could anyone give me some clues to this issue? Or is there anybody know about what Win7 will do if it detects itself running as a guest OS when it reboots?  

     

    Thanks. 

    Kevin

    Wednesday, April 28, 2010 7:43 AM

Answers

  • For your reference:

     

    Bug Check 0x7F: UNEXPECTED_KERNEL_MODE_TRAP

     

    According to the first parameter, 0x00000008, or Double Fault, indicates that an exception occurs during a call to the handler for a prior exception. Typically, the two exceptions are handled serially. However, there are several exceptions that cannot be handled serially, and in this situation the processor signals a double fault. There are two common causes of a double fault:

     

    ·          A kernel stack overflow. This overflow occurs when a guard page is hit, and the kernel tries to push a trap frame. Because there is no stack left, a stack overflow results, causing the double fault. If you think this overview has occurred, use !thread to determine the stack limits, and then use kb (Display Stack Backtrace) with a large parameter (for example, kb 100) to display the full stack.

    ·          A hardware problem.

     

    However, to solid troubleshoot the blue screen issue, it is recommended to contact Microsoft Customer Support Service (CSS) for assistance so that this problem can be resolved efficiently.

     

    Best Regards

    Dale

    • Marked as answer by Dale Qiao Wednesday, May 5, 2010 6:51 AM
    Thursday, April 29, 2010 6:19 AM

All replies

  • For your reference:

     

    Bug Check 0x7F: UNEXPECTED_KERNEL_MODE_TRAP

     

    According to the first parameter, 0x00000008, or Double Fault, indicates that an exception occurs during a call to the handler for a prior exception. Typically, the two exceptions are handled serially. However, there are several exceptions that cannot be handled serially, and in this situation the processor signals a double fault. There are two common causes of a double fault:

     

    ·          A kernel stack overflow. This overflow occurs when a guard page is hit, and the kernel tries to push a trap frame. Because there is no stack left, a stack overflow results, causing the double fault. If you think this overview has occurred, use !thread to determine the stack limits, and then use kb (Display Stack Backtrace) with a large parameter (for example, kb 100) to display the full stack.

    ·          A hardware problem.

     

    However, to solid troubleshoot the blue screen issue, it is recommended to contact Microsoft Customer Support Service (CSS) for assistance so that this problem can be resolved efficiently.

     

    Best Regards

    Dale

    • Marked as answer by Dale Qiao Wednesday, May 5, 2010 6:51 AM
    Thursday, April 29, 2010 6:19 AM
  • Hi, Dale,

    Thank you for your answers to this issue. 

    The real problem for me is that there is no any memory dump file created by Win 7 when this double fault BSOD happened.   Probably because the disk driver has already been unloaded at that "shutdown" time. 

     

    Best Regards

    Kevin

    Friday, April 30, 2010 8:55 AM