Detailed information for the notes.ini Keyword: 

TCP_NO_WINSOCK_WSACLEANUP


Short Description: Will disable/enabe the Domino usage from the WSACleanup API.

Description:
Abstract
32/64 Bit Domino for Windows server crashes with ProcessTerminateWinSock in stack due to an issue with WSACleanup API. This is an optional Microsoft API which Domino has issues with. Setting TCP_NO_WINSOCK_WSACLEANUP=1 will disable using this API until a Domino version is released which no longer calls the api.
Content
32/64 Bit Domino for Windows server crashes with ProcessTerminateWinSock in stack due to an issue with WSACleanup API. This is an optional Microsoft API which Domino has issues with. Setting TCP_NO_WINSOCK_WSACLEANUP=1 will disable using this API until a Domino version is released which no longer calls the api. This issue is documented in SPRs RZRZ7QJAQ9 and HNAA7SPB6X.

Potential stack examples:


Exception code: c0000005 (ACCESS_VIOLATION)
############################################################
[ 1] 0x77619633 ntdll.RtlDestroyHeap+1018 (0,2,1968f0,16a6e8)
[ 2] 0x776196a1 ntdll.RtlDestroyHeap+1128 (0,2,1,6f148)
[ 3] 0x776196a1 ntdll.RtlDestroyHeap+1128 (0,2,77621e56,329cb0)
[ 4] 0x77619723 ntdll.RtlDestroyHeap+1258 (73b80000,6f1ac,77621e12,329cb0)
[ 5] 0x7761e8e2 ntdll.LdrUnloadDll+70 (73b80000,0,6f1f4,77249524)
[ 6] 0x75ea0979 kernel32.FreeLibrary+129 (73b80000,32a5e8,772494f1,32a5e8)
[ 7] 0x77249524 WS2_32.WSAEnumProtocolsW+691 (1,329cb0,772493e0,329cb0)
[ 8] 0x772494da WS2_32.WSAEnumProtocolsW+617 (1,320cf0,77249857,75e6e875)
[ 9] 0x77249906 WS2_32.WahEnumerateHandleContexts+805 (1,202,0,3207c8)
[10] 0x772497e1 WS2_32.WahEnumerateHandleContexts+512 (1,202,0,32a268)
[11] 0x772496fe WS2_32.WahEnumerateHandleContexts+285 (6197159d,6f2cc,189c0001,43c84e4)
@[12] 0x6197123f nNTCP.ProcessTerminateWinSock+79 (189c0001,202,0,0)
@[13] 0x60b7b452 nnotes.Drvr_Free@4+114 (189c0001)
@[14] 0x60b78ac6 nnotes.Process_FreeAllDrvrs@4+166 (11900001)
@[15] 0x60b78b9d nnotes.Process_Free@4+13 (11900001)
@[16] 0x60b78dd9 nnotes.Root_FreeProcess@4+89 (11900001)
@[17] 0x60b79225 nnotes.nti_cleanup@0+37 ()
@[18] 0x60789a40 nnotes.NetTerm@4+80 (0)
@[19] 0x6017305d nnotes.OSTerm@0+861 ()
@[20] 0x1000152c nserverl.ServerMain@16+924 (1,1b30f9c,0,0)
@[21] 0x004024f2 nserver.WinMain@16+674 (400000,0,1,1)
@[22] 0x00411f01 nserver.WinMainCRTStartup+388 (7ffdf000,6ffd4,7761e4b6,7ffdf000)
[23] 0x75ea4911 kernel32.BaseThreadInitThunk+18 (7ffdf000,7762100a,0,0)

[ 1] 0x77175aba ntdll.ZwWaitForSingleObject+10 (0,0,0,0)
[ 2] 0x7702ce00 kernel32.WaitForSingleObjectEx+160 (46c,0,0,46c)
@[ 3] 0x0085f011 nnotes.OSRunExternalScript+3181 (6ca20,1,1000,81c49c0)
@[ 4] 0x0085c5e6 nnotes.FRTerminateWindowsResources+1962 (1,1000,0,110000)
@[ 5] 0x0085bd1f nnotes.OSFaultCleanupExt+1795 (0,1000,0,0)
@[ 6] 0x0085b610 nnotes.OSFaultCleanup+68 (0,1000,0,0)
@[ 7] 0x0088de89 nnotes.OSNTUnhandledExceptionFilter+677 (6da50,40ca48,30,34021)
[ 8] 0x770bb19f kernel32.UnhandledExceptionFilter+351 (6da50,7cc28f,0,1)
@[ 9] 0x00403cc6 nserver.WinMainCRTStartup$filt$0+22 (6da50,7cc28f,0,7717b404)
@[10] 0x0040447b nserver._C_specific_handler+155 (0,6feb0,413090,403c5d)
[11] 0x7716e13d ntdll.RtlSetCriticalSectionSpinCount+125 (1,0,6feb0,70000)
[12] 0x7716ea57 ntdll.__C_specific_handler+1023 (6e650,0,FFFFA8000000000,400000)
[13] 0x771759f8 ntdll.KiUserExceptionDispatcher+46 (14f3d0,14f3d0,14f3d0,0)
[14] 0x771552cc ntdll.wcsrchr+1420 (0,127d10,127dc8,111a90)
[15] 0x77155367 ntdll.wcsrchr+1575 (111ac0,127c40,127cf8,0)
[16] 0x7714a05a ntdll.RtlDeleteResource+1434 (0,6e980,7FFFFFD6000,127b70)
[17] 0x77158b6a ntdll.LdrUnloadDll+74 (7FEFAF10000,14bd00,0,0)
[18] 0x77024af5 kernel32.FreeLibrary+37 (125710,14bd20,125710,0)
[19] 0x7FEFEC292C0 WS2_32.WahEnumerateHandleContexts+1440 (125710,0,1303d0,0)
[20] 0x7FEFEC291D3 WS2_32.WahEnumerateHandleContexts+1203 (136460,0,0,1303d0)
[21] 0x7FEFEC29132 WS2_32.WahEnumerateHandleContexts+1042 (136460,100,6ea70,166eaf3)
[22] 0x7FEFEC28CBE WS2_32.WSACleanup+78 (136460,111b10,e,6f828)
@[23] 0x063d19b4 nNTCP.ProcessTerminateWinSock+120 (6eb80,7daafd0,3dce540,7daafd0)
@[24] 0x063d1646 nNTCP.cmd_SendDriverMsg+1446 (1a080001,7da0202,0,0)
@[25] 0x02b4ccfb nnotes.Drvr_Free+227 (1a080001,7dac1fc,1a080001,0)
@[26] 0x02b405f4 nnotes.Process_FreeAllDrvrs+432 (12380001,74d49e4,0,14100001)
@[27] 0x02b401c0 nnotes.Process_Free+64 (12380001,74d49e4,12380001,74d49e4)
@[28] 0x02b41644 nnotes.Root_FreeProcess+204 (12380001,6ed44,0,6f828)
@[29] 0x02b42c41 nnotes.nti_cleanup+133 (7da0002,0,6ee78,6ee80)
@[30] 0x01965520 nnotes.NetTerm+164 (0,1,6f828,6f368)
@[31] 0x007a5094 nnotes.OSTerm+2020 (1,396278,6f5b0,1200ff)
@[32] 0x100015ec nserverl.ServerMain+1332 (1,396278,0,10A00000000)
@[33] 0x00401634 nserver.WinMain+1588 (400000,0,6fa50,1)
@[34] 0x00403c5d nserver.WinMainCRTStartup+621 (0,0,0,0)


This issue is now fixed in Lotus Notes and Domino 8.5.2 FP1 and 8.5.3 by making the "default" for this variable TCP_NO_WINSOCK_WSACLEANUP when not set to be 1. However if you have the variable in your notes.ini file set to 0 that will override this.

Fix details: SPR# HNAA7SPB6X





Syntax:
TCP_NO_WINSOCK_WSACLEANUP=0 / 1

Example:
TCP_NO_WINSOCK_WSACLEANUP=1

UI equivalent:
There is no kown UI setting for this notes.ini variable. But you can specify this setting in the notes.ini settings tab of the configuration settings document.


Applies to:
Server