Blue Screen (Stop 0x50) after applying update KB2982791 to Windows 7 Home Premium 64 bit

Anonymous
2014-08-13T13:18:22+00:00

Yesterday I ran all the updates of the August patch day. Installation went smoothly. After rebooting everything worked fine. But when I shut down my notebook and switched it on a little later it came up with a blue screen with a Stop 0x50 in Win32k.sys. I could not even boot into safe mode as Windows failed to start no matter which mode chose.

So I restored from a backup, installed the updates again and... same effect. After restoring again I went through the updates and found update KB2982791 which relates to Win32k.sys and fonts. I also found this KB article (Stop error 0x50 in Win32k.sys) which says that a Stop 0x50 occurs because Win32k.sys crashes when the font cache is not correctly maintained. Quite a bizarre behaviour to crash the whole operating system because a cache seems to be invalid. A decent programmer would have just cleared the cache and continued.

Since security update KB2982791 relates to fonts, as well, I guess that MS has once again messed up an update.

From my experience with MS "support" I know that MS does not care about bug reports. So I just post this to inform people which may have been bitten by this bug. If possible, restore your OS or boot from CD and uninstall update KB2982791. Then things should work again. Oh, and after that switch off automatic updating...

Regards,

Frank

Windows for home | Previous Windows versions | Windows update

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2014-08-15T18:20:41+00:00

I can confirm that removing fntcache.dat fixed the issue.

My dad had this issue on his win7 x64 PC after the update that he received on 15-08-2014.

Checking the update history, He only received KB2982791, not the other mentioned suspects.

Removal of fntcache.dat via command prompt via de recovery disk solved the problem.

For anyone having issues removing the file with commandprompt, here is my quick guide:

  1. Insert the recovery disk/windows installation disk.
  2. Boot from disk by pressing F12 or whatever key is shown when your PC turns on that says "BOOT MENU" or something alike.
  3. Select CD/Disk Drive
  4. Let the windows files load, select a language and then select the restore option on the bottom.
  5. Then select the top option to get a list of all the repair tools.
  6. Click on command prompt on the bottom.
  7. You'll see a letter, for example X:. This is your windows CD. We need to get to the windows installation on your hard drive, but even though this might have been C: when your PC was still working, it could very well be another letter now, so to try this out, first type:

wmic logicaldisk get name

to get a list of all your drives. Then access every disk you see in that list by typing:

cd /d A:

cd /d B:

cd /d C: 

and so on, each time checking what's on the drive by typing dir.

If you see a list that contains folders like "Windows" and "Program Files", you're most likely on your harddrive that contains your windows installation.

  1. Now go to the system32 folder by typing:

cd windows

cd system32

  1. Now check if the fntcache.dat file exists, by typing:

if exist fntcache.dat ( echo yes ) else ( echo no )

  1. If you see "yes" below that line, this means that the file exists, and your problems will most likely be fixed very soon.
  2. Type the following command to remove the file:

del fntcache.dat

  1. Press <arrow up> twice, to repeat the "if exist fntcache..." command. This should now output "no".
  2. If that's the case, reboot your computer and keep your fingers crossed. This worked for me :-)! Good luck. If it still doesn't work, I suggest you follow the steps to remove the entire faulty windows update by following the instructions elsewhere in this topic, that I'll also post below (my own version, for your convenience):
  3. Once you know the letter of your windows drive (see my tutorial above), type the following command (replace C: with the letter of your drive that contains your windows installation):

dism /image:C:\ /get-packages

  1. Search the results for the faulty security update KB2982791, and just to be sure, find KB2976897 and KB2970228 as well.
  2. Write down the exact package names, and remove them with the following commands (replace drive letter again to fit your system, and replace the package names with how they're named on your system):

dism /image:C:\ /remove-package/PackageName:Package_for_KB2970228~31bf3856ad364e35~amd64~~6.1.1.2

dism /image:C:\ /remove-package/PackageName:Package_for_KB2982791~31bf3856ad364e35~amd64~~6.1.1.1

dism /image:C:\ /remove-package/PackageName:Package_for_KB2976897~31bf3856ad364e35~amd64~~6.1.1.0

  1. You'll receive messages that state that the uninstallations were successfull.
  2. Restart the computer into normal mode.

Was this answer helpful?

10+ people found this answer helpful.
0 comments No comments
Answer accepted by question author
Anonymous
2014-08-14T19:20:38+00:00

Hello,

I had the same problem on two computers, both win7 64bits.

I could solve it by booting from a DVD and removing the following file:

c:\Windows\System32\FNTCACHE.DAT

For sake of completeness, I first removed the files

c:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache3.0.0.0.dat

c:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache-System.dat

But that didn't solve the problem. Then I removed the file I mentioned first. So, in the end all 3 files were removed, but I guess the first one is the culprit.

[Susan moderator here, I'm marking this ONLY as an answer so that it shows up at the top.  This is a workaround - NOT a real answer. We still don't understand why this is happening and what the root cause is.]

Was this answer helpful?

4 people found this answer helpful.
0 comments No comments
Answer accepted by question author
Anonymous
2015-05-15T21:23:10+00:00

when i try to run the command: 

dism /image:C:\ /remove-package/PackageName:Package_for_KB2970228~31bf3856ad364e35~amd64~~6.1.1.2

It saids that windows is running and suggest me to use /online ...

I have attach as an external drive the hard drive with the windows 7 x64 with the issue

How can i run the command to remove the upgrades as an external drive with the command dism /online????

i found it googling:

C:\WINDOWS\system32>dism /online /remove-package/packagename:

C->Is the letter of the drive

Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14 -> is the name of the package

Was this answer helpful?

0 comments No comments
Answer accepted by question author
Anonymous
2014-08-27T17:46:24+00:00

On August 27, 2014, Microsoft revised security bulletin MS14-045 - Vulnerabilities in Kernel-Mode Drivers Could Allow Elevation of Privilege - to address known issues associated with installation of security update 2982791.

==================================
SUMMARY
==================================
To address known issues with security update 2982791, Microsoft rereleased MS14-045  to replace the 2982791 update with the 2993651 update for all supported releases of Microsoft Windows. Microsoft expired the original update 2982791 on August 15, 2014.

All customers should apply the 2993651 update, which replaces the expired 2982791 update. 

For more information about the known issues with the original 2982791 update, see the Known Issues section of Microsoft Knowledge Base Article 2982791.

==================================
ANSWERS TO FREQUENTLY ASKED QUESTIONS
==================================
Q: I already successfully installed the original 2982791 security update and am not experiencing any difficulties. Should I apply the replacement update 2993651, released on August 27, 2014? 

A: Yes. All customers should apply the 2993651 update, which replaces the expired 2982791 update. 

Q: Is it necessary to uninstall the expired 2982791 update before applying the replacement 2993651 update?

A: Technically, it is not necessary to uninstall the expired 2982791 update before applying the replacement 2993651 update; however, Microsoft strongly recommends it. Customers who do not remove the expired 2982791 update at some point will retain a listing for 2982791 under installed updates in Control Panel.

Q: I uninstalled the original 2982791 security update. Should I apply the replacement update 2993651, released on August 27, 2014? 

A: Yes. To be protected from CVE-2014-0318 and CVE-2014-1819, all customers should apply the rereleased update (2993651), which replaces the expired 2982791 update.

Q: What if I experienced difficulties restarting my system after installing the original security update 2982791? 

A: Customers who experienced difficulties restarting their systems after installing the original security update 2982791 should no longer experience this problem after installing the replacement update 2993651. 

==================================
ADDITIONAL INFORMATION
==================================
➢ Microsoft Security Bulletin MS14-045 - Vulnerabilities in Kernel-Mode Drivers Could Allow Elevation of Privilege - https://technet.microsoft.com/library/security/ms14-045 

➢ Microsoft KB Article 2993651 - MS14-045: Description of the security update for kernel-mode drivers: August 27, 2014 - http://support.microsoft.com/kb/2993651  

➢ Microsoft KB Article 2982791 - MS14-045: Description of the security update for kernel-mode drivers: August 12, 2014 - http://support.microsoft.com/kb/2982791

Was this answer helpful?

0 comments No comments

640 additional answers

Sort by: Oldest
  1. Anonymous
    2014-08-14T21:54:35+00:00

    Seeing this problem on Windows 7 x64. System fails to boot after patching with BSOD and can only be recovered via system restore, isolated to KB2982791 and KB2970228.

    i7-k3770K, 16G ram, Nvidia 670GTX, Vertex 3 SSD as Windows drive

    No previous anti-virus software installed, no Norton, no MacAfee, nothing.

    Here's the WinDbg output from analyzing the memory dump, including the stack trace where the crash happens:

    *******************************************************************************

    *                                                                             *

    *                        Bugcheck Analysis                                    *

    *                                                                             *

    *******************************************************************************

    PAGE_FAULT_IN_NONPAGED_AREA (50)

    Invalid system memory was referenced.  This cannot be protected by try-except,

    it must be protected by a Probe.  Typically the address is just plain bad or it

    is pointing at freed memory.

    Arguments:

    Arg1: fffff901c064e0ac, memory referenced.

    Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.

    Arg3: fffff9600011cca3, If non-zero, the instruction address which referenced the bad memory

    address.

    Arg4: 0000000000000005, (reserved)

    Debugging Details:


    READ_ADDRESS:  fffff901c064e0ac

    FAULTING_IP:

    win32k!bLoadFontFile+1f3

    fffff960`0011cca3 448b82a4000000  mov     r8d,dword ptr [rdx+0A4h]

    MM_INTERNAL_CODE:  5

    IMAGE_NAME:  win32k.sys

    DEBUG_FLR_IMAGE_TIMESTAMP:  53c5df64

    MODULE_NAME: win32k

    FAULTING_MODULE: fffff960000b0000 win32k

    DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT

    BUGCHECK_STR:  0x50

    PROCESS_NAME:  csrss.exe

    CURRENT_IRQL:  0

    TRAP_FRAME:  fffff8800347e640 -- (.trap 0xfffff8800347e640)

    NOTE: The trap frame does not contain all registers.

    Some register values may be zeroed or incorrect.

    rax=fffff900c049e714 rbx=0000000000000000 rcx=0000000000000000

    rdx=fffff901c064e008 rsi=0000000000000000 rdi=0000000000000000

    rip=fffff9600011cca3 rsp=fffff8800347e7d0 rbp=fffff900c1ebac10

    r8=0000000000000001  r9=000000000000000c r10=fffff900c1ebb048

    r11=fffff900c1ebb04c r12=0000000000000000 r13=0000000000000000

    r14=0000000000000000 r15=0000000000000000

    iopl=0         nv up ei ng nz na pe nc

    win32k!bLoadFontFile+0x1f3:

    fffff9600011cca3 448b82a4000000  mov     r8d,dword ptr [rdx+0A4h] ds:fffff901c064e0ac=????????

    Resetting default scope

    LAST_CONTROL_TRANSFER:  from fffff8000350a5b3 to fffff8000348dbc0

    STACK_TEXT:

    fffff8800347e4d8 fffff8000350a5b3 : 0000000000000050 fffff901c064e0ac 0000000000000000 fffff8800347e640 : nt!KeBugCheckEx

    fffff8800347e4e0 fffff8000348bcee : 0000000000000000 fffff901c064e0ac 0000000000000000 0000000000000000 : nt! ?? ::FNODOBFM::`string'+0x43801

    fffff8800347e640 fffff9600011cca3 : 0000000000000000 0000000000000001 fffff900c1ebac10 0000000000000001 : nt!KiPageFault+0x16e

    fffff8800347e7d0 fffff9600011ca67 : fffff900c1ebac18 0000000000000001 0000000000020ae8 fffff900c0130813 : win32k!bLoadFontFile+0x1f3

    fffff8800347e8c0 fffff9600011b5d6 : 0000000000000000 fffff9600011c9fc fffff900c0138a60 fffff900c1ebac10 : win32k!ttfdSemLoadFontFile+0x6b

    fffff8800347e920 fffff9600011b4c3 : 0000000000000001 fffff900c1ebac18 fffff900c1ebac10 fffff900c008a010 : win32k!PDEVOBJ::LoadFontFile+0x7e

    fffff8800347e9b0 fffff9600011bc7c : fffff8800347ecf0 fffffa800d0e59e0 fffffffffe27de50 0000000000000001 : win32k!vLoadFontFileView+0x45b

    fffff8800347ea40 fffff9600011e94a : fffff8800347ebf0 fffff8800347ecf0 fffff88000000046 0000000000000001 : win32k!PUBLIC_PFTOBJ::bLoadFonts+0x668

    fffff8800347eb90 fffff9600011e774 : 0000000000000000 0000000000000001 fffff8800347eed0 0000000000000000 : win32k!GreAddFontResourceWInternal+0x18e

    fffff8800347ec30 fffff8000348ce53 : ffffffffffffffff 0000000000000000 00000000025fea80 0000000000000024 : win32k!NtGdiAddFontResourceW+0x174

    fffff8800347ede0 000007fefd0da88a : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : nt!KiSystemServiceCopyEnd+0x13

    00000000025ff898 fffff80003485210 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : 0x000007fe`fd0da88a

    fffff8800347f030 0000000000000000 : fffff8800347f514 000000000431ae98 fffff8a0018e4960 fffff8800347f3c0 : nt!KiCallUserMode

    STACK_COMMAND:  kb

    FOLLOWUP_IP:

    win32k!bLoadFontFile+1f3

    fffff960`0011cca3 448b82a4000000  mov     r8d,dword ptr [rdx+0A4h]

    SYMBOL_STACK_INDEX:  3

    SYMBOL_NAME:  win32k!bLoadFontFile+1f3

    FOLLOWUP_NAME:  MachineOwner

    FAILURE_BUCKET_ID:  X64_0x50_win32k!bLoadFontFile+1f3

    BUCKET_ID:  X64_0x50_win32k!bLoadFontFile+1f3

    Was this answer helpful?

    0 comments No comments