Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17263

Assertion in CmLoadKey when booting with PnP storage stack

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Blocker
    • Resolution: Unresolved
    • Fix Version/s: 0.4.15
    • Component/s: NTCore
    • Labels:
      None

      Description

      Getting this assertion on the 2nd stage setup and on the first boot after the setup.
      https://github.com/reactos/reactos/blob/bca076269f0acb7833f915b735a0f1ecb0134edf/ntoskrnl/config/cmapi.c#L2132
      Backtrace:

       # ChildEBP RetAddr  
      00 f7451be4 804261fc nt!CmLoadKey+0x3b2 [C:\rosgit\ntoskrnl\config\cmapi.c @ 2132] 
      01 f7451ce0 80425e56 nt!NtLoadKeyEx+0x38c [C:\rosgit\ntoskrnl\config\ntapi.c @ 1261] 
      02 f7451cf8 8054e05b nt!NtLoadKey+0x16 [C:\rosgit\ntoskrnl\config\ntapi.c @ 1134] 
      03 f7451d10 8054bec8 nt!KiSystemCallTrampoline+0x1b [C:\rosgit\ntoskrnl\include\internal\i386\ke.h @ 766] 
      04 f7451d5c 80403ea5 nt!KiSystemServiceHandler+0x278 [C:\rosgit\ntoskrnl\ke\i386\traphdlr.c @ 1846] 
      05 f7451d5c 7c93785e nt!KiFastCallEntry+0x96
      06 00b3f27c 7c96c422 ntdll!KiFastSystemCallRet
      07 00b3f280 7c52b2aa ntdll!NtLoadKey+0xc
      08 00b3f30c 7ab1dd88 advapi32!RegLoadKeyW+0x10a [C:\rosgit\dll\win32\advapi32\reg\reg.c @ 3149] 
      09 00b3f5cc 0040741c userenv!LoadUserProfileW+0x8e8 [C:\rosgit\dll\win32\userenv\profile.c @ 2121] 
      0a 00b3f630 00405cce services!ScmLogonService+0x22c [C:\rosgit\base\system\services\database.c @ 434] 
      0b 00b3f6f8 00406fe9 services!ScmCreateOrReferenceServiceImage+0x2ee [C:\rosgit\base\system\services\database.c @ 539] 
      0c 00b3f7c8 00407fb4 services!ScmLoadService+0x69 [C:\rosgit\base\system\services\database.c @ 2047] 
      0d 00b3f7ec 00412d67 services!ScmStartService+0x64 [C:\rosgit\base\system\services\database.c @ 2156] 
      0e 00b3f818 7c29966d services!RStartServiceW+0x157 [C:\rosgit\base\system\services\rpcserver.c @ 3304] 
      0f 00b3f840 7c29814c rpcrt4!call_server_func+0x1d [C:\rosgit\dll\win32\rpcrt4\ndr_stubless.c @ 1057] 
      10 00b3fde8 7c29770e rpcrt4!NdrStubCall2+0x97c [C:\rosgit\dll\win32\rpcrt4\ndr_stubless.c @ 1493] 
      11 00b3fe0c 7c2b6c64 rpcrt4!NdrServerCall2+0x2e [C:\rosgit\dll\win32\rpcrt4\ndr_stubless.c @ 1567] 
      12 00b3fe84 7c2b24d0 rpcrt4!process_request_packet+0x384 [C:\rosgit\dll\win32\rpcrt4\rpc_server.c @ 436] 
      13 00b3feac 7c2b301a rpcrt4!RPCRT4_process_packet+0x160 [C:\rosgit\dll\win32\rpcrt4\rpc_server.c @ 514] 
      14 00b3fecc 7c987c37 rpcrt4!RPCRT4_worker_thread+0x3a [C:\rosgit\dll\win32\rpcrt4\rpc_server.c @ 536] 
      15 00b3ff30 7c988ae8 ntdll!RtlpExecuteWorkItem+0xa7 [C:\rosgit\sdk\lib\rtl\workitem.c @ 226] 
      16 00b3ffb8 7c6485fd ntdll!RtlpWorkerThreadProc+0xd8 [C:\rosgit\sdk\lib\rtl\workitem.c @ 721] 
      17 00b3ffec 00000000 kernel32!BaseThreadStartup+0x5d [C:\rosgit\dll\win32\kernel32\client\thread.c @ 70] 
      

      Status is STATUS_ACCESS_DENIED
      The root cause of that seems to be this line:

      00 f71887fc 8041f849 nt!CmpDoOpen+0x60 [C:\rosgit\ntoskrnl\config\cmparse.c @ 582] 
      01 f71888fc 8050d1f3 nt!CmpParseKey+0x3c9 [C:\rosgit\ntoskrnl\config\cmparse.c @ 1203] 
      02 f71889e8 80505c3b nt!ObpLookupObjectName+0x1d3 [C:\rosgit\ntoskrnl\ob\obname.c @ 551] 
      03 f7188a54 804214db nt!ObOpenObjectByName+0x16b [C:\rosgit\ntoskrnl\ob\obhandle.c @ 2609] 
      04 f7188af0 80413ee5 nt!CmpLinkHiveToMaster+0xab [C:\rosgit\ntoskrnl\config\cmsysini.c @ 836] 
      05 f7188be4 804261fc nt!CmLoadKey+0x2a5 [C:\rosgit\ntoskrnl\config\cmapi.c @ 2102] 
      

      Dump of some structures:

      kd> ?? ObjectAttributes
      struct _OBJECT_ATTRIBUTES
         +0x000 Length           : 0x18
         +0x004 RootDirectory    : 0x800000ec Void
         +0x008 ObjectName       : 0xf7444c74 _UNICODE_STRING "S-1-5-20"
         +0x00c Attributes       : 0x240
         +0x010 SecurityDescriptor : (null) 
         +0x014 SecurityQualityOfService : (null) 
      kd> ?? ParseContext
      struct _CM_PARSE_CONTEXT
         +0x000 TitleIndex       : 0
         +0x004 Class            : _UNICODE_STRING ""
         +0x00c CreateOptions    : 0
         +0x010 Disposition      : 0
         +0x014 ChildHive        : _CM_KEY_REFERENCE
         +0x01c PredefinedHandle : (null) 
         +0x020 CreateLink       : 0x1 ''
         +0x021 CreateOperation  : 0x1 ''
         +0x024 OriginatingPoint : (null) 
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                extravert34 extravert34
                Reporter:
                extravert34 extravert34
              • Votes:
                9 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated: