I am trying to create 100-300 HTTP objects/requests at the same time using MSXML2.serverXMLHTTP.6.0
or WinHttp.WinHttpRequest.5.1
.
These requests are created on separate threads using a test application. Everything works fine with up-to 90 create objects/requests running at the same time.
When more then 100 are created/called at the same time, the application crashes with an exception in KERNELBASE.dll.
Code:
CreateObject("MSXML2.serverXMLHTTP.6.0")
CreateObject("WinHttp.WinHttpRequest.5.1")
set obj = CreateObject("MSXML2.serverXMLHTTP.6.0")
'set obj = CreateObject("WinHttp.WinHttpRequest.5.1")
obj.open "GET", "https://httpbin.org/get", true
'https://resttesttest.com/
obj.send ' Mostly crashes here.
obj.WaitForResponse
result = obj.responseTEXT
set obj = Nothing
Event Viewer Report:
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a Exception code: 0xc00000fd Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
I have tried with Async being set to "true" and set to "false".
Can anyone please provide any pointers to debug this?
If you are doing this to thrash your REST server and stress test it for volume/throughput then I can suggest you give yourself multiple processes each with their own thread pool (although I'm still not clear how you managed to create your own threads with VBScript).
If you have exhausted other possible cause I would make sure that there is not something wrong with the .dll here is the system file repair tool
Also, I did a little digging into that specific .dll and most issues with KERNALBASE.dll are related to incompatibility between 32 and 64 bit applications
http://zahirkhan.com/dotnet/faulting-module-path-kernelbasedll
I hope that this resolves your issue or at least gets you moving in the right direction.
User contributions licensed under CC BY-SA 3.0