Getting BSOD with registry error on windows 7

08
2014-07
  • busyspin

    I have recently started getting a blue screen of death (BSOD) error very shortly after logging in to my Windows 7 laptop. It is fine if I am in safe mode, but crashes every time when I log in to normal windows mode. Based on the memory dump it is some kind of registry error. I have copied the output from windbg below. I don't recall installing anything recently and I haven't attached any new hardware.

    Once I waited for about 8 hours between booting the laptop and logging in and it worked again until I restarted and logged in more quickly. I am not sure how to proceed and if there is anything I can do to fix the registry problem. Is there anything I can do?

    REGISTRY_ERROR (51)
    Something has gone badly wrong with the registry.  If a kernel debugger
    is available, get a stack trace. It can also indicate that the registry got
    an I/O error while trying to read one of its files, so it can be caused by
    hardware problems or filesystem corruption.
    It may occur due to a failure in a refresh operation, which is used only
    in by the security system, and then only when resource limits are encountered.
    Arguments:
    Arg1: 0000000000000001, (reserved)
    Arg2: fffff8a000024290, (reserved)
    Arg3: 00000000017f7000, depends on where Windows bugchecked, may be pointer to hive
    Arg4: 0000000000000374, depends on where Windows bugchecked, may be return code of
        HvCheckHive if the hive is corrupt.
    
    Debugging Details:
    ------------------
    
    
    DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT
    
    BUGCHECK_STR:  0x51
    
    PROCESS_NAME:  services.exe
    
    CURRENT_IRQL:  0
    
    LAST_CONTROL_TRANSFER:  from fffff800039ad688 to fffff8000367dbc0
    
    STACK_TEXT:  
    nt!KeBugCheckEx
    nt! ?? ::NNGAKEGL::`string'+0x9d9a
    nt!HvMarkDirty+0x176
    nt!HvMarkCellDirty+0x150
    nt! ?? ::NNGAKEGL::`string'+0x1174c
    nt!CmpMarkKeyValuesDirty+0x182
    nt!CmpFreeKeyValues+0x24
    nt!CmpSyncKeyValues+0x7a
    nt!CmpCopySyncTree2+0x2a8
    nt!CmpCopySyncTree+0x6e
    nt!CmpSaveBootControlSet+0x307
    nt!NtInitializeRegistry+0xc6
    nt!KiSystemServiceCopyEnd+0x13
    nt!KiServiceLinkage
    nt!NtInitializeRegistry+0x6f
    nt!KiSystemServiceCopyEnd+0x13
    
    
    STACK_COMMAND:  kb
    
    FOLLOWUP_IP: 
    nt! ?? ::NNGAKEGL::`string'+9d9a
    fffff800`039ad688 cc              int     3
    
    FAILURE_BUCKET_ID:  X64_0x51_nt!_??_::NNGAKEGL::_string_+9d9a
    
  • Answers
    Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

    Related Question

    crash - Windows 7 BSOD Crashes
  • Questioner

    I recently upgraded to Windows 7 64 doing a clean install from Vista 64 and ever since I keep getting random blue screen crashes. I have the feeling it's caused by my video card but everything has the most up-to-date drivers for Windows 7 64 bit.

    Here is the memory dump from my most recent crash:

    MEMORY_MANAGEMENT (1a)
        # Any other values for parameter 1 must be individually examined.
    Arguments:
    Arg1: 0000000000041790, The subtype of the bugcheck.
    Arg2: fffffa8001990b90
    Arg3: 000000000000ffff
    Arg4: 0000000000000000
    
    Debugging Details:
    ------------------
    
    PEB is paged out (Peb.Ldr = 000007ff`fffd9018).  Type ".hh dbgerr001" for details
    PEB is paged out (Peb.Ldr = 000007ff`fffd9018).  Type ".hh dbgerr001" for details
    
    BUGCHECK_STR:  0x1a_41790
    
    DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT
    
    PROCESS_NAME:  csrss.exe
    
    CURRENT_IRQL:  0
    
    LAST_CONTROL_TRANSFER:  from fffff80002cff26e to fffff80002c8cf00
    
    STACK_TEXT:  
    fffff880`0299ae38 fffff800`02cff26e : 00000000`0000001a 00000000`00041790 fffffa80`01990b90 00000000`0000ffff : nt!KeBugCheckEx
    fffff880`0299ae40 fffff800`02cc05d9 : fffffa80`00000000 00000000`01e73fff 00000000`00000000 fffff960`0023653f : nt! ?? ::FNODOBFM::`string'+0x339d6
    fffff880`0299b000 fffff800`02fa2e50 : fffffa80`09140c90 0007ffff`00000000 00000000`00000000 00000000`00000000 : nt!MiRemoveMappedView+0xd9
    fffff880`0299b120 fffff960`002e381b : fffff900`00000000 fffffa80`07c85d10 00000000`00000001 fffff900`c1e56cd0 : nt!MiUnmapViewOfSection+0x1b0
    fffff880`0299b1e0 fffff960`002b4fc1 : 00000000`00000000 fffff900`00000000 fffff900`c1e56cd0 00000000`00000000 : win32k!SURFACE::bUnMapImmediate+0x5b
    fffff880`0299b210 fffff960`002b527b : fffff900`c07fdd10 fffff8a0`00000000 00000000`00000000 00000000`00000000 : win32k!bMigrateSurfaceForConversion+0x5ad
    fffff880`0299b340 fffff960`002dc3e3 : fffff900`00000000 fffff900`c1e5c010 00000000`00000000 00000000`00000000 : win32k!pConvertDfbSurfaceToDibInternal+0x1cb
    fffff880`0299b420 fffff960`002b5319 : fffffa80`07c7f470 00000000`00000001 00000000`00000000 00000000`00000282 : win32k!MulConvertChildRedirectionDfbSurfaceToDib+0x53
    fffff880`0299b460 fffff960`002b1267 : fffff900`c0132010 fffff900`c0132010 00000000`00000000 00000000`00000000 : win32k!pConvertDfbSurfaceToDib+0x41
    fffff880`0299b490 fffff960`002b1b1f : fffff900`c0132010 00000000`00000001 fffff900`c24cc280 fffff900`c0132010 : win32k!bDynamicRemoveAllDriverRealizations+0x4f
    fffff880`0299b4c0 fffff960`00273bb9 : 00000000`00000000 fffff900`00000000 fffff900`00000000 00000000`00000000 : win32k!bDynamicModeChange+0x1d7
    fffff880`0299b5a0 fffff960`000baa2d : 00000000`00000000 00000000`00000000 00000000`00000000 07cd8220`00000003 : win32k!DrvInternalChangeDisplaySettings+0xc7d
    fffff880`0299b7e0 fffff960`001a2c41 : 00000000`00000040 fffff900`c00bf010 00000000`00000000 07cd8220`00000003 : win32k!DrvChangeDisplaySettings+0x62d
    fffff880`0299b9c0 fffff960`001a2e9e : fffffa80`07cd8220 00000000`00000000 00000000`00000000 fffff800`02f6fec3 : win32k!xxxInternalUserChangeDisplaySettings+0x329
    fffff880`0299ba80 fffff960`001a033a : 00000000`00000000 00000000`00000000 00998b21`81a100b6 00000000`00000040 : win32k!xxxUserChangeDisplaySettings+0x92
    fffff880`0299bb70 fffff960`001a053a : 00000000`00000000 00000000`00000001 00000000`00000000 00000000`00000000 : win32k!xxxRemoteSetDisconnectDisplayMode+0x42
    fffff880`0299bbb0 fffff960`00183ea6 : 00000000`00000000 fffffa80`06efeb60 fffff880`0299bca0 00000000`00000005 : win32k!xxxRemoteDisconnect+0x1c2
    fffff880`0299bbf0 fffff800`02c8c153 : fffffa80`06efeb60 00000000`00000005 00000000`00000020 00000000`00000000 : win32k!NtUserCallNoParam+0x36
    fffff880`0299bc20 000007fe`fd6b3d3a : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
    00000000`027cf798 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x7fe`fd6b3d3a
    
    
    STACK_COMMAND:  kb
    
    FOLLOWUP_IP: 
    win32k!SURFACE::bUnMapImmediate+5b
    fffff960`002e381b f6477401        test    byte ptr [rdi+74h],1
    
    SYMBOL_STACK_INDEX:  4
    
    SYMBOL_NAME:  win32k!SURFACE::bUnMapImmediate+5b
    
    FOLLOWUP_NAME:  MachineOwner
    
    MODULE_NAME: win32k
    
    IMAGE_NAME:  win32k.sys
    
    DEBUG_FLR_IMAGE_TIMESTAMP:  4a5bc5e0
    
    FAILURE_BUCKET_ID:  X64_0x1a_41790_win32k!SURFACE::bUnMapImmediate+5b
    
    BUCKET_ID:  X64_0x1a_41790_win32k!SURFACE::bUnMapImmediate+5b
    
    Followup: MachineOwner
    

  • Related Answers
  • harrymc

    You can use BlueScreenView to analyze the BSOD, and post some more info:

    BlueScreenView scans all your minidump files created during 'blue screen of death' crashes, and displays the information about all crashes in one table. For each crash, BlueScreenView displays the minidump filename, the date/time of the crash, the basic crash information displayed in the blue screen (Bug Check Code and 4 parameters), and the details of the driver or module that possibly caused the crash (filename, product name, file description, and file version). For each crash displayed in the upper pane, you can view the details of the device drivers loaded during the crash in the lower pane. BlueScreenView also mark the drivers that their addresses found in the crash stack, so you can easily locate the suspected drivers that possibly caused the crash.