Knowledgebase: General
7.x: My application starts throwing 12175/ERROR_WINHTTP_SECURE_FAILURE error after adding EurekaLog
Posted by Aleksandr Alekseev on 27 July 2022 20:59

Problem:

My application runs fine without EurekaLog, but fails after adding EurekaLog. It fails with the error like "REST request failed: Error  sending data: (12175) A security error occurred", which is the ERROR_WINHTTP_SECURE_FAILURE error. I am using TREST.Request or/and THTTPRio. The same compiled executable may run fine on one machine, but fail on another.

 

Explanation:

This issue is not caused by EurekaLog directly. See this thread on DelphiPraxis. EurekaLog loads DbgHelp.dll from Microsoft Windows SDK, DbgHelp.dll uses SymSrv.dll, and loading a specific version of SymSrv.dll is what seems to cause/reveal the issue. We are using the DbgHelp.dll and the SymSrv.dll from the latest Windows SDK.

 

Solution:

This is not EurekaLog issue, as the issue appears even in applications without any EurekaLog's code. It seems to be related to WinHTTP settings. We recommend to seek solutions on forums.

As a temporal workaround, you can delete/move/rename DbgHelp.dll from the \Bin folder of your EurekaLog installation. This DLL is not deployed with your application.

 

P.S. In our particular case:

  1. The WinHttpSendRequest function spawns background worker threads that calls into Crypt32.dll
  2. The internal functions of Crypt32.dll raise Access Violation exception for an unknown reason.
  3. The AV exception is returned as 12175/ERROR_WINHTTP_SECURE_FAILURE from the WinHttpSendRequest function.

In our case the "reason" for Access Violation was the loaded DbgHelp.dll from Windows SDK (not the one from the \Windows folder).


Help Desk Software by Kayako Resolve