#1 2022-04-28 18:03:08

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Delphi 11.1 Patch1 + mormot2

I though it is good idea to run the test with the last version of Delphi 11.1 after yesterday's official patch 1
Last commit of Mormot2 from github:
32bit compile
...
!  - Mime types: 22 / 582 FAILED  44.29ms
....
! Service oriented architecture - Mocks and stubs
! Exception Exception raised with messsage:
!  expected exception

Log:

0000000000000001  ! fail  #81 1651167975<>1651167975755 FileAgeToUnixTimeUtc 
0000000000000B25  ! fail  #88 1651167975<>1651167975761 FileAgeToUnixTimeUtc 
0000000000002765  ! fail  #95 1651167975<>1651167975763 FileAgeToUnixTimeUtc 
0000000000003719  ! fail  #102 1651167975<>1651167975771 FileAgeToUnixTimeUtc 
0000000000003B4F  ! fail  #109 1651167975<>1651167975775 FileAgeToUnixTimeUtc 
000000000000485B  ! fail  #116 1651167975<>1651167975776 FileAgeToUnixTimeUtc 
0000000000004BEF  ! fail  #123 1651167975<>1651167975779 FileAgeToUnixTimeUtc 
0000000000004FCC  ! fail  #130 1651167975<>1651167975780 FileAgeToUnixTimeUtc 
000000000000584E  ! fail  #137 1651167975<>1651167975781 FileAgeToUnixTimeUtc 
00000000000063A2  ! fail  #144 1651167975<>1651167975783 FileAgeToUnixTimeUtc 
00000000000067BC  ! fail  #151 1651167975<>1651167975786 FileAgeToUnixTimeUtc 
00000000000071F9  ! fail  #348 1651167975<>1651167975788 FileAgeToUnixTimeUtc 
000000000000787D  ! fail  #355 1651167975<>1651167975790 FileAgeToUnixTimeUtc 
0000000000007BE3  ! fail  #362 1651167975<>1651167975791 FileAgeToUnixTimeUtc 
0000000000007E8A  ! fail  #369 1651167975<>1651167975792 FileAgeToUnixTimeUtc 
0000000000008162  ! fail  #376 1651167975<>1651167975793 FileAgeToUnixTimeUtc 
000000000000841B  ! fail  #383 1651167975<>1651167975793 FileAgeToUnixTimeUtc 
00000000000086F4  ! fail  #390 1651167975<>1651167975794 FileAgeToUnixTimeUtc 
00000000000089D6  ! fail  #397 1651167975<>1651167975795 FileAgeToUnixTimeUtc 
0000000000008CAC  ! fail  #404 1651167975<>1651167975796 FileAgeToUnixTimeUtc 
0000000000008F54  ! fail  #411 1651167975<>1651167975796 FileAgeToUnixTimeUtc 
00000000000091CE  ! fail  #418 1651167975<>1651167975797 FileAgeToUnixTimeUtc 
0000000003CB79E4  ! EXC   Exception {Message:"expected exception"} [Main] at b2de64  

64Bit
same mime errors

When starting SOA tests the window closes and the log is very big: https://gist.github.com/dkounal/1423de3 … f5db3ec3ca

Offline

#2 2022-04-28 18:13:56

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

hmmm the same happens with Delphi 11, It is not the new patch nor the Delphi 11.1
It's the bleeding edge mormot2.
A month ago, I remember both to pass at least the compiled tests for 32bit

Last edited by dcoun (2022-04-28 18:19:28)

Offline

#3 2022-04-28 20:00:33

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

This was indeed a today error, which has been fixed later on.
Mime tests should be fine with https://github.com/synopse/mORMot2/commit/e4f9ce65

About the SOA tests, I don't have any problem here.

Offline

#4 2022-04-28 20:29:28

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

re-testing with more options
Delphi 11.1 patch 1
32Bit running tests inside IDE's debugging no problem, But when running it in debug mode without IDE's debugging the exception exists

64bit Running from IDE's debugging I am getting an exception Float_invalid_Operation in line 3023 of mormot.core.datetime when running the 3rd test in 1.2 Core process

 - Url encoding: 300 assertions passed  453us
! Core process - Encode decode JSON
! Exception EInvalidOp raised with messsage:
!  Invalid floating point operation

it stops again and again "Non-user breakpoint" in line 5075 of mormot.core.log In websockets in 2.8. Multi thread process
then an exception in access_violation in line 6000 of mormot.core.os
  - Websockets: 55 / 8,104 FAILED  5m12
     1=2611/s  2=1423/s  5=619/s  10=319/s  30=97/s  50=4/s
I stopped there

When running outside the IDE in 64bit again the
the executable closes when starting SOA

Last edited by dcoun (2022-04-28 20:34:42)

Offline

#5 2022-04-28 20:48:32

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

The following sometimes happens, sometimes does not, in 64bit both in release/debug mode

! Core process - Encode decode JSON
! Exception EInvalidOp raised with messsage:
!  Invalid floating point operation

In 64 bit release mode running from inside IDE:
a) it shows a Float_invalid_operation on line 4460 of mormot.core.buffers in the above error of core process
b) After the above, it stops many times with non-user breakpoint at line 3783 of mormot.core.json and sets RED the websockets
c) The above continues for ever in SOA 3.1. Core script

Offline

#6 2022-04-28 21:32:34

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

Reverted Mormot2 back to Jan 23 with static SQLITE 3.37.2
In 32 bit from inside IDE it gives errors in websockets in 2.8 Multithread process
In 32bit running outside the IDE it gives error in SOA 3.2

  - Client side json RPC: 1,853,121 assertions passed  639.36ms
  - Test over HTTP: 18,274 assertions passed  3.87s
  - Security: 139 assertions passed  1.80ms
! Service oriented architecture - Mocks and stubs
! Exception Exception raised with messsage:
!  expected exception
  Total failed: 0 / 32,478,392  - Service oriented architecture PASSED  19.52s

Offline

#7 2022-04-29 07:40:14

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

Even in my previous machine running Delphi 11 I got this error that I do not  remember to exist in the past

In the log it is only:

0000000000000002  ! EXC   Exception {Message:"expected exception"} [Main] at 68d0e4  

and in the screen after running:

 3.2. Service oriented architecture:
  - Weak interfaces: 56 assertions passed  549us
  - Service initialization: 268 assertions passed  4.64ms
  - Direct call: 1,389,825 assertions passed  31.82ms
  - Server side: 1,389,845 assertions passed  36.40ms
  - Client side REST: 1,853,127 assertions passed  888.98ms
  - Client side REST as json object: 1,853,121 assertions passed  930.17ms
  - Client side REST sessions stats: 1,853,121 assertions passed  1.02s
  - Client side REST locked: 1,853,125 assertions passed  862.39ms
  - Client side REST main thread: 1,853,125 assertions passed  5.60s
  - Client side REST background thread: 1,853,125 assertions passed  5.43s
  - Client side REST sign with crc 32c: 1,853,121 assertions passed  831.84ms
  - Client side REST sign with xxhash: 1,853,121 assertions passed  884.18ms
  - Client side REST sign with md 5: 1,853,121 assertions passed  883.73ms
  - Client side REST sign with sha 256: 1,853,121 assertions passed  923.63ms
  - Client side REST sign with sha 512: 1,853,121 assertions passed  1.06s
  - Client side REST weak authentication: 1,853,121 assertions passed  794.42ms
  - Client side REST basic authentication: 1,853,121 assertions passed  1.04s
  - Client side REST custom record layout: 1,853,121 assertions passed  880.32ms
  - Client side REST service log to DB: 1,853,121 assertions passed  3.25s
  - Client side json RPC: 1,853,121 assertions passed  1.10s
  - Test over HTTP: 18,274 assertions passed  1.60s
  - Security: 139 assertions passed  3.69ms
! Service oriented architecture - Mocks and stubs
! Exception Exception raised with messsage:
!  expected exception
  Total failed: 0 / 32,478,392  - Service oriented architecture PASSED  28.18s

all tests passed but I have an error?
I am not sure if it helps, Eurekalog does not provide an error report. I am not sure if mormot2tests takes care of all exceptions before.

Last edited by dcoun (2022-04-29 07:55:37)

Offline

#8 2022-04-29 12:15:03

tbo
Member
Registered: 2015-04-20
Posts: 335

Re: Delphi 11.1 Patch1 + mormot2

dcoun wrote:

Even in my previous machine running Delphi 11 I got this error that I do not  remember to exist in the past

I can confirm this with the following settings: Delphi 11.1 Alexandria 32Bit, mORMot 2.0.3294, release/debug mode, outside IDE

! Service oriented architecture - Mocks and stubs
! Exception Exception raised with messsage:
!  expected exception
  Total failed: 0 / 32,478,392  - Service oriented architecture PASSED  22.11s

With best regards
Thomas

Offline

#9 2022-04-29 12:38:57

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

The "expected exception" is... an expected exception, during the mocking tests.
So this is not a failure - on the contrary.
We should fix this false positive. wink

Offline

#10 2022-04-30 06:41:39

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

OK that really help.
So 32bit works with Delphi 11.1 patch 1 without any problem
64Bit does not. But that happens to Delphi 11 too.

Offline

#11 2022-04-30 14:42:05

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

Sounds like a problem with QuickJS on Win64.
It was already disabled for 10.4.
It is now disabled for >= 10.4, including Delphi 11.

See https://github.com/synopse/mORMot2/commit/64ebf956

Hope it helps.

Offline

#12 2022-04-30 20:39:49

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

In delphi 11.1 patch 1 win64 only the following is still happening:

 1.2. Core process:
  - RTTI: 1,345 assertions passed  794us
  - Url encoding: 300 assertions passed  1.57ms
! Core process - Encode decode JSON
! Exception EInvalidOp raised with messsage:
!  Invalid floating point operation
  - JSON benchmark: no assertion  746us
  - Wiki markdown to html: 56 assertions passed  737us
  - Variants: 124 assertions passed  546us
  - Mustache renderer: 166 assertions passed  1.85s
  - TDocVariant: 90,791 assertions passed  43.43ms
  - TDecimal128: 17,446 assertions passed  2.12ms
  - BSON: 245,070 assertions passed  3.65ms
     100000 TBsonObjectID.ComputeNew in 2.36ms i.e. 40.2M/s, aver. 23ns
  - TSelectStatement: 229 assertions passed  839us
  - TSynMonitorUsage: 1,202 assertions passed  204us
  Total failed: 0 / 491,391  - Core process PASSED  1.95s

In the log only the following entries, expected exception also

0000000000000000  ! EXCOS EInvalidOp (c0000090) [Main] at 1db400 @Trunc 
0000000003F275C7  ! EXC   Exception {Message:"expected exception"} [Main] at 57928e mormot.core.interfaces.pas TInterfaceStub.Invoke (6241) 

As shown also before:

dcoun wrote:

The following sometimes happens, sometimes does not, in 64bit both in release/debug mode

! Core process - Encode decode JSON
! Exception EInvalidOp raised with messsage:
!  Invalid floating point operation

In 64 bit release mode running from inside IDE:
a) it shows a Float_invalid_operation on line 4460 of mormot.core.buffers in the above error of core process

In 32bit everything is OK in delphi 11.1 patch 1

Thanks a lot @ab

Last edited by dcoun (2022-04-30 20:40:58)

Offline

#13 2022-05-09 08:43:51

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

I have fixed the "expected exception" problem with https://github.com/synopse/mORMot2/commit/465df8e9

About the EInvalidOp I am not able to reproduce it, even with a Delphi 11 patch 1 compiler.
All tests are green: https://gist.github.com/synopse/dd5fcd0 … 18c454353f

The reported error in TBufferWriter.WriteRawUtf8Array, mormot.core.buffers.pas line 4460 does not make much sense: there is no variant, nor floating point value there.
What is the Windows system code page: 1252 ?

Offline

#14 2022-05-09 09:34:22

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

ab wrote:

What is the Windows system code page: 1252 ?

737 or 1253

Offline

#15 2022-05-09 09:38:10

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

This may be the culprit.
What is your decimal separator?

Offline

#16 2022-05-09 09:39:21

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

ab wrote:

This may be the culprit.
What is your decimal separator?

comma instead of point
Point is used to divide thousands

Offline

#17 2022-05-09 12:44:59

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

We would need the full stack trace of the error in the IDE, and some additional context (values).

Offline

#18 2022-05-09 14:00:51

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

With today's mormot2 32bit is running OK from inside/outside of Delphi 11.1 patch 1 IDE in a computer with win11
Compiled for 64Bit it runs ok outside IDE, but inside's ide I am getting all I sent to you by message in a gist
There are differences in errors in 64bit between Release/Debug config when running from inside IDE

Offline

#19 2022-05-09 14:08:14

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

We will focus on the first error.

The stack trace on https://user-images.githubusercontent.c … 960f81.png is informative, but I would like to know which ObjectToJson() triggers the problem.

And also which TCollTstDynArrayTest call triggers the issue (there are several calls, and with the screenshot I am not able to identify which one).

Offline

#20 2022-05-09 14:15:13

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

added in the gist

Offline

#21 2022-05-09 14:23:00

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

Thanks!

There was a bug in the test code.
https://github.com/synopse/mORMot2/commit/3cc81598
A value on stack was not initialized, so some TDateTime value was clearly incorrect - but not always, depending on what was on the stack.

Offline

#22 2022-05-09 14:31:49

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

Thank you me too ab
Now it stops in a non user breakcode in line 5075 of mormot.core.log as you can see in the other images and log
And websockets in 2.3 do not pass

Check the gist for new images

Last edited by dcoun (2022-05-09 14:38:32)

Offline

#23 2022-05-10 08:52:42

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Delphi 11.1 Patch1 + mormot2

Aren't you running the tests in a virtual machine mapped drive?

Offline

#24 2022-05-10 08:55:26

dcoun
Member
From: Crete, Greece
Registered: 2020-02-18
Posts: 392

Re: Delphi 11.1 Patch1 + mormot2

?????
No. I am using most of the time remote desktop, but not in a virtual machine mapped drive

Offline

Board footer

Powered by FluxBB