CreateObject("MSXML2.serverXMLHTTP.6.0") and CreateObject("WinHttp.WinHttpRequest.5.1") crashes with 100+ objects/requests running at the same time

4

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?

vba
vb6
msxml6
serverxmlhttp
asked on Stack Overflow Apr 3, 2017 by DoIt • edited Apr 6, 2017 by Bugs

2 Answers

1

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).

answered on Stack Overflow Apr 8, 2017 by S Meaden
0

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

https://support.microsoft.com/en-us/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system-files

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

https://social.msdn.microsoft.com/Forums/vstudio/en-US/2556a86b-f82e-4efb-bcdd-19919facbff6/application-error-faulting-module-name-kernelbasedll-version-61760016385?forum=vcgeneral

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.

answered on Stack Overflow Apr 12, 2017 by Dillon_Su

User contributions licensed under CC BY-SA 3.0