#1 2025-04-20 22:18:45

mathias_burbach
Member
Registered: 2020-07-11
Posts: 8

mormot2tests.exe - EWinHttp test failure

Hello Folks!

I just installed FPC Version 3.2.2 & Lazarus 3.6 in a Windows 11 Hyper-V machine. I installed the mORMot2 packages for Lazarus, compiled the test project and ran it in a command prompt with admin rights.

Most of the tests passed:

Total assertions failed for all test suits:  18,539 / 128,814,939
! Some tests FAILED: please correct the code.

The first test case that fails is:

EWinHttp {Message:"winhttp.dll error [The server name or address could not be resolved] (0x2EE7)"} 
[Main] at 0100046fab ../../src/core/mormot.core.base.asmx64.inc  
(2974)  {1 26.90 13.72 1.8GB/2.5GB 58671b01}

This is followed by many failures on

  • Soa callback on server side

  • Soa callback via json websockets

  • Soa callback via binary websockets

  • Relay soa callback via json websockets

  • Relay soa callback via binary websockets

What needs to be amended in mormot.core.base.asmx64.inc ?

Thanks for a short answer in advance.

Salut,
  Mathias

Offline

#2 2025-04-21 08:03:26

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,005
Website

Re: mormot2tests.exe - EWinHttp test failure

No problem on our nightly tests on Windows, including Windows 11.
https://luti.tranquil.it/get_folder_res … 93aW5kb3dz

1) Is the VM connected to the Internet?
2) Try to set more than one CPU core to the VM.

Offline

#3 2025-04-21 08:47:24

mathias_burbach
Member
Registered: 2020-07-11
Posts: 8

Re: mormot2tests.exe - EWinHttp test failure

Hello Administrator,

yes, the virtual machine has Internet access.

I increased the CPU cores from 1 to 2, recompiled the project and ran it once more in an admin command prompt. Here is the result:

Software version tested: 2.3.10754 (2025-04-21 18:31:10)

Windows 11 64bit 23H2 (10.0.22631.5189) [utf8 5GB 58671B01]
    2 x Intel(R) Core(TM) i7-14700 [33MB] (x64)
    on Microsoft Corporation Virtual Machine Hyper-V UEFI Release v4.1
Using mORMot 2.3.10754 21 Apr 2025
    TSqlite3LibraryStatic 3.46.1 with internal MM
Generated with: Free Pascal 3.2.2 64 bit Win compiler

Time elapsed for all tests: 52.60s
Performed 21 Apr 2025, 18:32:30 by Mathias on WINDOWS-11

Total assertions failed for all test suits:  18,539 / 128,819,604
! Some tests FAILED: please correct the code.

This is the first error in the test suite:

! Core process - TDocVariant
! Exception ESynVariant at 01000726b5 ../../src/core/mormot.core.base.asmx64.inc  (2974): 
2025-04-21 08:31:41 [TDocVariant.DispInvoke: invalid (1) call]

I also have 16 failures in the 1.4. Core crypto. There it starts with

Catalog: #3012 <>0123456789012345012345678901234 asym ctr  
Catalog: #3013 <>0123456789012345012345678901234 another padding
...

And under 1.7. Network protocols I can see that the DNS & LDA tests fail:

DNS and LDAP: #31 blog.synopse.info<>62-210-254-173.rev.poneytelecom.eu   !  
- DNS and LDAP: 1 / 3,716 FAILED  2.33s
time.google.com : 2025-04-21 08:32:02.527Z = 2025-04-21 08:32:02.430Z

The Hyper-V machine works with a Default Switch and has an internal IP address of 172.22.254.247 with a default gateway of 172.22.240.1.

Any ideas what is wrong? Shall I try to run it once more in an Oracle VirtualBox machine?

Salut,
  Mathias

Last edited by mathias_burbach (2025-04-21 09:01:01)

Offline

#4 2025-04-21 10:10:54

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,005
Website

Re: mormot2tests.exe - EWinHttp test failure

Read again the documentation.
https://github.com/synopse/mORMot2?tab= … er-targets
FPC 3.2.2 has a variant bug so can't be used.

Note that FPC 3.2.2 has a regression with variant late binding - use FPC 3.2.2 fixes branch instead.

This is for the TDocVariant issue.

For the core crypto, I never saw this on any target.
Perhaps also about the compiler.

About the DNS, I don't know which DNS server/cache you use on your network but its answers is weird for sure.
If I have enhanced the tests to allow this unexpected - but somewhat correct - answer:
https://github.com/synopse/mORMot2/commit/a0d058aee

Offline

#5 2025-04-21 10:16:09

mathias_burbach
Member
Registered: 2020-07-11
Posts: 8

Re: mormot2tests.exe - EWinHttp test failure

Thanks for your reply, Administrator.

I will upgrade to FPC 3.2.3 and downgrade to Lazarus 2.2.5 tomorrow (late here in Sydney) and see if it fixes the problem. I shall also update the clone of the mORMot2 repo.

Salut,
  Mathias

Offline

#6 2025-04-21 10:27:07

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,005
Website

Re: mormot2tests.exe - EWinHttp test failure

The Lazarus version should be no problem, I think.

Only the FPC compiler has a bug.

I have also enhanced EWinHttp exception message, and fixed some tests to run outside of our build farm too.

Offline

#7 2025-05-02 06:50:22

mathias_burbach
Member
Registered: 2020-07-11
Posts: 8

Re: mormot2tests.exe - EWinHttp test failure

Hello Administrator,

finally I had some time to install Lazarus 3.6 and FPC 3.2.3 with the help of FPCUpDeluxe.

Now all the DNS and LDAP test cases passed that previously failed. There are 16 test cases left in 1.4. Core crypto (test.core.crypt.pas) that fail. For example:

fail  Catalog: #3012 <>0123456789012345012345678901234 asym ctr 
mormot2tests.dpr  (200) 
mormot2tests.dpr  (200) 
mormot2tests.dpr  (200) 
mormot2tests.dpr  (200) 
mormot2tests.dpr  (200) 
test.core.crypt.pas  (3189) 
mormot2tests.dpr  (200) 
test.core.crypt.pas  (3601) 
mormot2tests.dpr  (200) 
mormot2tests.dpr  (143) 
mormot2tests.dpr  (200) 
mormot2tests.dpr  (193)

Shouldn't they pass too? Is there anything else I need to do to my Lazarus environment?

Thanks for as short answer in advance.

Salut,
  Mathias

Offline

#8 2025-05-03 07:07:42

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,005
Website

Re: mormot2tests.exe - EWinHttp test failure

The tests should pass.
I don't know what is wrong in your case.

They did pass tonight on all platforms we test:
https://luti.tranquil.it/listfolder/1e7 … 9b38ef26fa

Offline

#9 2025-05-03 08:26:30

mathias_burbach
Member
Registered: 2020-07-11
Posts: 8

Re: mormot2tests.exe - EWinHttp test failure

Hello Administrator,

Thanks for your reply and the link to the test cases that all passed tonight.

Here is the summary of my tests:

Software version tested: 2.3.10853 (2025-05-02 16:33:03)

Windows 11 64bit 23H2 (10.0.22631.5189) [utf8 2.6GB 58671B01]
    2 x Intel(R) Core(TM) i7-14700 [33MB] (x86)
    on Microsoft Corporation Virtual Machine Hyper-V UEFI Release v4.1
Using mORMot 2.3.10853 2 May 2025
    TSqlite3LibraryStatic 3.46.1 with internal MM
Generated with: Free Pascal 3.2.3 32 bit Win compiler

Time elapsed for all tests: 1m21
Performed 3 May 2025, 18:19:37 by Mathias on WINDOWS-11

Total assertions failed for all test suits:  16 / 128,942,310
! Some tests FAILED: please correct the code.

The test cases that failed are:

0000000000000000  ! rotat mormot2tests 2.3.10853 TSynLog 2.3.10853 {2 15.05 12.35 1.8GB/2.6GB 58671b01}
0000000000000010  ! fail  Catalog: #3012 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000000001219  ! fail  Catalog: #3013 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
00000000003A2242  ! fail  Catalog: #3368 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
00000000003A24C0  ! fail  Catalog: #3369 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
000000000078F777  ! fail  Catalog: #4080 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
000000000078F9D3  ! fail  Catalog: #4081 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000000CD0E0C  ! fail  Catalog: #4436 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000000CD0F7C  ! fail  Catalog: #4437 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
00000000011288DA  ! fail  Catalog: #4792 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000001128AF6  ! fail  Catalog: #4793 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
00000000015E075D  ! fail  Catalog: #5148 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
00000000015E09E3  ! fail  Catalog: #5149 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000001AE377C  ! fail  Catalog: #5504 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000001AE3A48  ! fail  Catalog: #5505 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000001E8C09A  ! fail  Catalog: #5860 <>0123456789012345012345678901234 asym ctr mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3189) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
0000000001E8C329  ! fail  Catalog: #5861 <>0123456789012345012345678901234 another padding mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) mormot2tests.dpr  (200) test.core.crypt.pas  (3190) mormot2tests.dpr  (200) test.core.crypt.pas  (3601) mormot2tests.dpr  (200) mormot2tests.dpr  (143) mormot2tests.dpr  (200) mormot2tests.dpr  (193)
00000000033038FE  ! EXCOS EExternalException (e06d7363) [Main] at 76b1dba2  {2 24.54 8.60 1.8GB/2.6GB 58671b01}

Is there anyone out here in the community, who is using Lazarus & FPC on a Hyper-V machine and has his/her test cases passing altogether? Could it be a problem of how Hyper-V "simulates" another computer?

Thanks for a short answer in advance.

Salut,
  Mathias

Last edited by mathias_burbach (2025-05-03 08:27:14)

Offline

#10 2025-05-03 08:52:33

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,005
Website

Re: mormot2tests.exe - EWinHttp test failure

In our tests, we indeed use VirtualBox or a KVM machine.

Could you try to add at least one or two more core(s) to your VM?

Could you try as Win64 compiler target?

Could you try to add OpenSSL dll to the executable folder?
For instance from https://slproweb.com/products/Win32OpenSSL.html

Can you run

mormot2tests /t catalog /v

and put the log in a gist link?

Offline

Board footer

Powered by FluxBB