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

Crash in ws2_32 when starting Word 2010 for the first time

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.5
    • Networking
    • None

    Description

      There is a crash in ws2_32 when starting Word 2010 for the first time, when it calls the registration procedure.

      fixme:(C:\Buildslave\Build_MSVC_x86\build\reactos\dll\win32\rasapi32\rasapi.c:147) (00000000,(null),0536F9E0,0536F9D8,0536F9DC),stub!
      fixme:(H:\trunk\reactos_clean\dll\win32\wininet\internet.c:2316):wininet:query_global_option INTERNET_OPTION_CONNECTED_STATE: semi-stub
      err:(C:\Buildslave\Build_MSVC_x86\build\reactos\dll\win32\ole32\compobj.c:3033) class {dcb00c01-570f-4a9b-8d69-199fdba5723b} not registered
      err:(C:\Buildslave\Build_MSVC_x86\build\reactos\dll\win32\ole32\compobj.c:3112) no class object {dcb00c01-570f-4a9b-8d69-199fdba5723b} could be created for context 0x1
      Access violation - code c0000005 (first chance)
      First chance exceptions are reported before any exception handling.
      This exception may be expected and handled.
      001b:00000000 ??              ???
      kd> .reload
      Connected to Windows Server 2003 3790 x86 compatible target at (Tue Feb 28 21:05:23.850 2017 (UTC + 1:00)), ptr64 FALSE
      Loading Kernel Symbols
      .......................................................
      Loading User Symbols
      ................................................................
      ...
      *** ERROR: Module load completed but symbols could not be loaded for Csi.dll
      *** ERROR: Module load completed but symbols could not be loaded for mso.dll
      kd> kp
      ChildEBP RetAddr  
      WARNING: Frame IP not in any known module. Following frames may be wrong.
      06e8fab4 7c3e8d74 0x0
      06e8fad0 7c3e8cf4 ws2_32!WsNpLookupServiceBegin(struct _NSPROVIDER * Provider = 0x06e8fb90, struct _WSAQuerySetW * Restrictions = 0x06e8fb90, struct _WSAServiceClassInfoW * ServiceClassInfo = 0x06e8fb04, unsigned long ControlFlags = 0xff1, void ** LookupHandle = 0x0017cfc4)+0x24 [h:\trunk\reactos_clean\dll\win32\ws2_32\src\nsprovid.c @ 263]
      06e8faec 7c3e9437 ws2_32!WsNqProvLookupServiceBegin(struct _NSQUERY_PROVIDER * QueryProvider = 0x0017cfb8, struct _WSAQuerySetW * Restrictions = 0x06e8fb90, struct _WSAServiceClassInfoW * ServiceClassInfo = 0x06e8fb04, unsigned long ControlFlags = 0xff1)+0x24 [h:\trunk\reactos_clean\dll\win32\ws2_32\src\nsprovid.c @ 223]
      06e8fb44 7c3eb340 ws2_32!WsNqLookupServiceBegin(struct _NSQUERY * NsQuery = 0x0017da90, struct _WSAQuerySetW * Restrictions = 0x06e8fb90, unsigned long ControlFlags = 0xff1, struct _NSCATALOG * Catalog = 0x0015d508)+0x197 [h:\trunk\reactos_clean\dll\win32\ws2_32\src\nsquery.c @ 472]
      06e8fb6c 3c2a841a ws2_32!WSALookupServiceBeginW(struct _WSAQuerySetW * lpqsRestrictions = 0x06e8fb90, unsigned long dwControlFlags = 0xff1, void ** lphLookup = 0x067e200c)+0xa0 [h:\trunk\reactos_clean\dll\win32\ws2_32\src\rnr.c @ 356]
      06e8fdd0 3c26e4f9 Csi+0x9841a
      06e8fe24 3c233693 Csi+0x5e4f9
      06e8fe68 3c25b59d Csi+0x23693
      06e8fea0 3c25b4e9 Csi+0x4b59d
      06e8feac 39030f14 Csi+0x4b4e9
      06e8fef0 3902dc21 mso+0x30f14
      06e8ff10 3902d991 mso+0x2dc21
      06e8ff2c 3902c60d mso+0x2d991
      06e8ff60 39022ce6 mso+0x2c60d
      06e8ffb8 7c779704 mso+0x22ce6
      06e8ffec 00000000 KERNEL32!BaseThreadStartup(<function> * lpStartAddress = 0x39022c8e, void * lpParameter = 0x056907f0)+0x54 [h:\trunk\reactos_clean\dll\win32\kernel32\client\thread.c @ 69]

      Related code in ws2_32:

      dll/win32/ws2_32/src/nsprovid.c:line 249

      DWORD
      WSAAPI
      WsNpLookupServiceBegin(IN PNS_PROVIDER Provider,
                             IN LPWSAQUERYSETW Restrictions,
                             IN LPWSASERVICECLASSINFOW ServiceClassInfo,
                             IN DWORD ControlFlags,
                             OUT PHANDLE LookupHandle)
      {
          /* Call the NSP */
          return Provider->Service.NSPLookupServiceBegin(&Provider->ProviderId,
                                                         Restrictions,
                                                         ServiceClassInfo,
                                                         ControlFlags,
                                                         LookupHandle);
      }

      When this is called, Provider->ProviderId has its GUID == 00000000-0000-0000-0f00-00009cfde806, and almost all the routines in Provider->Service are NULL, apart from NSPInstallServiceClass, NSPGetServiceClassInfo and NSPIoctl, while NSPRemoveServiceClass == 0xFFFFFFFF.

      Attachments

        1. CORE-12852.patch
          3 kB
          hater
        2. CORE-12852.patch
          3 kB
          hater

        Issue Links

          Activity

            People

              hbelusca hbelusca
              hbelusca hbelusca
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: