BSOD due to nvlddmkm.sys when trying to install NVIDIA driver 344.11 -Windows 8.1 x64

Hi,

Before I take a look, just to be clear, the full crash dump you're referencing is in post #18, correct?

Regards,

Patrick
 
Wow, you weren't kidding. This is actually a complete dump (24 GB). It took nearly 7 minutes to extract on an i7.

SYSTEM_SERVICE_EXCEPTION (3b)

This indicates that an exception happened while executing a routine that transitions from non-privileged code to privileged code.


Code:
BugCheck 3B, {[COLOR=#ff0000]c0000005[/COLOR], fffff800ca34b58f, [COLOR=#0000ff]ffffd000272c8dc0[/COLOR], 0}

2nd argument won't dump the faulting instruction if we run ln because it's already in the bang analyze.

Code:
6: kd> k
Child-SP          RetAddr           Call Site
ffffd000`272c8508 fffff803`699677e9 nt!KeBugCheckEx
ffffd000`272c8510 fffff803`699670fc nt!KiBugCheckDispatch+0x69
ffffd000`272c8650 fffff803`699631ed nt!KiSystemServiceHandler+0x7c
ffffd000`272c8690 fffff803`698f03a5 nt!RtlpExecuteHandlerForException+0xd
ffffd000`272c86c0 fffff803`698ef25f nt!RtlDispatchException+0x1a5
ffffd000`272c8d90 fffff803`699678c2 nt!KiDispatchException+0x61f
ffffd000`272c9480 fffff803`69966014 nt!KiExceptionDispatch+0xc2
ffffd000`272c9660 fffff800`ca34b58f [COLOR=#ff0000]nt!KiPageFault+0x214[/COLOR] [COLOR=#800080]// We hit the access violation here, caused by the nVidia driver.[/COLOR]
ffffd000`272c97f0 fffff800`ca34bca0 nvlddmkm+0x26858f [COLOR=#800080]// Bunch of nVidia calls from here on down.[/COLOR]
ffffd000`272c9880 fffff800`ca349bdc nvlddmkm+0x268ca0
ffffd000`272c98d0 fffff800`ca34be43 nvlddmkm+0x266bdc
ffffd000`272c9980 fffff800`ca301de3 nvlddmkm+0x268e43
ffffd000`272c9a20 fffff800`ca2834fa nvlddmkm+0x21ede3
ffffd000`272c9a50 fffff800`ca4ca65f nvlddmkm+0x1a04fa
ffffd000`272c9a80 fffff800`ca4d7fc2 nvlddmkm+0x3e765f
ffffd000`272c9ab0 fffff800`ca2fe9c2 nvlddmkm+0x3f4fc2
ffffd000`272c9ae0 fffff800`ca2e1965 nvlddmkm+0x21b9c2
ffffd000`272c9b30 fffff800`ca2ae8be nvlddmkm+0x1fe965
ffffd000`272c9ba0 fffff800`ca2e2df6 nvlddmkm+0x1cb8be
ffffd000`272c9be0 fffff800`ca2e2356 nvlddmkm+0x1ffdf6
ffffd000`272c9c20 fffff800`ca2e2efd nvlddmkm+0x1ff356
ffffd000`272c9c80 fffff800`ca309d66 nvlddmkm+0x1ffefd
ffffd000`272c9cd0 fffff800`ca29ac20 nvlddmkm+0x226d66
ffffd000`272c9d20 fffff800`ca29a89e nvlddmkm+0x1b7c20
ffffd000`272c9d80 fffff800`ca29a66a nvlddmkm+0x1b789e
ffffd000`272c9e20 fffff800`ca279537 nvlddmkm+0x1b766a
ffffd000`272c9e60 fffff800`ca1db139 nvlddmkm+0x196537
ffffd000`272c9f30 fffff800`ca1db328 nvlddmkm+0xf8139
ffffd000`272c9fc0 fffff800`ca1e1eeb nvlddmkm+0xf8328
ffffd000`272ca010 fffff800`ca1476d3 nvlddmkm+0xfeeeb
ffffd000`272ca300 fffff800`ca147585 nvlddmkm+0x646d3
ffffd000`272ca330 fffff800`ca1b53b4 nvlddmkm+0x64585
ffffd000`272ca3a0 fffff800`ca1527aa nvlddmkm+0xd23b4
ffffd000`272ca4b0 fffff800`ca9f8d56 nvlddmkm+0x6f7aa
ffffd000`272ca680 fffff800`c98bc9c0 nvlddmkm!nvDumpConfig+0x1fbf86 [COLOR=#800080]// Undocumented nVidia function, likely functions like TDR (as in it detects a display/device problem and dumps the config for bug check. Not sure).[/COLOR]
ffffd000`272ca740 fffff800`c98baa04 dxgkrnl!DpiDxgkDdiStartDevice+0x58 [COLOR=#800080]// Starting device.[/COLOR]
ffffd000`272ca7a0 fffff800`c9938ea8 dxgkrnl!DpiFdoStartAdapter+0x358[COLOR=#800080] // Starting adapter.[/COLOR]
ffffd000`272caa40 fffff800`c98b81ce dxgkrnl!DpiLdaStartAdapterInChain+0x120
ffffd000`272caa80 fffff800`c98b15be dxgkrnl!DpiFdoStartAdapterThread+0x26a [COLOR=#800080]// Starting adapter thread.[/COLOR]
ffffd000`272caaf0 fffff800`c99a5881 dxgkrnl!DxgkNotifySessionStateChange+0x3e [COLOR=#800080]// In the DirectX Kernel now, notifying session state change.[/COLOR]
ffffd000`272cab20 fffff960`00157344 watchdog!SMgrNotifySessionChange+0x31 [COLOR=#800080]// Undocumented function of watchdog, likely notifying a session change.[/COLOR]
ffffd000`272cab50 fffff960`001572e1 win32k!InitializeGreCSRSS+0x14
ffffd000`272cac00 fffff803`699674b3 win32k!NtUserInitialize+0x89 [COLOR=#800080]// Everything below this is user mode, and this is our transition to kernel mode via win32k.[/COLOR]
ffffd000`272cac40 00007ff9`27d73aaa nt!KiSystemServiceCopyEnd+0x13
00000053`2bedf608 00007ff9`27d739df winsrv!NtUserInitialize+0xa
00000053`2bedf610 00007ff9`27dd5aa1 winsrv!UserServerDllInitialization+0x37f [COLOR=#800080]// Initializing .DLL.[/COLOR]
00000053`2bedf690 00007ff9`27dd55b8 CSRSRV!CsrLoadServerDll+0x1a1 [COLOR=#800080]// Loading .DLL.[/COLOR]
00000053`2bedf740 00007ff9`27dd4d47 CSRSRV!CsrParseServerCommandLine+0x198
00000053`2bedf960 00007ff6`c5371564 CSRSRV!CsrServerInitialization+0xe7 [COLOR=#800080]// Initializing the subsystem.[/COLOR]
00000053`2bedf9c0 00007ff6`c5371481 csrss!main+0xa4
00000053`2bedfa00 00007ff9`2aa14411 csrss!NtProcessStartup_AfterSecurityCookieInitialized+0x2f1 [COLOR=#800080]// Client/Server Runtime Subsystem [/COLOR]
00000053`2bedfa90 00000000`00000000 ntdll!RtlUserThreadStart+0x25 [COLOR=#800080]// Starting a thread inside user mode.[/COLOR]

So the processor running the thread at the time of the bug check was #6. I'll leave notes commented into the code above if you haven't seen already, it's neater that way. I'll also save a ton of posting space and just say here that all other cores were idle at the time of the bug check, so I didn't forget them!

A big part of debugging a complete dump is investigating all angles since you literally have basically all the angles to investigate. Start from the bottom up. This is actually my first time looking at a complete dump in a long time, it's amazing seeing the user mode guts in the stack! Big geek moment for me :grin1:

Basically what appears to ultimately be happening is we start off in user mode with the Client/Server Runtime process acting as a server, which is ultimately providing console features to DirectX/the nVidia driver as the standard API isn't likely enough for what was going on here.



We can dump the context (3rd argument) to check the faulting instruction:

Code:
6: kd> .cxr 0xffffd000272c8dc0;r
[COLOR=#ff0000]rax=000000009ecd3e00[/COLOR] rbx=0000000000000000 rcx=ffffd000272c9828
rdx=0000000000000008 rsi=ffffe001994219f0 rdi=0000000054445352
rip=fffff800ca34b58f rsp=ffffd000272c97f0 rbp=ffffd000272c9840
 r8=0000000000000000  r9=0000000000000000 r10=fffff80369aae680
r11=ffffd000272c9820 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000001
iopl=0         nv up ei pl nz na po nc
cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
nvlddmkm+0x26858f:
fffff800`ca34b58f 3938            [COLOR=#0000ff]cmp     [/COLOR]dword ptr [[COLOR=#800080]rax[/COLOR]],[COLOR=#008000]edi [/COLOR]ds:002b:00000000`9ecd3e00=????????

We hit the access violation when comparing edi with rax. What was the problem here, though?

Code:
6: kd> !pte 000000009ecd3e00 
                                           VA ffffffff9ecd3e00
PXE at FFFFF6FB7DBEDFF8    PPE at FFFFF6FB7DBFFFF0    PDE at FFFFF6FB7FFFE7B0    PTE at FFFFF6FFFFCF6698
contains 0000000000F22063  contains 0000000000000000
pfn f22       ---DA--KWEV  [COLOR=#ff0000]not valid[/COLOR]

rax was the problem, as its contents were invalid.

Overall, this is IMO just a buggy driver version. Nothing on the user's end whatsoever so it appears from this dump as far as I can see. I am not really sure if I can personally tell where the bug is in the driver, but as I said I definitely label this an issue on nVidia's end.

Regards,

Patrick
 
Last edited:
Thanks @Jared and Thanks @Patrick!!!!

Thanks for commenting/interpreting the (really full) crash dump provided by 'madeinholt'!!!

Hope you had a nice 'Big geek moment'! (...wish you could see my smiling face...)

"...
Overall, this is IMO just a buggy driver version. Nothing on the user's end whatsoever so it appears from this dump as far as I can see. I am not really sure if I can personally tell where the bug is in the driver, but as I said I definitely label this an issue on nVidia's end.
..."
--> Thanks for your personal opinion/rating.....
 
No problem, I ask Patrick to assist as I am very busy with college work.
I might but in sometimes but from now on you'll most likely have Patrick's expertise at your side.
 
@Patrick (or someone else):
Hopefully the last request from my side ;-)

Can someone explain me/show me (e.g. needed WinDbg commands) how to get the used 'Kernel-Mode Driver Framework (KMDF)' and/or 'User-Mode Driver Framework (UMDF)' version of a driver e.g. NVIDIA driver nvlddmkm.sys?

Or is there a more simple way/tool to get the information about UMDF/KMDF version of a driver?


Information provided by MSDN:
KMDF Version History

UMDF Version History
 
Update regarding this GIGABYTE and/or nVIDIA driver issue:

https://forums.geforce.com/default/...-without-bsod-using-8-1/post/4370075/#4370075

Statement by nVIDIA representative 'NVGareth':
NVGareth said:
Hello,
Just wanted to update you all that the issue has been fixed internally, and is currently being tested for inclusion in a future driver release. We are also looking at the possibility of updating the 340 branch for those with older GPUs.

--> possible fix should be in a nVIDIA driver release past v344.80.
But till now no statement which exact driver version will contain the fix ;-)
Stay tuned...
 
Except the same driver works fine on Asus, MSI, and newer gigabyte mainboards: So its not simply an issue in the driver.

The person who did that debugging doesn't have nvidia symbols so has made a basic assumption based on the stack, an access violation is not simply always a matter of corruption, but often a case of 'what we want to find, isn't there.'

:r1:

Comical.

Glad to hear they're ironing out the driver.

Regards,

Patrifk
 
Except the same driver works fine on Asus, MSI, and newer gigabyte mainboards: So its not simply an issue in the driver.
The person who did that debugging doesn't have nvidia symbols so has made a basic assumption based on the stack, an access violation is not simply always a matter of corruption, but often a case of 'what we want to find, isn't there.'
:r1:
Comical.

Glad to hear they're ironing out the driver.
Regards,
Patrifk

Just ignore his (comical) comments ...sometimes he is just writing b#u#l#l#s#h#it but most time he is a really competent expert regarding nVIDIA issues of other nVIDIA forum members!


By the way .... nice Debugging and reverse engineering you got :smile9:


.....did you read my question two posts above?

Can someone explain me/show me (e.g. needed WinDbg commands) how to get the used 'Kernel-Mode Driver Framework (KMDF)' and/or 'User-Mode Driver Framework (UMDF)' version of a driver e.g. NVIDIA driver nvlddmkm.sys?
Or is there a more simple way/tool to get the information about UMDF/KMDF version of a driver?

cheers
 
Looks like new nVIDIA (BETA!) driver version contains the fix for this issue:

Good to see.

Can someone explain me/show me (e.g. needed WinDbg commands) how to get the used 'Kernel-Mode Driver Framework (KMDF)' and/or 'User-Mode Driver Framework (UMDF)' version of a driver e.g. NVIDIA driver nvlddmkm.sys?

I don't really follow, sorry. In any case you'd probably need private nVidia symbols.
 
Can someone explain me/show me (e.g. needed WinDbg commands) how to get the used 'Kernel-Mode Driver Framework (KMDF)' and/or 'User-Mode Driver Framework (UMDF)' version of a driver e.g. NVIDIA driver nvlddmkm.sys?

I don't really follow, sorry. In any case you'd probably need private nVidia symbols.[/QUOTE]

Something like this....

The following example shows the display from the !wdfkd.wdfdriverinfo extension.
Code:
[TABLE]
[TR]
[TH][/TH]
[/TR]
[TR]
[TD]kd> !wdfdriverinfo wdfrawbusenumtest 
----------------------------------
Default driver image name:   wdfrawbusenumtest
WDF library image name:      Wdf01000
 FxDriverGlobals  0x83b7af18
 WdfBindInfo      0xf22250ec
[B][COLOR=#ff0000]   Version        v1.5 build(1234)[/COLOR][/B]
----------------------------------[/TD]
[/TR]
[/TABLE]
 
The only thing i can advise, since you already have Pros answering, Always! for any display driver uninstall (Intel-Ati-Nvidia), even if it's corrupted, or just for a regular update!, use DDU (Download - Display Driver Uninstaller 13.5.4.2) removes every stain in the system like you boot from a fresh format.

Bios wise, always update it OFF OS!!!, if you have the option inside bios like flash from usb use that, (never owned a gigabyte board, so i don't know what bios contains). Always plug the usb stick in the mobos usb ports don't use front panels, usb hubs or any other thing, [Optional: run Memtest86+ for 1 pass before flashing, to be sure you don't have ram problems], saves from bricked nightmares.

After you updated the bios:
1. Shut down the PC
2. Remove the power cord from the PSU
3. Press the power button on the case to discharge any leftovers inside capacitors/chokes. (mine boots for like 3 secs after i disconnected everything!)
4. Remove the battery which is located on the mobo, wait 5 mins!, put it back. (don't hold the battery inside you hands for long time, place it with the contact facing up on your desk while waiting) (if you have cmos reset button on the mobo don't use it, msi-asus wise it doesn't even reset the time, so no pure cmos erase)
5. boot and adjust the bios settings, for the normal user, things you want to adjust is time, boot options/devices, and IF! your ram is not matching it's sticker timings, freq, or volt, enabling XMP (Extreme Memory Profile) inside bios fixes all that, almost every time.
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top