We noticed from multiple customers’ environment that Windows 7 operating system intermittently crashes, while they working with Visual Studio 2010 [VS 2010]. Since this was happening with multiple customers’ environment, I just thought of publish the details and fix for this issue in this blog.
Issue Details :
Windows 7 operating system crashes, while opening the multiple instances of Silverlight project through Visual Studio 2010 SP1 IDE. Troubleshoot this issue further; we have collected below data from the machine, which was crashed:
Windows Event Log [System Event Log]
Log Name: SystemSource: Microsoft-Windows-WER-SystemErrorReportingDate: XXXXXXXXXXXXXXXXEvent ID: 1001Task Category: NoneLevel: ErrorKeywords: ClassicUser: N/AComputer: XXXXXXXXXXXXXXDescription:The computer has rebooted from a bugcheck. The bugcheck was: 0x00000116 (0x8894a008, 0x990499b0, 0x00000000, 0x00000002). A dump was saved in: C:\Windows\MEMORY.DMP. Report Id: XXXXXXX
Log Name: SystemSource: EventLogDate: XXXXXXXXXXXXXXXXXEvent ID: 6008Task Category: NoneLevel: ErrorKeywords: ClassicUser: N/AComputer: XXXXXXXXXXXXXXXXXXDescription:The previous system shutdown at XXXX on XXXXXXXX was unexpected.
The above event logs indicate that, Operating System is crashed due to Bug Check 0x116. To get the more detail about this, I have reviewed the Kernel dump
Kernel Memory dump
VIDEO_TDR_FAILURE (116) => This indicate that an attempt to reset the display driver and recovered from a timeout failed (Ref Bug Check 0x116).Attempt to reset the display driver and recover from timeout failed.Arguments:Arg1: 8894a008, Optional pointer to internal TDR recovery context (TDR_RECOVERY_CONTEXT).Arg2: 990499b0, The pointer into responsible device driver module (e.g. owner tag).Arg3: 00000000, Optional error code (NTSTATUS) of the last failed operation.Arg4: 00000002, Optional internal context dependent data.
DEFAULT_BUCKET_ID: GRAPHICS_DRIVER_TDR_FAULT
VIDEO_TDR_CONTEXT: dt dxgkrnl!_TDR_RECOVERY_CONTEXT ffffffff85701510 +0x000 Signature : 0x52445476 +0x004 pState : 0x870ab638 0 ( TdrStateIdle ) +0x008 TimeoutReason : 2 ( TdrReasonPreemptTimeout ) +0x010 Tick : _ULARGE_INTEGER 0xc0 +0x018 pAdapter : 0x84f88000 DXGADAPTER +0x01c pVidSchContext : 0x8708a4d8 _VIDSCH_CONTEXT +0x020 GPUTimeoutData : _TDR_RECOVERY_GPU_DATA +0x038 CrtcTimeoutData : _TDR_RECOVERY_CONTEXT::<unnamed-type-CrtcTimeoutData> +0x040 DbgOwnerTag : 0x9a8439b0 +0x048 PrivateDbgInfo : _TDR_DEBUG_REPORT_PRIVATE_INFO +0xad0 pDbgReport : 0xc9348008 _WD_DEBUG_REPORT +0xad4 pDbgBuffer : 0xcd000000 Void +0xad8 DbgBufferSize : 0x40c5b +0xadc pDumpBufferHelper : 0xcc9b8070 CTDR_DUMP_BUFFER +0xae0 pDbgInfoExtension : 0xcc124e08 _DXGKARG_COLLECTDBGINFO_EXT +0xae4 pDbgBufferUpdatePrivateInfo : 0xcd000108 Void +0xae8 ReferenceCount : 0n1
The Crash occurred due to an issue with the windows display driver model (wddm), and please finds the detail about the crashing thread as below
0: kd> !threadTHREAD 86f66550 Cid 0004.01c4 Teb: 00000000 Win32Thread: 00000000 RUNNING on processor 0Not impersonatingDeviceMap 8bc084b0Owning Process 84f09bb0 Image: SystemAttached Process N/A Image: N/AWait Start TickCount 20602 Ticks: 0Context Switch Count 6865 IdealProcessor: 0 UserTime 00:00:00.000KernelTime 00:00:01.232Win32 Start Address dxgmms1!VidSchiWorkerThread (0x996444f4)Stack Init 807adfd0 Current bd47b350 Base 807ae000 Limit 807ab000 Call 0Priority 15 BasePriority 15 UnusualBoost 0 ForegroundBoost 0 IoPriority 2 PagePriority 5ChildEBP RetAddr Args to Child 807adb74 995c1adb 00000116 8894a008 990499b0 nt!KeBugCheckEx+0x1e (CONV: stdcall) 807adb98 995c28fa 990499b0 00000000 00000002 dxgkrnl!TdrBugcheckOnTimeout+0x8d (FPO: [Non-Fpo]) (CONV: stdcall) 807adbbc 9961892c 00000000 00000102 86f01788 dxgkrnl!TdrIsRecoveryRequired+0xb8 (FPO: [Non-Fpo]) (CONV: stdcall) 807adc34 99642a32 fffffcfb 00004fa5 00000000 dxgmms1!VidSchiReportHwHang+0x3c0 (FPO: [Non-Fpo]) (CONV: stdcall) 807adc5c 99643153 00000000 00000000 00000000 dxgmms1!VidSchiCheckHwProgress+0x68 (FPO: [Non-Fpo]) (CONV: stdcall) 807adc98 9961f8f0 807adc90 88808120 88a76008 dxgmms1!VidSchiWaitForSchedulerEvents+0x1b1 (FPO: [Non-Fpo]) (CONV: stdcall) 807add28 996444b7 86f01788 82a863e1 86f01788 dxgmms1!VidSchiScheduleCommandToRun+0xaa (FPO: [Non-Fpo]) (CONV: stdcall) 807add3c 99644573 86f01788 00000000 86f66550 dxgmms1!VidSchiRun_PriorityTable+0xf (FPO: [Non-Fpo]) (CONV: stdcall) 807add50 82c589df 86f01788 ac78a1f2 00000000 dxgmms1!VidSchiWorkerThread+0x7f (FPO: [Non-Fpo]) (CONV: stdcall) 807add90 82b0a1d9 996444f4 86f01788 00000000 nt!PspSystemThreadStartup+0x9e (CONV: stdcall) 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x19
0: kd> .bugcheckBugcheck code 00000116Arguments 8894a008 990499b0 00000000 00000002
The 2nd parameter to bug check is 928149b0. This is the pointer into the responsible device driver module.
0: kd> u 990499b0 igdkmd32!DxgkDdiCollectDbgInfo:990499b0 55 push ebp990499b1 8bec mov ebp,esp990499b3 83ec20 sub esp,20h990499b6 8b4508 mov eax,dword ptr [ebp+8]990499b9 8945f4 mov dword ptr [ebp-0Ch],eax990499bc 8b4d0c mov ecx,dword ptr [ebp+0Ch]990499bf 8b510c mov edx,dword ptr [ecx+0Ch]990499c2 8955e4 mov dword ptr [ebp-1Ch],edx
0: kd> lmvm igdkmd32start end module name9a832000 9ad2f000 igdkmd32 (pdb symbols) Loaded symbol image file: igdkmd32.sys Mapped memory image file: xxxxxx\igdkmd32.sys Image path: \SystemRoot\system32\DRIVERS\igdkmd32.sys Image name: igdkmd32.sys Timestamp: Wed May 06 23:43:40 2009 (4A01D354) CheckSum: 0048DF97 ImageSize: 004FD000 File version: 8.15.10.1749 Product version: 8.15.10.1749 File flags: 0 (Mask 3F) File OS: 40004 NT Win32 File type: 3.4 Driver File date: 00000000.00000000 Translations: 0409.04b0 CompanyName: Intel Corporation ProductName: Intel Graphics Accelerator Drivers for Windows Vista(R) InternalName: igdkmd32.sys OriginalFilename: igdkmd32.sys ProductVersion: 8.15.10.1749 FileVersion: 8.15.10.1749 FileDescription: Intel Graphics Kernel Mode Driver LegalCopyright: Copyright (c) 1998-2006 Intel Corporation
RESOLUTION
Based on the above details, we able to fix this issue by updating the ‘igdkmd32.sys’ file from http://www.intel.com/p/en_US/support/detect
References: