Jump to content

AndreL

Members
  • Content Count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. Hi, Error stack (madExcept) - Delphi 11.3 : exception class : EAccessViolation exception message : Violation d'accès à l'adresse 77DB3D25 dans le module 'ntdll.dll'. Ecriture de l'adresse 00000008. main thread ($6450): 77db3d25 +015 ntdll.dll RtlEnterCriticalSection 00c3a469 +015 xx.OverbyteIcsLIBEAY 5258 +1 IcsUnloadSsl 00c850b0 +000 xx.OverbyteIcsWSocket 13919 +0 UnloadSsl 00c85281 +009 xx.OverbyteIcsWSocket 14192 +3 TSslBaseComponent.FinalizeSsl 00cbdd63 +08f xx.OverbyteIcsSslSessionCache 444 +10 TSslAvlSessionCache.Destroy 0076a4b4 +008 xx. System 55 +0 TObject.Free 00cf0840 +0a0 xx.OverbyteIcsSslHttpRest 1843 +13 TSslHttpRest.Destroy 0076a4b4 +008 xx. System 55 +0 TObject.Free 008ac513 +02b xx.System.Classes TDataModule.DoDestroy 008ac3f1 +021 xx.System.Classes TDataModule.BeforeDestruction 0076ab49 +009 xx.System 55 +0 @BeforeDestruction 008ac3fe +006 xx.System.Classes TDataModule.Destroy How to reproduce : - Application xx is starting from local windows apps store. - if a newer local version is available then the following code is executed, generating the error: application.ProcessMessages; ShellExecute(0, nil, PChar(LocalExe), nil, nil, SW_SHOWNORMAL); application.Terminate; Normal execution is ending properly. Any help is welcome.
  2. Solved ! A wait loop with application.handleprocess was killing ICS logic message based. Replaced by application.processmessages solved the case and back to speed. Thank you for your time on this case and quick support. André.
  3. Hi Angus, Yes this a rest client application (Json) running since year on top of "fabricio colombo rest client" and Indy stacks with the latest openssl version (3.1.1). My goal was to replace those 2 by your stack quite well updated. But those intemittent low level errors are very difficult to fix. : - error linking to "libssl-3.dll" (~10% of the requests ) - Request failed: Error: No Status Code - 0 HTTP no status code (connection closed prematurely)' ... Servers are apache with Openssl 3.1.1 on Windows or Rocky linux with OpenSSL 1.1.1. (Server Version: Apache/2.4.57 (Win64) OpenSSL/3.1.1) -( Server Version: Apache/2.4.37 (rocky) OpenSSL/1.1.1k) At the end a lot of request retry, slowing down the application. I also use https://www.ssllabs.com/ssltest/ to keep my servers save : score A+ To be con't
  4. Next status : Handle Background Exception, source: TCustomWSocket.WndProc, Msg=1030: Access violation at address 6F71F1E4 module 'libssl-3.dll'. read of addresse 00000040 openssl version 3.1.1 or 3.1.0 7:09:59:840 ResetSslSession SetShutDown FSsl handle=0 17:09:59:840 ResetSslSession FSslBio handle=0 17:09:59:840 ResetSslSession FNBio handle=0 17:09:59:850 ResetSslSession Fibio handle=0 17:09:59:852 ResetSslSession Close FSsl handle=0 17:09:59:852 0530C9D0 ResetSslSession Done 17:09:59:900 0530C9D0 Socket handle created handle=1464 17:09:59:900 TWSocket will connect to 81.240.65.4:443 17:10:01:646 Handle Background Exception, source: TCustomWSocket.WndProc, Msg=1030 - Violation d'accès à l'adresse 6F71F1E4 dans le module 'libssl-3.dll'. Lecture de l'adresse 00000040 17:10:01:650 0530C9D0 TCustomWSocket.Shutdown 1 handle=1464 17:10:01:661 0530C9D0 ResetSslSession starting handle=-1 17:10:01:670 ResetSslSession SetShutDown FSsl handle=0 17:10:01:677 ResetSslSession FSslBio handle=0 17:10:01:677 ResetSslSession FNBio handle=0 17:10:01:680 ResetSslSession Fibio handle=0 17:10:01:680 ResetSslSession Close FSsl handle=0 17:10:01:680 0530C9D0 ResetSslSession Done 17:10:01:680 0530C9D0 ResetSslSession starting handle=-1
  5. temporary fix : - adding a ca-bundle.trust.pem file. (Chain Verification Succeeded) - redoing the call in case of 'connection closed prematurely)' <-- to be clarify why---> Socket error 10053 is also popping up. to be con't Thanks for your support.
  6. Thanks for the reply. I'm replacing my old rest framework by ICS one. I started in bloking mode and just recoding to async mode for test purpose. Both case apllication is running in error after some calls, typically when changing the reqType : from get to post or post to put. something to "clear or reset" in the TSslHttpRest ? some errors in the SSL log : Error unable to get local issuer certificate 09:19:04:015 04A5C9D0 SslHandshakeDone(0) Handle=396. SSL Connected OK with TLSv1.2, cipher ECDHE-RSA-AES256-GCM-SHA384, key auth RSA, key exchange ECDH, encryption AESGCM(256), message auth AEAD, VerifyResult=unknown certificate verification error TLS 1.2 Alert, Warning: Close Notify, State: SSL negotiation finished successfully, Recv, DataLen: 2, Data= 0100 André.
  7. Hi, StatCode := HttpRest1.RestRequest(Req, ReqURL, Async, Json); After the call, StatCode is very frequently <> 0 when Req := httpPost A typically after a get call even with 200 response.. NB: HttpRest1.State = httpReady 'Request failed: Error: No Status Code - 0 HTTP no status code (connection closed prematurely)' What could be the raison of that ? any help is welcome ... André
  8. AndreL

    Delphi 11.3 - Indy - OpenSSL 3.1

    Hi, FYI ,I updated from OpenSSL 1.1.1 (https://github.com/IndySockets/Indy/files/5029069/OpenSSL.zip) to OpenSSL 1.3 on windows 32bits I updated the following file: IdOpenSSLConsts.pas {$IFDEF WINDOWS} {$IFDEF CPU32_old}'libcrypto-1_1.dll'{$ENDIF} {$IFDEF CPU32}'libcrypto-3.dll'{$ENDIF} {$IFDEF CPU64}_old)'libcrypto-1_1-x64.dll'{$ENDIF} {$IFDEF CPU64}'libcrypto-3-x64.dll'{$ENDIF} {$ELSE} {$IFDEF WINDOWS} {$IFDEF CPU32_old}'libssl-1_1.dll'{$ENDIF} {$IFDEF CPU32}'libssl-3.dll'{$ENDIF} {$IFDEF CPU64_old}'libssl-1_1-x64.dll'{$ENDIF} {$IFDEF CPU64}'libssl-3-x64.dll'{$ENDIF} {$ELSE} Replacing libcrypto-1_1 and libssl-1_1 dlls by libcrypto-3 and libssl-3 in the application folder. NB: as libeay32.dll et ssleay32.dl are also removed, the call to OpenSSLVersion is returning an empty string. I don't know how to update this one. Application is running fine so far, including with TLS1.3 towards an Apache server.
×