You are not logged in.
Okay, so I found {$define NOSQLITE3STATIC} in mormot.defines.inc, and turned that on, to build the mormot2tests.dpr. Doing a clean and build allowed it to complete, although I get 124 "errors" that are actually ld warnings, of the form:
ld: warning: object file (/Users/scott/fpcupdeluxe/ccr/mORMot2/test/fpc/lib/aarch64-darwin/mormot2tests.o) was built for newer macOS version (11.0) than being linked (10.8)
when I run the regression tests, I get:
Last login: Tue Apr 19 13:14:03 on ttys001
/Users/scott/fpcupdeluxe/ccr/mORMot2/test/fpc/bin/aarch64-darwin/mormot2tests ; exit;
➜ ~ /Users/scott/fpcupdeluxe/ccr/mORMot2/test/fpc/bin/aarch64-darwin/mormot2tests ; exit;
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 65us
- TRawUtf8List: 190,174 assertions passed 161.42ms
- TDynArray: 1,091,805 assertions passed 245.83ms
- TDynArrayHashed: 1,599,070 assertions passed 1.03s
- TSynDictionary: 283,050 assertions passed 426.71ms
- TSynQueue: 6,541,501 assertions passed 128.35ms
- TSynNameValue: 40,032 assertions passed 63.83ms
- TRawUtf8Interning: 2,000,013 assertions passed 497.83ms
500000 interning 16 KB in 27.31ms i.e. 17.4M/s, aver. 54ns, 558.7 MB/s
500000 direct 15.2 MB in 230.52ms i.e. 2M/s, aver. 461ns, 66.1 MB/s
- TObjArray: 3,230 assertions passed 3.08ms
- Custom RTL: 297,646 assertions passed 517.82ms
FillChar in 5.03ms, 77.1 GB/s
Move in 7.97ms, 39.1 GB/s
small Move in 27.71ms, 3.9 GB/s
big Move in 10.95ms, 35.6 GB/s
FillCharFast in 5.72ms, 67.8 GB/s
MoveFast in 7.73ms, 40.4 GB/s
small MoveFast in 29.53ms, 3.7 GB/s
big MoveFast in 8.45ms, 46.1 GB/s
- Fast string compare: 41 assertions passed 31us
- IdemPropName: 228 assertions passed 211us
- Url encoding: 167 assertions passed 968us
- GUID: 10,019 assertions passed 33.45ms
- ParseCommandArguments: 232 assertions passed 59us
- IsMatch: 4,250 assertions passed 142us
- TExprParserMatch: 140 assertions passed 199us
- Soundex: 35 assertions passed 12us
- Numerical conversions: 2,543,429 assertions passed 1.45s
100000 FloatToText in 107.65ms i.e. 907.1K/s, aver. 1.07us, 16.8 MB/s
100000 str in 11.80ms i.e. 8M/s, aver. 118ns, 193.8 MB/s
100000 DoubleToShort in 6.76ms i.e. 14.1M/s, aver. 67ns, 296.2 MB/s
100000 DoubleToAscii in 6.35ms i.e. 15M/s, aver. 63ns, 318.2 MB/s
- Integers: 146,512 assertions passed 32.33ms
- crc32c: 100,074 assertions passed 95.31ms
pas 377.3 MB/s fast 805.3 MB/s
- Random32: 221,003 assertions passed 1.59ms
240000 Random32 in 1.21ms i.e. 188M/s, aver. 5ns, 752.2 MB/s
RandomBytes in 311us, 1.1 GB/s
[1] 82131 segmentation fault /Users/scott/fpcupdeluxe/ccr/mORMot2/test/fpc/bin/aarch64-darwin/mormot2tests
Saving session...completed.
Deleting expired sessions...none found.
[Process completed]
Ideas? Am I being too much of a n00b here?
Offline
Oops, I should add that I have built FPC and Lazarus both against the "fixes" branch via fpcupdeluxe, and mORMot2 HEAD via fpcupdeluxe. I am doing this on an M1 Mac mini running macOS Monterey 12.3.1, Xcode 13.3
Offline
On the other hand, building for aarch64-linux is dead simple and worked the first time with zero failures in the regression tests. Bravo!
:~/fpcupd/ccr/mORMot2/test/fpc/bin/aarch64-linux$ ./mormot2tests
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 369us
- TRawUtf8List: 190,174 assertions passed 229.15ms
- TDynArray: 1,091,805 assertions passed 400.30ms
- TDynArrayHashed: 1,599,070 assertions passed 1.66s
- TSynDictionary: 283,050 assertions passed 718.96ms
- TSynQueue: 6,541,501 assertions passed 287.40ms
- TSynNameValue: 40,032 assertions passed 83.72ms
- TRawUtf8Interning: 2,000,013 assertions passed 652.43ms
500000 interning 16 KB in 33.83ms i.e. 14M/s, aver. 67ns, 450.9 MB/s
500000 direct 15.2 MB in 321.51ms i.e. 1.4M/s, aver. 643ns, 47.4 MB/s
- TObjArray: 3,230 assertions passed 4.67ms
- Custom RTL: 297,646 assertions passed 1.14s
FillChar in 18.86ms, 20.6 GB/s
Move in 199.67ms, 1.5 GB/s
small Move in 83.34ms, 1.3 GB/s
big Move in 223.45ms, 1.7 GB/s
FillCharFast in 8.89ms, 43.6 GB/s
MoveFast in 19.27ms, 16.2 GB/s
small MoveFast in 26.84ms, 4 GB/s
big MoveFast in 34.88ms, 11.1 GB/s
- Fast string compare: 41 assertions passed 28us
- IdemPropName: 228 assertions passed 936us
- Url encoding: 167 assertions passed 1.37ms
- GUID: 10,019 assertions passed 42.96ms
- ParseCommandArguments: 232 assertions passed 83us
- IsMatch: 4,250 assertions passed 859us
- TExprParserMatch: 140 assertions passed 488us
- Soundex: 35 assertions passed 32us
- Numerical conversions: 2,542,468 assertions passed 1.93s
100000 FloatToText in 149.81ms i.e. 651.8K/s, aver. 1.49us, 12.1 MB/s
100000 str in 18.69ms i.e. 5.1M/s, aver. 186ns, 122.4 MB/s
100000 DoubleToShort in 12.28ms i.e. 7.7M/s, aver. 122ns, 163.1 MB/s
100000 DoubleToAscii in 11.66ms i.e. 8.1M/s, aver. 116ns, 173.4 MB/s
- Integers: 146,512 assertions passed 39.99ms
- crc32c: 310,089 assertions passed 127.14ms
pas 208 MB/s fast 829.1 MB/s armv8 8.1 GB/s
- Random32: 221,003 assertions passed 4.13ms
240000 Random32 in 3.54ms i.e. 64.6M/s, aver. 14ns, 258.4 MB/s
RandomBytes in 487us, 784 MB/s
- Bloom filters: 2,010,072 assertions passed 151.61ms
- DeltaCompress: 3,087 assertions passed 28.23ms
- Curr 64: 20,056 assertions passed 6.23ms
- CamelCase: 11 assertions passed 37us
- Bits: 15,567 assertions passed 24.11ms
- Ini files: 7,028 assertions passed 39.99ms
- UTF8: 1,386,120 assertions passed 1.18s
- Url decoding: 1,301 assertions passed 838us
- Mime types: 450 assertions passed 2.95ms
- Baudot code: 10,007 assertions passed 53.72ms
- Iso 8601 date and time: 200,831 assertions passed 67.34ms
- Time zones: 459 assertions passed 202.32ms
- Quick select: 4,015 assertions passed 97.15ms
- TSynCache: 408 assertions passed 569us
- TSynFilter: 804 assertions passed 4.66ms
- TSynValidate: 677 assertions passed 2.18ms
- TSynLogFile: 56 assertions passed 395us
- TSynUniqueIdentifier: 1,300,002 assertions passed 2.14s
200000 ComputeNew in 5.26ms i.e. 36.2M/s, aver. 26ns
Total failed: 0 / 20,243,399 - Core base PASSED 11.35s
1.2. Core process:
- RTTI: 1,345 assertions passed 2.48ms
- Url encoding: 300 assertions passed 1.84ms
- Encode decode JSON: 432,071 assertions passed 523.91ms
- JSON benchmark: 100,519 assertions passed 11.91s
StrLen() in 1.44ms, 13.2 GB/s
IsValidUtf8(RawUtf8) in 11.76ms, 1.6 GB/s
IsValidUtf8(PUtf8Char) in 13.06ms, 1.4 GB/s
IsValidJson(RawUtf8) in 22.63ms, 866.2 MB/s
IsValidJson(PUtf8Char) in 22.56ms, 868.8 MB/s
JsonArrayCount(P) in 22.87ms i.e. 6.8M/s, 857.1 MB/s
JsonArrayCount(P,PMax) in 22.51ms i.e. 6.9M/s, 870.8 MB/s
JsonObjectPropCount() in 11.73ms, 0.9 GB/s
jsonUnquotedPropNameCompact in 73.14ms, 237.9 MB/s
jsonHumanReadable in 145.56ms, 171.3 MB/s
TDocVariant in 2.25s i.e. 71.3K/s, 8.7 MB/s
TDocVariant no guess in 2.72s i.e. 58.9K/s, 7.1 MB/s
TDocVariant dvoIntern in 1.13s i.e. 141K/s, 17.2 MB/s
TOrmTableJson save in 33.91ms i.e. 4.6M/s, 254.2 MB/s
TOrmTableJson exp in 47.03ms i.e. 3.3M/s, 416.8 MB/s
TOrmTableJson not exp in 20.99ms i.e. 7.4M/s, 410.6 MB/s
TDocVariant FromResults exp in 798.83ms i.e. 201.1K/s, 24.5 MB/s
TDocVariant FromResults not exp in 773.31ms i.e. 207.7K/s, 11.1 MB/s
DynArrayLoadJson exp in 606.93ms i.e. 264.7K/s, 32.3 MB/s
DynArrayLoadJson non exp in 593.67ms i.e. 270.6K/s, 14.5 MB/s
TOrmPeopleObjArray exp in 875.26ms i.e. 183.5K/s, 22.3 MB/s
TOrmPeopleObjArray non exp in 816.04ms i.e. 196.9K/s, 10.5 MB/s
fpjson in 664.06ms i.e. 24.1K/s, 2.9 MB/s
- Wiki markdown to html: 56 assertions passed 241us
- Variants: 122 assertions passed 436us
- Mustache renderer: 166 assertions passed 4.27ms
- TDocVariant: 91,983 assertions passed 267.80ms
- TDecimal128: 17,446 assertions passed 7.49ms
- BSON: 245,070 assertions passed 5.77ms
100000 TBsonObjectID.ComputeNew in 3.76ms i.e. 25.3M/s, aver. 37ns
- TSelectStatement: 229 assertions passed 447us
- TSynMonitorUsage: 1,202 assertions passed 469us
Total failed: 0 / 890,509 - Core process PASSED 12.72s
1.3. Core collections:
- IList: 6,944,142 assertions passed 1.42s
500000 IList<Byte> in 4.13ms i.e. 115.2M/s, aver. 8ns
500000 IList<Word> in 4.57ms i.e. 104.1M/s, aver. 9ns
500000 IList<Integer> in 5.19ms i.e. 91.7M/s, aver. 10ns
500000 IList<Cardinal> in 5.02ms i.e. 94.8M/s, aver. 10ns
500000 IList<Int64> in 6.73ms i.e. 70.7M/s, aver. 13ns
500000 IList<QWord> in 6.61ms i.e. 72M/s, aver. 13ns
500000 IList<Single> in 4.48ms i.e. 106.2M/s, aver. 8ns
500000 IList<Double> in 5.37ms i.e. 88.7M/s, aver. 10ns
500000 IList<TDateTime> in 5.37ms i.e. 88.7M/s, aver. 10ns
500000 IList<UTF8String> in 26.38ms i.e. 18M/s, aver. 52ns
500000 IList<UnicodeString> in 25.82ms i.e. 18.4M/s, aver. 51ns
500000 IList<Variant> in 27.72ms i.e. 17.1M/s, aver. 55ns
500000 IList<THash128> in 14.31ms i.e. 33.3M/s, aver. 28ns
500000 IList<TGuid> in 13.36ms i.e. 35.6M/s, aver. 26ns
- IKeyValue: 3,800,050 assertions passed 933.90ms
100000 integer,Int64 add in 9.77ms i.e. 9.7M/s, aver. 97ns
100000 integer,Int64 get in 3.72ms i.e. 25.5M/s, aver. 37ns
100000 RawUtf8,double add in 96.96ms i.e. 0.9M/s, aver. 969ns
100000 RawUtf8,double get in 12.48ms i.e. 7.6M/s, aver. 124ns
100000 integer,Int64 capa add in 8.63ms i.e. 11M/s, aver. 86ns
100000 integer,Int64 capa get in 4.67ms i.e. 20.3M/s, aver. 46ns
100000 RawUtf8,double capa add in 83.18ms i.e. 1.1M/s, aver. 831ns
100000 RawUtf8,double capa get in 8.73ms i.e. 10.9M/s, aver. 87ns
Total failed: 0 / 10,744,192 - Core collections PASSED 2.36s
1.4. Core crypto:
- MD5: 166 assertions passed 278us
- SHA1: 8 assertions passed 3.47ms
- SHA256: 20 assertions passed 18.08ms
- SHA512: 32 assertions passed 38.79ms
- SHA3: 8,225 assertions passed 55.10ms
- AES: 72,700 assertions passed 285.87ms
- AES_GCM: 215 assertions passed 117us
- RC4: 1,016 assertions passed 3.57ms
- Hashes: 21 assertions passed 319.22ms
- Base64: 26,064 assertions passed 303.27ms
encoding in 96.53ms, 1 GB/s
decoding in 136.15ms, 734.4 MB/s
- CompressShaAes: 1,683 assertions passed 7.29ms
- TAesPNRG: 362,626 assertions passed 282.26ms
100000 mORMot Random32 in 2.47ms i.e. 38.5M/s, aver. 24ns, 154.2 MB/s
mORMot FillRandom in 87us, 1 GB/s
100000 OpenSSL Random32 in 147.52ms i.e. 661.9K/s, aver. 1.47us, 2.5 MB/s
OpenSSL FillRandom in 117us, 815.1 MB/s
100000 Lecuyer Random32 in 1.44ms i.e. 66M/s, aver. 14ns, 264.1 MB/s
Lecuyer RandomBytes in 123us, 775.3 MB/s
- CryptDataForCurrentUser: 5,000 assertions passed 9.83ms
2000 AES-CFB in 9.65ms i.e. 202.2K/s, aver. 4.82us, 107.9 MB/s
- JWT: 164,916 assertions passed 1.44s
1000 HS256 in 4.03ms i.e. 242.2K/s, aver. 4.03us
1000 HS384 in 5.64ms i.e. 173.1K/s, aver. 5.64us
1000 HS512 in 5.67ms i.e. 171.9K/s, aver. 5.67us
1000 S3224 in 4.58ms i.e. 212.9K/s, aver. 4.58us
1000 S3256 in 4.58ms i.e. 212.8K/s, aver. 4.58us
1000 S3384 in 4.61ms i.e. 211.7K/s, aver. 4.61us
1000 S3512 in 4.65ms i.e. 209.7K/s, aver. 4.65us
1000 S3S128 in 4.63ms i.e. 210.9K/s, aver. 4.63us
1000 S3S256 in 4.63ms i.e. 210.7K/s, aver. 4.63us
100 ES256 in 15.82ms i.e. 6.1K/s, aver. 158us
100 RS256 in 8.50ms i.e. 11.4K/s, aver. 85us
100 RS384 in 8.51ms i.e. 11.4K/s, aver. 85us
100 RS512 in 8.51ms i.e. 11.4K/s, aver. 85us
100 PS256 in 8.53ms i.e. 11.4K/s, aver. 85us
100 PS384 in 8.71ms i.e. 11.2K/s, aver. 87us
100 PS512 in 8.64ms i.e. 11.2K/s, aver. 86us
100 ES256 in 15.81ms i.e. 6.1K/s, aver. 158us
100 ES384 in 145.34ms i.e. 688/s, aver. 1.45ms
100 ES512 in 377.59ms i.e. 264/s, aver. 3.77ms
100 ES256K in 56.89ms i.e. 1.7K/s, aver. 568us
100 EdDSA in 12.72ms i.e. 7.6K/s, aver. 127us
- TBinaryCookieGenerator: 82,944 assertions passed 28.72ms
16384 generate in 13.63ms i.e. 1.1M/s, aver. 832ns
16384 validate in 1.56ms i.e. 10M/s, aver. 95ns
- Catalog: 3,346 assertions passed 2.77s
- Benchmark: 107,500 assertions passed 575.78ms
2500 crc32c in 253us i.e. 9.4M/s or 20.5 GB/s
2500 xxhash32 in 1.47ms i.e. 1.6M/s or 3.5 GB/s
2500 crc32 in 257us i.e. 9.2M/s or 20.2 GB/s
2500 adler32 in 465us i.e. 5.1M/s or 11.1 GB/s
2500 hash32 in 607us i.e. 3.9M/s or 8.5 GB/s
2500 md5 in 12.12ms i.e. 201.2K/s or 438.6 MB/s
2500 sha1 in 22.02ms i.e. 110.8K/s or 241.5 MB/s
2500 hmacsha1 in 23.76ms i.e. 102.7K/s or 223.8 MB/s
2500 sha256 in 3.41ms i.e. 715.1K/s or 1.5 GB/s
2500 hmacsha256 in 4.17ms i.e. 585.3K/s or 1.2 GB/s
2500 sha384 in 27.89ms i.e. 87.5K/s or 190.7 MB/s
2500 hmacsha384 in 32.76ms i.e. 74.5K/s or 162.3 MB/s
2500 sha512 in 27.76ms i.e. 87.9K/s or 191.6 MB/s
2500 hmacsha512 in 32.76ms i.e. 74.5K/s or 162.3 MB/s
2500 sha3_256 in 35.89ms i.e. 68K/s or 148.2 MB/s
2500 sha3_512 in 65.62ms i.e. 37.2K/s or 81 MB/s
2500 rc4 in 12.99ms i.e. 187.8K/s or 409.4 MB/s
2500 mormot aes-128-cfb in 11.49ms i.e. 212.3K/s or 462.7 MB/s
2500 mormot aes-128-ofb in 6.59ms i.e. 370.2K/s or 806.8 MB/s
2500 mormot aes-128-c64 in 7.18ms i.e. 339.7K/s or 740.3 MB/s
2500 mormot aes-128-ctr in 7.31ms i.e. 333.6K/s or 727.1 MB/s
2500 mormot aes-128-cfc in 12.03ms i.e. 202.9K/s or 442.2 MB/s
2500 mormot aes-128-ofc in 8.03ms i.e. 304K/s or 662.5 MB/s
2500 mormot aes-128-ctc in 8.54ms i.e. 285.6K/s or 622.5 MB/s
2500 mormot aes-128-gcm in 11.05ms i.e. 220.8K/s or 481.3 MB/s
2500 mormot aes-256-cfb in 12.33ms i.e. 197.9K/s or 431.4 MB/s
2500 mormot aes-256-ofb in 7.51ms i.e. 325K/s or 708.2 MB/s
2500 mormot aes-256-c64 in 8.21ms i.e. 297K/s or 647.3 MB/s
2500 mormot aes-256-ctr in 8.14ms i.e. 299.7K/s or 653.3 MB/s
2500 mormot aes-256-cfc in 12.92ms i.e. 188.8K/s or 411.5 MB/s
2500 mormot aes-256-ofc in 8.82ms i.e. 276.5K/s or 602.7 MB/s
2500 mormot aes-256-ctc in 9.56ms i.e. 255.2K/s or 556.2 MB/s
2500 mormot aes-256-gcm in 11.33ms i.e. 215.3K/s or 469.2 MB/s
2500 openssl aes-128-cfb in 7.75ms i.e. 315K/s or 686.5 MB/s
2500 openssl aes-128-ofb in 6.94ms i.e. 351.5K/s or 766.2 MB/s
2500 openssl aes-128-ctr in 4.77ms i.e. 511.2K/s or 1 GB/s
2500 openssl aes-128-gcm in 6.20ms i.e. 393.7K/s or 858.1 MB/s
2500 openssl aes-256-cfb in 8.65ms i.e. 282K/s or 614.6 MB/s
2500 openssl aes-256-ofb in 7.87ms i.e. 310.2K/s or 676 MB/s
2500 openssl aes-256-ctr in 5.24ms i.e. 465.7K/s or 0.9 GB/s
2500 openssl aes-256-gcm in 6.68ms i.e. 365.2K/s or 795.8 MB/s
2500 shake128 in 29.89ms i.e. 81.6K/s or 177.9 MB/s
2500 shake256 in 35.17ms i.e. 69.4K/s or 151.2 MB/s
Total failed: 0 / 836,482 - Core crypto PASSED 6.14s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 9.25ms
- ECC: 2,104 assertions passed 860.81ms
300 Ecc256r1MakeKey in 8.61ms i.e. 34K/s, aver. 28us
300 Ecc256r1Uncompress in 40.85ms i.e. 7.1K/s, aver. 136us
300 Ecc256r1Sign in 14ms i.e. 20.9K/s, aver. 46us
300 Ecc256r1Verify in 57.20ms i.e. 5.1K/s, aver. 190us
300 Ecc256r1VerifyUncomp in 641.44ms i.e. 467/s, aver. 2.13ms
598 Ecc256r1SharedSecret in 90.43ms i.e. 6.4K/s, aver. 151us
- Certificates and signatures: 106 assertions passed 7.86ms
- Ecc command line tool: 704 assertions passed 89.74ms
- ECDHE stream protocol: 63,393 assertions passed 789.07ms
100 efAesCrc128 in 5.40ms i.e. 18K/s, aver. 54us, 471.3 MB/s
100 efAesCfb128 in 2.98ms i.e. 32.7K/s, aver. 29us, 854.8 MB/s
100 efAesOfb128 in 2.97ms i.e. 32.8K/s, aver. 29us, 856.5 MB/s
100 efAesCtr128 in 1.95ms i.e. 49.8K/s, aver. 19us, 1.2 GB/s
100 efAesCbc128 in 2.17ms i.e. 44.9K/s, aver. 21us, 1.1 GB/s
100 efAesCrc256 in 5.85ms i.e. 16.6K/s, aver. 58us, 435.3 MB/s
100 efAesCfb256 in 3.31ms i.e. 29.4K/s, aver. 33us, 768.7 MB/s
100 efAesOfb256 in 3.42ms i.e. 28.4K/s, aver. 34us, 743.4 MB/s
100 efAesCtr256 in 2.15ms i.e. 45.3K/s, aver. 21us, 1.1 GB/s
100 efAesCbc256 in 2.51ms i.e. 38.9K/s, aver. 25us, 0.9 GB/s
100 efAesGcm128 in 2.20ms i.e. 44.2K/s, aver. 22us, 1.1 GB/s
100 efAesGcm256 in 2.48ms i.e. 39.3K/s, aver. 24us, 1 GB/s
100 efAesCtc128 in 3.56ms i.e. 27.3K/s, aver. 35us, 714.6 MB/s
100 efAesCtc256 in 4.02ms i.e. 24.2K/s, aver. 40us, 633.1 MB/s
- OpenSSL: 532 assertions passed 1.22s
3 RSA 2048 Generation in 229.05ms i.e. 13/s, aver. 76.35ms
30 RSA 2048 Sign in 108.86ms i.e. 275/s, aver. 3.62ms
30 RSA 2048 Verify in 2.91ms i.e. 10K/s, aver. 97us
3 RSA-PSS 2048 Generation in 708.56ms i.e. 4/s, aver. 236.18ms
30 RSA-PSS 2048 Sign in 108.89ms i.e. 275/s, aver. 3.62ms
30 RSA-PSS 2048 Verify in 2.94ms i.e. 9.9K/s, aver. 98us
100 prime256v1 Generation in 8.41ms i.e. 11.6K/s, aver. 84us
100 prime256v1 Sign in 7.01ms i.e. 13.9K/s, aver. 70us
100 prime256v1 Verify in 17.38ms i.e. 5.6K/s, aver. 173us
100 ed25519 Generation in 5.81ms i.e. 16.8K/s, aver. 58us
100 ed25519 Sign in 10.15ms i.e. 9.6K/s, aver. 101us
100 ed25519 Verify in 12.58ms i.e. 7.7K/s, aver. 125us
Total failed: 0 / 66,862 - Core ecc PASSED 2.98s
1.6. Core compression:
- In memory compression: 21 assertions passed 486.39ms
- GZIP format: 30 assertions passed 120.07ms
- ZIP format: 880 assertions passed 1.58s
- SynLZ: 15,025 assertions passed 92.28ms
- TAlgoCompress: 1,218 assertions passed 1.69s
TAlgoSynLZ 3.8 MB->1.9 MB: comp 281.5MB/s decomp 405.3MB/s
TAlgoRleLZ 3.8 MB->1.9 MB: comp 166.4MB/s decomp 398MB/s
TAlgoRle 3.8 MB->3.7 MB: comp 373.3MB/s decomp 4.5GB/s
TAlgoLizard 3.8 MB->1.8 MB: comp 23.5MB/s decomp 547.3MB/s
TAlgoLizardFast 3.8 MB->2.1 MB: comp 90.3MB/s decomp 586.1MB/s
TAlgoLizardHuffman 3.8 MB->1.7 MB: comp 5.4MB/s decomp 391.3MB/s
TAlgoDeflate 3.8 MB->1.4 MB: comp 24.6MB/s decomp 202.6MB/s
TAlgoDeflateFast 3.8 MB->1.5 MB: comp 34.3MB/s decomp 182.8MB/s
Total failed: 0 / 17,174 - Core compression PASSED 3.98s
1.7. Network protocols:
- Rtsp over http: 1,900 assertions passed 284.13ms
- Rtsp over http buffered write: 1,900 assertions passed 249.51ms
Total failed: 0 / 3,800 - Network protocols PASSED 533.72ms
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 1.19ms
- TOrmSigned: 200 assertions passed 1.57ms
- TOrmModel: 49 assertions passed 332us
- TRestServerFullMemory: 1,370,749 assertions passed 3.49s
Total failed: 0 / 1,371,091 - Orm core PASSED 3.50s
2.2. Sqlite file:
- Database direct access: 22,291 assertions passed 92.90ms
- Virtual table direct access: 12 assertions passed 1.82ms
- TOrmTableJson: 149,089 assertions passed 121.59ms
- TRestClientDB: 608,198 assertions passed 2.35s
- Regexp function: 6,015 assertions passed 17.97ms
- TRecordVersion: 20,060 assertions passed 187.75ms
Total failed: 0 / 805,665 - Sqlite file PASSED 2.78s
2.3. Sqlite file WAL:
- Database direct access: 22,291 assertions passed 89.48ms
- Virtual table direct access: 12 assertions passed 1.23ms
- TOrmTableJson: 149,089 assertions passed 120.60ms
- TRestClientDB: 608,198 assertions passed 2.36s
- Regexp function: 6,015 assertions passed 18ms
- TRecordVersion: 20,060 assertions passed 194.29ms
Total failed: 0 / 805,665 - Sqlite file WAL PASSED 2.78s
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 83.25ms
- Virtual table direct access: 12 assertions passed 568us
- TOrmTableJson: 149,089 assertions passed 120.90ms
- TRestClientDB: 608,196 assertions passed 2.35s
- Regexp function: 6,015 assertions passed 18.15ms
- TRecordVersion: 20,060 assertions passed 187.43ms
Total failed: 0 / 805,643 - Sqlite file memory map PASSED 2.76s
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 77.88ms
- Virtual table direct access: 12 assertions passed 1.25ms
- TOrmTableJson: 149,089 assertions passed 121.52ms
- TRestClientDB: 676,505 assertions passed 3.39s
- Regexp function: 6,015 assertions passed 17.94ms
- TRecordVersion: 20,060 assertions passed 187.95ms
- TOrmTableWritable: 24,086 assertions passed 14.55ms
- RTree: 280,024 assertions passed 2.20s
10000 With RTree in 1.10s i.e. 8.8K/s, aver. 110us
10000 With RTreeInteger in 1.08s i.e. 9K/s, aver. 108us
- Shard write: 10,602 assertions passed 494.71ms
- Shard read: 140,001 assertions passed 336.40ms
- Shard read after purge: 114,003 assertions passed 268.67ms
- MaxShardCount: 144,002 assertions passed 385.36ms
Total failed: 0 / 1,586,670 - Sqlite memory PASSED 7.49s
2.6. External database:
- SynDBRemote: 28,471 assertions passed 177.83ms
- DB properties persistence: 7 assertions passed 212us
- External records: 2 assertions passed 917us
- Auto adapt SQL: 1,041 assertions passed 10.07ms
- Crypted database: 253,277 assertions passed 234.75ms
- External via REST: 170,355 assertions passed 2.46s
- External via virtual table: 170,355 assertions passed 2.11s
- External via REST with change tracking: 180,455 assertions passed 3.41s
Total failed: 0 / 803,963 - External database PASSED 8.42s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 5.35ms
using THttpAsyncServer Ubuntu 5.13.0 epoll
- TRestHttpClient: 4 assertions passed 8.92ms
using TRestHttpClientSocket
- HTTP client keep alive: 4,088 assertions passed 168.21ms
4.7 KB, first 1.59ms, done 159.74ms i.e. 6259/s, aver. 159us, 28.7 MB/s
- HTTP client multi connect: 4,088 assertions passed 182.86ms
4.7 KB, first 261us, done 175.15ms i.e. 5709/s, aver. 175us, 26.2 MB/s
- HTTP client encrypted: 4,088 assertions passed 193.70ms
4.7 KB, first 237us, done 185.88ms i.e. 5379/s, aver. 185us, 24.7 MB/s
- Direct in process access: 4,057 assertions passed 40.64ms
4.7 KB, first 78us, done 37.75ms i.e. 26487/s, aver. 37us, 121.8 MB/s
- HTTP several DB servers: 12,607 assertions passed 976.68ms
4.7 KB, first 497us, done 135.26ms i.e. 7392/s, aver. 135us, 34 MB/s
4.7 KB, first 324us, done 130.79ms i.e. 7645/s, aver. 130us, 35.1 MB/s
4.7 KB, first 313us, done 132.02ms i.e. 7574/s, aver. 132us, 34.8 MB/s
Total failed: 0 / 28,934 - Client server access PASSED 1.67s
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 3.81ms
- TRestServerDB: 8,418 assertions passed 225.11ms
1=42097/s 2=19360/s 5=23736/s 10=19614/s 30=15120/s 50=13203/s
- TRestClientDB: 8,422 assertions passed 154.46ms
1=31514/s 2=27616/s 5=29934/s 10=31000/s 30=27912/s 50=22772/s
- TCP sockets: 8,419 assertions passed 530.90ms
1=6509/s 2=9474/s 5=8978/s 10=13344/s 30=13827/s 50=12125/s
- Unix domain sockets: 8,422 assertions passed 565.14ms
1=7565/s 2=13071/s 5=12675/s 10=15166/s 30=17315/s 50=10517/s
- Websockets: 8,422 assertions passed 707.10ms
1=5551/s 2=9866/s 5=8461/s 10=8313/s 30=7470/s 50=5151/s
- Locked: 8,421 assertions passed 149.56ms
1=30028/s 2=30283/s 5=31538/s 10=30313/s 30=27511/s 50=25745/s
- Unlocked: 8,422 assertions passed 131.61ms
1=32332/s 2=31405/s 5=36086/s 10=36147/s 30=32154/s 50=31602/s
- Main thread: 8,421 assertions passed 160.97ms
1=21053/s 2=20574/s 5=33409/s 10=29491/s 30=33400/s 50=30240/s
- Background thread: 8,422 assertions passed 212.25ms
1=17493/s 2=20577/s 5=25328/s 10=23542/s 30=22246/s 50=15813/s
MaxThreads=50 MaxClients=50 TotalOps=18720 TotalClients=882
Total failed: 0 / 75,790 - Multi thread process PASSED 2.90s
3. SOA
3.1. Service oriented architecture:
- Weak interfaces: 56 assertions passed 607us
- Service initialization: 268 assertions passed 5.79ms
- Direct call: 1,379,310 assertions passed 119.29ms
- Server side: 1,379,330 assertions passed 117ms
- Client side REST: 1,839,107 assertions passed 2.07s
- Client side REST as json object: 1,839,101 assertions passed 2.17s
- Client side REST sessions stats: 1,839,101 assertions passed 2.16s
- Client side REST locked: 1,839,105 assertions passed 2.06s
- Client side REST main thread: 1,839,105 assertions passed 3.95s
- Client side REST background thread: 1,839,105 assertions passed 3.98s
- Client side REST sign with crc 32c: 1,839,101 assertions passed 2.07s
- Client side REST sign with xxhash: 1,839,101 assertions passed 2.07s
- Client side REST sign with md 5: 1,839,101 assertions passed 2.10s
- Client side REST sign with sha 256: 1,839,101 assertions passed 2.10s
- Client side REST sign with sha 512: 1,839,101 assertions passed 2.18s
- Client side REST weak authentication: 1,839,101 assertions passed 1.79s
- Client side REST basic authentication: 1,839,101 assertions passed 3.08s
- Client side REST custom record layout: 1,839,101 assertions passed 2.25s
- Client side REST service log to DB: 1,839,101 assertions passed 2.48s
- Client side json RPC: 1,839,101 assertions passed 2.53s
- Test over HTTP: 17,769 assertions passed 585.95ms
- Security: 139 assertions passed 3.84ms
- Mocks and stubs: 30,030 assertions passed 184.07ms
Total failed: 0 / 32,232,536 - Service oriented architecture PASSED 40.16s
3.2. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 38.03ms
- Run http server: 2 assertions passed 5.37ms
- Soa callback on server side: 4,580 assertions passed 14.51ms
- Soa callback via json websockets: 6,898 assertions passed 291.35ms
- Soa callback via binary websockets: 6,898 assertions passed 304.46ms
- Relay start: 4 assertions passed 7.52ms
- Relay soa callback via json websockets: 6,899 assertions passed 623.52ms
- Relay connection recreate: 1 assertion passed 3.22ms
- Relay soa callback via binary websockets: 6,899 assertions passed 754.91ms
- Relay shutdown: 2 assertions passed 116.51ms
- TRecordVersion: 20,068 assertions passed 218.47ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 2.48s
Ubuntu 20.04.4 LTS - Linux 5.13.0-1025-oracle (cp utf8)
2 x ARM Neoverse-N1 (aarch64)
on QEMU KVM Virtual Machine virt-4.2
Using mORMot 2.0.220
TSqlite3LibraryStatic 3.38.2 with internal MM
Generated with: Free Pascal 3.2.3 64 bit Linux compiler
Time elapsed for all tests: 1m55
Performed 2022-04-19 21:25:49 by scott on my-vm
Total assertions failed for all test suits: 0 / 71,400,626
! All tests passed successfully.
Heap dump by heaptrc unit of /home/scott/fpcupd/ccr/mORMot2/test/fpc/bin/aarch64-linux/mormot2tests
61247642 memory blocks allocated : 17428849010/17574290448
61247642 memory blocks freed : 17428849010/17574290448
0 unfreed memory blocks : 0
True heap size : 360448
True free heap : 360448
Offline
was built for newer macOS version (11.0) than being linked (10.8)
Please have a look at your fpc.cfg. Fpcupdeluxe might have added a -WM define (somewhere at the bottom of the cfg). You might try to remove it and build the mORMot again. I do not know if it will improve anything, but its worth the try.
Offline
Yep, there was a -WM10.8 directive there, I commented it out and rebuilt mORMot2, then rebuilt the mormot2tests app. That got rid of the warmings, thank you! It did not, however, get rid of the segfault just after RandomBytes in CoreUnits > CoreBase.
Good information though, I'm learning by leaps and bounds. Eventually I may even catch up to where I was 30 years ago when I was using Turbo Pascal on DOS and Think Pascal on the Mac.
Offline
For M1 Darwin, try to enable the debug information, to see if the exception has a stack trace logged.
For aarch64-linux, could you post the numbers with no heaptrc memory manager, i.e. in release mode, and -O2 or -O3 optimization level?
Online
I think I got it right - turned off debug info, turned off heap trace info, turned on -O2 optimization, then did a 'clean and build all' and re-ran the test. Significantly faster.
~/fpcupd/ccr/mORMot2/test/fpc/bin/aarch64-linux$ ./mormot2tests
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 421us
- TRawUtf8List: 190,174 assertions passed 73.08ms
- TDynArray: 1,091,805 assertions passed 196.16ms
- TDynArrayHashed: 1,599,070 assertions passed 837.31ms
- TSynDictionary: 283,050 assertions passed 610.61ms
- TSynQueue: 6,541,501 assertions passed 261.19ms
- TSynNameValue: 40,032 assertions passed 9.68ms
- TRawUtf8Interning: 2,000,013 assertions passed 139.21ms
500000 interning 16 KB in 33.62ms i.e. 14.1M/s, aver. 67ns, 453.8 MB/s
500000 direct 15.2 MB in 25.98ms i.e. 18.3M/s, aver. 51ns, 587.2 MB/s
- TObjArray: 3,230 assertions passed 2.55ms
- Custom RTL: 297,646 assertions passed 979.96ms
FillChar in 35.45ms, 10.9 GB/s
Move in 226.92ms, 1.3 GB/s
small Move in 100.05ms, 1 GB/s
big Move in 253.29ms, 1.5 GB/s
FillCharFast in 8.84ms, 43.9 GB/s
MoveFast in 18.40ms, 16.9 GB/s
small MoveFast in 24.63ms, 4.4 GB/s
big MoveFast in 35.86ms, 10.8 GB/s
- Fast string compare: 41 assertions passed 19us
- IdemPropName: 228 assertions passed 388us
- Url encoding: 167 assertions passed 1.24ms
- GUID: 10,019 assertions passed 4.74ms
- ParseCommandArguments: 232 assertions passed 29us
- IsMatch: 4,250 assertions passed 379us
- TExprParserMatch: 140 assertions passed 135us
- Soundex: 35 assertions passed 22us
- Numerical conversions: 2,543,241 assertions passed 363.11ms
100000 FloatToText in 48.72ms i.e. 1.9M/s, aver. 487ns, 37.2 MB/s
100000 str in 18.69ms i.e. 5.1M/s, aver. 186ns, 122.4 MB/s
100000 DoubleToShort in 12.47ms i.e. 7.6M/s, aver. 124ns, 160.6 MB/s
100000 DoubleToAscii in 11.61ms i.e. 8.2M/s, aver. 116ns, 174.1 MB/s
- Integers: 146,512 assertions passed 37.03ms
- crc32c: 310,089 assertions passed 74.33ms
pas 379.1 MB/s fast 842.2 MB/s armv8 12 GB/s
- Random32: 221,003 assertions passed 3.71ms
240000 Random32 in 3.11ms i.e. 73.4M/s, aver. 12ns, 293.8 MB/s
RandomBytes in 487us, 784 MB/s
- Bloom filters: 2,010,072 assertions passed 155.03ms
- DeltaCompress: 3,087 assertions passed 23.30ms
- Curr 64: 20,056 assertions passed 1.52ms
- CamelCase: 11 assertions passed 8us
- Bits: 15,567 assertions passed 25.77ms
- Ini files: 7,028 assertions passed 34.29ms
- UTF8: 1,386,141 assertions passed 971.08ms
- Url decoding: 1,301 assertions passed 159us
- Mime types: 450 assertions passed 1.38ms
- Baudot code: 10,007 assertions passed 34.24ms
- Iso 8601 date and time: 200,831 assertions passed 8.10ms
- Time zones: 459 assertions passed 200.86ms
- Quick select: 4,015 assertions passed 86.32ms
- TSynCache: 408 assertions passed 136us
- TSynFilter: 804 assertions passed 1.48ms
- TSynValidate: 677 assertions passed 444us
- TSynLogFile: 56 assertions passed 43us
- TSynUniqueIdentifier: 1,300,002 assertions passed 376.33ms
200000 ComputeNew in 5.29ms i.e. 36M/s, aver. 26ns
Total failed: 0 / 20,244,193 - Core base PASSED 5.51s
1.2. Core process:
- RTTI: 1,345 assertions passed 923us
- Url encoding: 300 assertions passed 457us
- Encode decode JSON: 431,991 assertions passed 111.93ms
- JSON benchmark: 100,519 assertions passed 1.84s
StrLen() in 1.41ms, 13.4 GB/s
IsValidUtf8(RawUtf8) in 11.76ms, 1.6 GB/s
IsValidUtf8(PUtf8Char) in 13.09ms, 1.4 GB/s
IsValidJson(RawUtf8) in 26.61ms, 736.6 MB/s
IsValidJson(PUtf8Char) in 27ms, 726 MB/s
JsonArrayCount(P) in 26.97ms i.e. 5.8M/s, 726.6 MB/s
JsonArrayCount(P,PMax) in 26.64ms i.e. 5.8M/s, 735.6 MB/s
JsonObjectPropCount() in 14.72ms, 770.8 MB/s
jsonUnquotedPropNameCompact in 74.95ms, 232.2 MB/s
jsonHumanReadable in 128.43ms, 194.1 MB/s
TDocVariant in 229.47ms i.e. 700.2K/s, 85.4 MB/s
TDocVariant no guess in 239.38ms i.e. 671.2K/s, 81.8 MB/s
TDocVariant dvoIntern in 224.71ms i.e. 715K/s, 87.2 MB/s
TOrmTableJson save in 31.46ms i.e. 4.9M/s, 273.9 MB/s
TOrmTableJson exp in 36.02ms i.e. 4.3M/s, 544.2 MB/s
TOrmTableJson not exp in 20.13ms i.e. 7.7M/s, 428.1 MB/s
TDocVariant FromResults exp in 98ms i.e. 1.6M/s, 200 MB/s
TDocVariant FromResults not exp in 84.25ms i.e. 1.8M/s, 102.3 MB/s
DynArrayLoadJson exp in 86.12ms i.e. 1.8M/s, 227.6 MB/s
DynArrayLoadJson non exp in 57.98ms i.e. 2.7M/s, 148.7 MB/s
TOrmPeopleObjArray exp in 139.63ms i.e. 1.1M/s, 140.3 MB/s
TOrmPeopleObjArray non exp in 91.86ms i.e. 1.7M/s, 93.8 MB/s
fpjson in 119.31ms i.e. 134.6K/s, 16.4 MB/s
- Wiki markdown to html: 56 assertions passed 64us
- Variants: 122 assertions passed 108us
- Mustache renderer: 166 assertions passed 1.06ms
- TDocVariant: 91,983 assertions passed 104.05ms
- TDecimal128: 17,446 assertions passed 1.72ms
- BSON: 245,070 assertions passed 4.10ms
100000 TBsonObjectID.ComputeNew in 3.57ms i.e. 26.7M/s, aver. 35ns
- TSelectStatement: 229 assertions passed 300us
- TSynMonitorUsage: 1,202 assertions passed 104us
Total failed: 0 / 890,429 - Core process PASSED 2.07s
1.3. Core collections:
- IList: 6,944,142 assertions passed 894.64ms
500000 IList<Byte> in 3.18ms i.e. 149.9M/s, aver. 6ns
500000 IList<Word> in 4.01ms i.e. 118.7M/s, aver. 8ns
500000 IList<Integer> in 4.33ms i.e. 109.9M/s, aver. 8ns
500000 IList<Cardinal> in 3.92ms i.e. 121.5M/s, aver. 7ns
500000 IList<Int64> in 5.02ms i.e. 94.8M/s, aver. 10ns
500000 IList<QWord> in 4.94ms i.e. 96.5M/s, aver. 9ns
500000 IList<Single> in 3.61ms i.e. 132M/s, aver. 7ns
500000 IList<Double> in 3.79ms i.e. 125.6M/s, aver. 7ns
500000 IList<TDateTime> in 3.75ms i.e. 126.9M/s, aver. 7ns
500000 IList<UTF8String> in 16.72ms i.e. 28.5M/s, aver. 33ns
500000 IList<UnicodeString> in 16.63ms i.e. 28.6M/s, aver. 33ns
500000 IList<Variant> in 23.81ms i.e. 20M/s, aver. 47ns
500000 IList<THash128> in 13.64ms i.e. 34.9M/s, aver. 27ns
500000 IList<TGuid> in 12.66ms i.e. 37.6M/s, aver. 25ns
- IKeyValue: 3,800,050 assertions passed 308.15ms
100000 integer,Int64 add in 9.96ms i.e. 9.5M/s, aver. 99ns
100000 integer,Int64 get in 3.69ms i.e. 25.7M/s, aver. 36ns
100000 RawUtf8,double add in 29.24ms i.e. 3.2M/s, aver. 292ns
100000 RawUtf8,double get in 11.33ms i.e. 8.4M/s, aver. 113ns
100000 integer,Int64 capa add in 8.49ms i.e. 11.2M/s, aver. 84ns
100000 integer,Int64 capa get in 4.62ms i.e. 20.6M/s, aver. 46ns
100000 RawUtf8,double capa add in 19.15ms i.e. 4.9M/s, aver. 191ns
100000 RawUtf8,double capa get in 7.77ms i.e. 12.2M/s, aver. 77ns
Total failed: 0 / 10,744,192 - Core collections PASSED 1.20s
1.4. Core crypto:
- MD5: 166 assertions passed 258us
- SHA1: 8 assertions passed 3.48ms
- SHA256: 20 assertions passed 17.90ms
- SHA512: 32 assertions passed 38.40ms
- SHA3: 8,225 assertions passed 38.75ms
- AES: 72,700 assertions passed 172.14ms
- AES_GCM: 215 assertions passed 70us
- RC4: 1,016 assertions passed 1.60ms
- Hashes: 21 assertions passed 316.37ms
- Base64: 26,064 assertions passed 275.65ms
encoding in 96.69ms, 1 GB/s
decoding in 135.58ms, 737.5 MB/s
- CompressShaAes: 1,683 assertions passed 2.24ms
- TAesPNRG: 362,626 assertions passed 253.34ms
100000 mORMot Random32 in 2.50ms i.e. 38M/s, aver. 25ns, 152 MB/s
mORMot FillRandom in 88us, 1 GB/s
100000 OpenSSL Random32 in 147.07ms i.e. 664K/s, aver. 1.47us, 2.5 MB/s
OpenSSL FillRandom in 117us, 815.1 MB/s
100000 Lecuyer Random32 in 1.34ms i.e. 71.1M/s, aver. 13ns, 284.6 MB/s
Lecuyer RandomBytes in 122us, 781.7 MB/s
- CryptDataForCurrentUser: 5,000 assertions passed 4.58ms
2000 AES-CFB in 4.46ms i.e. 437.8K/s, aver. 2.23us, 233.7 MB/s
- JWT: 164,916 assertions passed 1.66s
1000 HS256 in 1.03ms i.e. 0.9M/s, aver. 1.03us
1000 HS384 in 2.71ms i.e. 359.8K/s, aver. 2.71us
1000 HS512 in 2.75ms i.e. 354.9K/s, aver. 2.75us
1000 S3224 in 1.65ms i.e. 589.7K/s, aver. 1.65us
1000 S3256 in 1.66ms i.e. 585.4K/s, aver. 1.66us
1000 S3384 in 1.68ms i.e. 580.2K/s, aver. 1.68us
1000 S3512 in 1.68ms i.e. 578.8K/s, aver. 1.68us
1000 S3S128 in 1.67ms i.e. 583.3K/s, aver. 1.67us
1000 S3S256 in 1.69ms i.e. 576.1K/s, aver. 1.69us
100 ES256 in 15.93ms i.e. 6.1K/s, aver. 159us
100 RS256 in 8.08ms i.e. 12K/s, aver. 80us
100 RS384 in 8.11ms i.e. 12K/s, aver. 81us
100 RS512 in 8.10ms i.e. 12K/s, aver. 81us
100 PS256 in 8.15ms i.e. 11.9K/s, aver. 81us
100 PS384 in 8.32ms i.e. 11.7K/s, aver. 83us
100 PS512 in 8.27ms i.e. 11.8K/s, aver. 82us
100 ES256 in 15.43ms i.e. 6.3K/s, aver. 154us
100 ES384 in 144.24ms i.e. 693/s, aver. 1.44ms
100 ES512 in 378.24ms i.e. 264/s, aver. 3.78ms
100 ES256K in 56.62ms i.e. 1.7K/s, aver. 566us
100 EdDSA in 12.46ms i.e. 7.8K/s, aver. 124us
- TBinaryCookieGenerator: 82,944 assertions passed 10.42ms
16384 generate in 3.78ms i.e. 4.1M/s, aver. 230ns
16384 validate in 1.78ms i.e. 8.7M/s, aver. 109ns
- Catalog: 3,346 assertions passed 2.97s
- Benchmark: 107,500 assertions passed 508.14ms
2500 crc32c in 261us i.e. 9.1M/s or 19.9 GB/s
2500 xxhash32 in 1.46ms i.e. 1.6M/s or 3.5 GB/s
2500 crc32 in 259us i.e. 9.2M/s or 20 GB/s
2500 adler32 in 468us i.e. 5M/s or 11.1 GB/s
2500 hash32 in 610us i.e. 3.9M/s or 8.5 GB/s
2500 md5 in 12.59ms i.e. 193.9K/s or 422.5 MB/s
2500 sha1 in 21.80ms i.e. 111.9K/s or 244 MB/s
2500 hmacsha1 in 24.48ms i.e. 99.7K/s or 217.3 MB/s
2500 sha256 in 3.45ms i.e. 705.8K/s or 1.5 GB/s
2500 hmacsha256 in 4.12ms i.e. 591.7K/s or 1.2 GB/s
2500 sha384 in 27.80ms i.e. 87.7K/s or 191.3 MB/s
2500 hmacsha384 in 32.76ms i.e. 74.5K/s or 162.4 MB/s
2500 sha512 in 27.80ms i.e. 87.8K/s or 191.3 MB/s
2500 hmacsha512 in 32.77ms i.e. 74.4K/s or 162.3 MB/s
2500 sha3_256 in 35.97ms i.e. 67.8K/s or 147.9 MB/s
2500 sha3_512 in 65.62ms i.e. 37.2K/s or 81 MB/s
2500 rc4 in 13ms i.e. 187.7K/s or 409.2 MB/s
2500 mormot aes-128-cfb in 8.51ms i.e. 286.5K/s or 624.5 MB/s
2500 mormot aes-128-ofb in 3.79ms i.e. 643.3K/s or 1.3 GB/s
2500 mormot aes-128-c64 in 4.35ms i.e. 560.3K/s or 1.1 GB/s
2500 mormot aes-128-ctr in 4.49ms i.e. 543K/s or 1.1 GB/s
2500 mormot aes-128-cfc in 9.34ms i.e. 261.3K/s or 569.5 MB/s
2500 mormot aes-128-ofc in 5.34ms i.e. 456.8K/s or 0.9 GB/s
2500 mormot aes-128-ctc in 5.77ms i.e. 423.1K/s or 0.9 GB/s
2500 mormot aes-128-gcm in 7.38ms i.e. 330.5K/s or 720.4 MB/s
2500 mormot aes-256-cfb in 9.12ms i.e. 267.6K/s or 583.3 MB/s
2500 mormot aes-256-ofb in 5.61ms i.e. 435.1K/s or 0.9 GB/s
2500 mormot aes-256-c64 in 5.39ms i.e. 452.3K/s or 0.9 GB/s
2500 mormot aes-256-ctr in 5.38ms i.e. 453.7K/s or 0.9 GB/s
2500 mormot aes-256-cfc in 10.14ms i.e. 240.5K/s or 524.2 MB/s
2500 mormot aes-256-ofc in 5.99ms i.e. 407.1K/s or 887.2 MB/s
2500 mormot aes-256-ctc in 6.62ms i.e. 368.4K/s or 802.9 MB/s
2500 mormot aes-256-gcm in 8.37ms i.e. 291.5K/s or 635.3 MB/s
2500 openssl aes-128-cfb in 4.94ms i.e. 493.6K/s or 1 GB/s
2500 openssl aes-128-ofb in 4.17ms i.e. 584.3K/s or 1.2 GB/s
2500 openssl aes-128-ctr in 1.96ms i.e. 1.2M/s or 2.6 GB/s
2500 openssl aes-128-gcm in 3.21ms i.e. 760.3K/s or 1.6 GB/s
2500 openssl aes-256-cfb in 5.87ms i.e. 415.2K/s or 905 MB/s
2500 openssl aes-256-ofb in 5.37ms i.e. 454.3K/s or 0.9 GB/s
2500 openssl aes-256-ctr in 2.42ms i.e. 0.9M/s or 2.1 GB/s
2500 openssl aes-256-gcm in 3.68ms i.e. 662.8K/s or 1.4 GB/s
2500 shake128 in 29.77ms i.e. 82K/s or 178.7 MB/s
2500 shake256 in 35.35ms i.e. 69K/s or 150.5 MB/s
Total failed: 0 / 836,482 - Core crypto PASSED 6.28s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 9.58ms
- ECC: 2,104 assertions passed 861.28ms
300 Ecc256r1MakeKey in 8.62ms i.e. 33.9K/s, aver. 28us
300 Ecc256r1Uncompress in 40.90ms i.e. 7.1K/s, aver. 136us
300 Ecc256r1Sign in 14.10ms i.e. 20.7K/s, aver. 47us
300 Ecc256r1Verify in 56.91ms i.e. 5.1K/s, aver. 189us
300 Ecc256r1VerifyUncomp in 641.77ms i.e. 467/s, aver. 2.13ms
598 Ecc256r1SharedSecret in 90.60ms i.e. 6.4K/s, aver. 151us
- Certificates and signatures: 106 assertions passed 7.06ms
- Ecc command line tool: 704 assertions passed 77.80ms
- ECDHE stream protocol: 63,393 assertions passed 655ms
100 efAesCrc128 in 4.85ms i.e. 20.1K/s, aver. 48us, 525.1 MB/s
100 efAesCfb128 in 2.40ms i.e. 40.6K/s, aver. 24us, 1 GB/s
100 efAesOfb128 in 2.40ms i.e. 40.6K/s, aver. 24us, 1 GB/s
100 efAesCtr128 in 1.24ms i.e. 78.6K/s, aver. 12us, 2 GB/s
100 efAesCbc128 in 1.50ms i.e. 64.8K/s, aver. 15us, 1.6 GB/s
100 efAesCrc256 in 5.33ms i.e. 18.3K/s, aver. 53us, 477.7 MB/s
100 efAesCfb256 in 2.77ms i.e. 35.2K/s, aver. 27us, 918.7 MB/s
100 efAesOfb256 in 2.91ms i.e. 33.4K/s, aver. 29us, 872.8 MB/s
100 efAesCtr256 in 1.49ms i.e. 65.4K/s, aver. 14us, 1.6 GB/s
100 efAesCbc256 in 1.83ms i.e. 53.2K/s, aver. 18us, 1.3 GB/s
100 efAesGcm128 in 1.52ms i.e. 64.1K/s, aver. 15us, 1.6 GB/s
100 efAesGcm256 in 1.76ms i.e. 55.4K/s, aver. 17us, 1.4 GB/s
100 efAesCtc128 in 2.89ms i.e. 33.7K/s, aver. 28us, 880.9 MB/s
100 efAesCtc256 in 3.27ms i.e. 29.8K/s, aver. 32us, 777.1 MB/s
- OpenSSL: 532 assertions passed 1.07s
3 RSA 2048 Generation in 297.66ms i.e. 10/s, aver. 99.22ms
30 RSA 2048 Sign in 109.02ms i.e. 275/s, aver. 3.63ms
30 RSA 2048 Verify in 2.90ms i.e. 10K/s, aver. 96us
3 RSA-PSS 2048 Generation in 493.14ms i.e. 6/s, aver. 164.38ms
30 RSA-PSS 2048 Sign in 108.89ms i.e. 275/s, aver. 3.62ms
30 RSA-PSS 2048 Verify in 2.91ms i.e. 10K/s, aver. 97us
100 prime256v1 Generation in 8.16ms i.e. 11.9K/s, aver. 81us
100 prime256v1 Sign in 6.87ms i.e. 14.2K/s, aver. 68us
100 prime256v1 Verify in 17.41ms i.e. 5.6K/s, aver. 174us
100 ed25519 Generation in 5.55ms i.e. 17.5K/s, aver. 55us
100 ed25519 Sign in 10.06ms i.e. 9.7K/s, aver. 100us
100 ed25519 Verify in 12.64ms i.e. 7.7K/s, aver. 126us
Total failed: 0 / 66,862 - Core ecc PASSED 2.68s
1.6. Core compression:
- In memory compression: 21 assertions passed 437.17ms
- GZIP format: 30 assertions passed 114.27ms
- ZIP format: 880 assertions passed 1.50s
- SynLZ: 14,967 assertions passed 75.04ms
- TAlgoCompress: 1,218 assertions passed 603.67ms
TAlgoSynLZ 3.8 MB->1.9 MB: comp 292.3MB/s decomp 434.4MB/s
TAlgoRleLZ 3.8 MB->1.9 MB: comp 167MB/s decomp 418.8MB/s
TAlgoRle 3.8 MB->3.7 MB: comp 385.1MB/s decomp 6.2GB/s
TAlgoLizard 3.8 MB->1.8 MB: comp 23MB/s decomp 0.9GB/s
TAlgoLizardFast 3.8 MB->2.1 MB: comp 191.6MB/s decomp 1.3GB/s
TAlgoLizardHuffman 3.8 MB->1.7 MB: comp 97.6MB/s decomp 632.8MB/s
TAlgoDeflate 3.8 MB->1.4 MB: comp 29.4MB/s decomp 208.2MB/s
TAlgoDeflateFast 3.8 MB->1.5 MB: comp 47.6MB/s decomp 187.9MB/s
Total failed: 0 / 17,116 - Core compression PASSED 2.73s
1.7. Network protocols:
- Rtsp over http: 1,900 assertions passed 273.98ms
- Rtsp over http buffered write: 1,900 assertions passed 248.04ms
Total failed: 0 / 3,800 - Network protocols PASSED 522.04ms
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 499us
- TOrmSigned: 200 assertions passed 774us
- TOrmModel: 49 assertions passed 32us
- TRestServerFullMemory: 1,370,749 assertions passed 974.90ms
Total failed: 0 / 1,371,091 - Orm core PASSED 976.23ms
2.2. Sqlite file:
- Database direct access: 22,291 assertions passed 68.65ms
- Virtual table direct access: 12 assertions passed 658us
- TOrmTableJson: 149,089 assertions passed 59.57ms
- TRestClientDB: 608,198 assertions passed 596.30ms
- Regexp function: 6,015 assertions passed 10.69ms
- TRecordVersion: 20,060 assertions passed 44.61ms
Total failed: 0 / 805,665 - Sqlite file PASSED 780.53ms
2.3. Sqlite file WAL:
- Database direct access: 22,291 assertions passed 66.78ms
- Virtual table direct access: 12 assertions passed 356us
- TOrmTableJson: 149,089 assertions passed 59.18ms
- TRestClientDB: 608,198 assertions passed 607.94ms
- Regexp function: 6,015 assertions passed 10.83ms
- TRecordVersion: 20,060 assertions passed 44.13ms
Total failed: 0 / 805,665 - Sqlite file WAL PASSED 789.28ms
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 57.08ms
- Virtual table direct access: 12 assertions passed 430us
- TOrmTableJson: 149,089 assertions passed 58.62ms
- TRestClientDB: 608,196 assertions passed 590.46ms
- Regexp function: 6,015 assertions passed 10.83ms
- TRecordVersion: 20,060 assertions passed 43.93ms
Total failed: 0 / 805,643 - Sqlite file memory map PASSED 761.40ms
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 55.40ms
- Virtual table direct access: 12 assertions passed 311us
- TOrmTableJson: 149,089 assertions passed 58.18ms
- TRestClientDB: 676,505 assertions passed 945.34ms
- Regexp function: 6,015 assertions passed 10.75ms
- TRecordVersion: 20,060 assertions passed 43.84ms
- TOrmTableWritable: 24,086 assertions passed 5.26ms
- RTree: 280,024 assertions passed 738.63ms
10000 With RTree in 380.74ms i.e. 25.6K/s, aver. 38us
10000 With RTreeInteger in 355.35ms i.e. 27.4K/s, aver. 35us
- Shard write: 10,602 assertions passed 98.55ms
- Shard read: 140,001 assertions passed 115.23ms
- Shard read after purge: 114,003 assertions passed 92.57ms
- MaxShardCount: 144,002 assertions passed 118.03ms
Total failed: 0 / 1,586,670 - Sqlite memory PASSED 2.28s
2.6. External database:
- SynDBRemote: 28,471 assertions passed 124.34ms
- DB properties persistence: 7 assertions passed 173us
- External records: 2 assertions passed 389us
- Auto adapt SQL: 1,041 assertions passed 1.69ms
- Crypted database: 253,277 assertions passed 75.28ms
- External via REST: 170,355 assertions passed 550.58ms
- External via virtual table: 170,355 assertions passed 777.26ms
- External via REST with change tracking: 180,455 assertions passed 1.50s
Total failed: 0 / 803,963 - External database PASSED 3.03s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 5.56ms
using THttpAsyncServer Ubuntu 5.13.0 epoll
- TRestHttpClient: 4 assertions passed 8.63ms
using TRestHttpClientSocket
- HTTP client keep alive: 4,088 assertions passed 197.08ms
4.7 KB, first 1.23ms, done 192.13ms i.e. 5204/s, aver. 192us, 23.9 MB/s
- HTTP client multi connect: 4,088 assertions passed 246.91ms
4.7 KB, first 398us, done 240.39ms i.e. 4159/s, aver. 240us, 19.1 MB/s
- HTTP client encrypted: 4,088 assertions passed 196.04ms
4.7 KB, first 206us, done 191.76ms i.e. 5214/s, aver. 191us, 23.9 MB/s
- Direct in process access: 4,057 assertions passed 26.54ms
4.7 KB, first 32us, done 18.44ms i.e. 54209/s, aver. 18us, 249.3 MB/s
- HTTP several DB servers: 12,607 assertions passed 715.24ms
4.7 KB, first 217us, done 88.99ms i.e. 11236/s, aver. 88us, 51.6 MB/s
4.7 KB, first 318us, done 89.50ms i.e. 11172/s, aver. 89us, 51.3 MB/s
4.7 KB, first 329us, done 92.99ms i.e. 10753/s, aver. 92us, 49.4 MB/s
Total failed: 0 / 28,934 - Client server access PASSED 1.59s
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 5.66ms
- TRestServerDB: 8,422 assertions passed 93.44ms
1=83125/s 2=70351/s 5=66533/s 10=44469/s 30=27372/s 50=35391/s
- TRestClientDB: 8,419 assertions passed 99.49ms
1=71312/s 2=66187/s 5=59854/s 10=41344/s 30=28218/s 50=31374/s
- TCP sockets: 8,418 assertions passed 539.20ms
1=9575/s 2=13404/s 5=12488/s 10=14278/s 30=15074/s 50=12921/s
- Unix domain sockets: 8,422 assertions passed 558.92ms
1=12091/s 2=18014/s 5=17565/s 10=18069/s 30=20142/s 50=17927/s
- Websockets: 8,420 assertions passed 606.97ms
1=6437/s 2=12218/s 5=10449/s 10=11433/s 30=8109/s 50=6013/s
- Locked: 8,422 assertions passed 95.56ms
1=60469/s 2=56044/s 5=62578/s 10=43467/s 30=34545/s 50=33977/s
- Unlocked: 8,422 assertions passed 113.01ms
1=65207/s 2=46651/s 5=52344/s 10=36015/s 30=25569/s 50=29441/s
- Main thread: 8,419 assertions passed 103.99ms
1=38299/s 2=39319/s 5=51828/s 10=39275/s 30=46923/s 50=38199/s
- Background thread: 8,418 assertions passed 156.95ms
1=38680/s 2=28487/s 5=36538/s 10=31245/s 30=24652/s 50=17158/s
MaxThreads=50 MaxClients=50 TotalOps=18720 TotalClients=882
Total failed: 0 / 75,783 - Multi thread process PASSED 2.53s
3. SOA
3.1. Service oriented architecture:
- Weak interfaces: 56 assertions passed 249us
- Service initialization: 268 assertions passed 2.07ms
- Direct call: 1,379,310 assertions passed 24.11ms
- Server side: 1,379,330 assertions passed 28.62ms
- Client side REST: 1,839,107 assertions passed 500.62ms
- Client side REST as json object: 1,839,101 assertions passed 521.04ms
- Client side REST sessions stats: 1,839,101 assertions passed 584.09ms
- Client side REST locked: 1,839,105 assertions passed 1.12s
- Client side REST main thread: 1,839,105 assertions passed 2.84s
- Client side REST background thread: 1,839,105 assertions passed 2.35s
- Client side REST sign with crc 32c: 1,839,101 assertions passed 496.59ms
- Client side REST sign with xxhash: 1,839,101 assertions passed 492.96ms
- Client side REST sign with md 5: 1,839,101 assertions passed 524.49ms
- Client side REST sign with sha 256: 1,839,101 assertions passed 514.98ms
- Client side REST sign with sha 512: 1,839,101 assertions passed 602.31ms
- Client side REST weak authentication: 1,839,101 assertions passed 467.73ms
- Client side REST basic authentication: 1,839,101 assertions passed 645.72ms
- Client side REST custom record layout: 1,839,101 assertions passed 511.72ms
- Client side REST service log to DB: 1,839,101 assertions passed 661.20ms
- Client side json RPC: 1,839,101 assertions passed 596.03ms
- Test over HTTP: 17,769 assertions passed 577.65ms
- Security: 139 assertions passed 1.27ms
- Mocks and stubs: 30,030 assertions passed 32.69ms
Total failed: 0 / 32,232,536 - Service oriented architecture PASSED 14.11s
3.2. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 6.52ms
- Run http server: 2 assertions passed 5.38ms
- Soa callback on server side: 4,580 assertions passed 1.79ms
- Soa callback via json websockets: 6,898 assertions passed 217.26ms
- Soa callback via binary websockets: 6,898 assertions passed 212.16ms
- Relay start: 4 assertions passed 6.54ms
- Relay soa callback via json websockets: 6,899 assertions passed 512.03ms
- Relay connection recreate: 1 assertion passed 3.11ms
- Relay soa callback via binary websockets: 6,899 assertions passed 708.77ms
- Relay shutdown: 2 assertions passed 126.39ms
- TRecordVersion: 20,068 assertions passed 73.38ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 1.97s
Ubuntu 20.04.4 LTS - Linux 5.13.0-1025-oracle (cp utf8)
2 x ARM Neoverse-N1 (aarch64)
on QEMU KVM Virtual Machine virt-4.2
Using mORMot 2.0.220
TSqlite3LibraryStatic 3.38.2 with internal MM
Generated with: Free Pascal 3.2.3 64 bit Linux compiler
Time elapsed for all tests: 49.87s
Performed 2022-04-20 15:09:00 by scott on my-vm
Total assertions failed for all test suits: 0 / 71,401,275
! All tests passed successfully.
Some individual tests are oddly slower, like the FillChar which seems twice as SLOW, but overall the entire suite of tests ran in less than half the time - I think we'll find that our test results are not 100% repeatable due to the fact that it's on a multi-tenant host even though the Ampere CPU is supposedly giving dedicated caches at each level for each core rather than sharing across to L3 across multiple cores. IO access is still shared regardless of CPU sharing or lack of it. Also, KVM is likely NOT pinning a VM to a particular set of cores, so there's contention there as well.
EDIT: I rebuilt it using actual "Release" build options and it made NO change - still exactly 49.87 seconds to complete.
Last edited by sstillwell (2022-04-20 18:55:42)
Offline
I'm working on getting the updated results for M1.
Offline
I must be missing something...I can't get it to go into debug even with a source breakpoint set. All I ever get is the segfault message in the same place each time. My breakpoint is set at the very first executed line of
TIntegrationTests.RunAsConsole('mORMot2 Regression Tests',
//LOG_VERBOSE,
LOG_FILTER[lfExceptions],
[], Executable.ProgramFilePath + 'data');
I've gone into Project Options and to the ellipses '...' next to the build mode and done the "Create Debug and Release" and chosen Debug, then done a Clean and Build all...it makes no difference. Debug info is set to Dwarf3 (beta) by default in the Debug mode...is that a problem?
The data subdirectory is empty after the segfault, so there's no text log or anything that I can find.
Any other ideas?
Last edited by sstillwell (2022-04-20 16:17:22)
Offline
Okay, I found the wiki article about configuring the lldb debugger, so now I can see where it's failing on macOS...
Process 6250 stopped
* thread #1: tid=0xa16d4e: 0x0000000100007f90, 0x000000016f604000, 0x000000016f604000 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME, stop reason = EXC_BAD_ACCESS (code=2, address=0x16f603ff0)
frame #0: 0x0000000100007f90, 0x000000016f604000, 0x000000016f604000 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME
>> frame variable -P 1 -D 5
>> version
Target 0: (mormot2tests) stopped.
(lldb) frame variable -P 1 -D 5
(lldb) version
>> thread backtrace -c 10
>> version
lldb-1205.0.27.3
Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
(lldb) thread backtrace -c 10
* thread #1: tid=0xa16d4e: 0x0000000100007f90, 0x000000016f604000, 0x000000016f604000 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME, stop reason = EXC_BAD_ACCESS (code=2, address=0x16f603ff0)
* frame #0: 0x0000000100007f90, 0x000000016f604000, 0x000000016f604000 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME
frame #1: 0x00000001002c1d5c, 0x000000016f604000, 0x000000016f604000 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/lib/mormot.lib.static.pas &&//SHORT: mormot.lib.static.pas &&//LINE: 751 &&//MOD: mormot2tests &&//FUNC: l0g(x=<unavailable>) <<&&//FRAME
frame #2: 0x0000000100007f9c, 0x000000016f604010, 0x000000016f604010 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME
frame #3: 0x00000001002c1d5c, 0x000000016f604020, 0x000000016f604020 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/lib/mormot.lib.static.pas &&//SHORT: mormot.lib.static.pas &&//LINE: 751 &&//MOD: mormot2tests &&//FUNC: l0g(x=<unavailable>) <<&&//FRAME
frame #4: 0x0000000100007f9c, 0x000000016f604030, 0x000000016f604030 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME
frame #5: 0x00000001002c1d5c, 0x000000016f604040, 0x000000016f604040 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/lib/mormot.lib.static.pas &&//SHORT: mormot.lib.static.pas &&//LINE: 751 &&//MOD: mormot2tests &&//FUNC: l0g(x=<unavailable>) <<&&//FRAME
frame #6: 0x0000000100007f9c, 0x000000016f604050, 0x000000016f604050 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME
frame #7: 0x00000001002c1d5c, 0x000000016f604060, 0x000000016f604060 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/lib/mormot.lib.static.pas &&//SHORT: mormot.lib.static.pas &&//LINE: 751 &&//MOD: mormot2tests &&//FUNC: l0g(x=<unavailable>) <<&&//FRAME
frame #8: 0x0000000100007f9c, 0x000000016f604070, 0x000000016f604070 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: fpc_ln_real <<&&//FRAME
frame #9: 0x00000001002c1d5c, 0x000000016f604080, 0x000000016f604080 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/lib/mormot.lib.static.pas &&//SHORT: mormot.lib.static.pas &&//LINE: 751 &&//MOD: mormot2tests &&//FUNC: l0g(x=<unavailable>) <<&&//FRAME
(lldb) version
lldb-1205.0.27.3
Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
The variable x is unavailable, and the stack trace doesn't go back far enough to tell me where it was being called from.
Ideas?
Offline
Perhaps when executing the ln() function TSynBloomFilter.Create, line 3702 of mormot.core.search?
There may be a linking issue.
This ln() seems to redirect to l0g() from mormot.lib.static.pas which itself is linked as log() and make an infinite recursive call.
Sounds like a compiler bug to me.
Please try https://github.com/synopse/mORMot2/commit/b6601cf5
Online
Okay, I managed to pull and build that - it gets further with another crash:
#0 _platform_memmove at :-1
#1 FPC_MOVE at :-1
#2 FastSetRawByteString("", 0x000000000063dd70, 10662) at mormot.core.base.pas:4175
#3 ResourceToRawByteString(<unavailable>, <unavailable>, "", <unavailable>) at mormot.core.buffers.pas:5963
#4 LoadFromResource(0x000000010126fd80, 0) at mormot.core.search.pas:5661
#5 CreateDefault(0x000000010126fd80, 0x0000000000000001, 0) at mormot.core.search.pas:5580
#6 TIMEZONES(0x0000000101268280) at test.core.base.pas:5224
#7 Run(0x000000010122a890) at mormot.core.test.pas:1199
#8 RUN(0x000000010122a890) at mormot2tests.dpr:86
#9 RunAsConsole(0x0000000100524008, "\U00000018\xd4I", <unavailable>, <unavailable>, "\U00000018V%\U00000001\U00000001") at mormot.core.test.pas:1393
#10 at :0
#11 at :0
Also, do you know why running under debug would NOT create console output? It doesn't open iTerm.app which is set as the default Terminal app for my system. It's not opening and then closing automatically (which has been an issue before), it's just not opening at all.
Offline
Online
It yields the same call stack on exception.
I'm running another instance after that from outside of Lazarus at the command line so that we can get a more complete list of exceptions so you can see the issues ahead instead of just one at a time. I'll post as soon as it completes (or crashes).
Offline
➜ aarch64-darwin git:(master) ✗ ./mormot2tests log
mORMot2 Regression Tests
Running tests... please wait
#432795 #432796 #432937 #54 #55 #56 #57 #58 #1 ENetSock #1 ENetSock #1 #1 #1 #1 ^C
➜ aarch64-darwin git:(master) ✗ cat logmORMot2\ Regression\ Tests.txt
mORMot2 Regression Tests
--------------------------
1. Core units
1.1. Core base:
- RecordCopy: 743 assertions passed 55us
- TRawUtf8List: 190,174 assertions passed 182.01ms
- TDynArray: 1,091,805 assertions passed 236.64ms
- TDynArrayHashed: 1,599,070 assertions passed 1.01s
- TSynDictionary: 283,050 assertions passed 421.57ms
- TSynQueue: 6,541,501 assertions passed 120.35ms
- TSynNameValue: 40,032 assertions passed 63.77ms
- TRawUtf8Interning: 2,000,013 assertions passed 477.36ms
500000 interning 16 KB in 24.59ms i.e. 19.3M/s, aver. 49ns, 620.4 MB/s
500000 direct 15.2 MB in 225.36ms i.e. 2.1M/s, aver. 450ns, 67.7 MB/s
- TObjArray: 3,230 assertions passed 2.82ms
- Custom RTL: 297,646 assertions passed 503.45ms
FillChar in 4.90ms, 79.1 GB/s
Move in 7.93ms, 39.3 GB/s
small Move in 26.98ms, 4 GB/s
big Move in 8.53ms, 45.7 GB/s
FillCharFast in 4.90ms, 79.2 GB/s
MoveFast in 7.30ms, 42.8 GB/s
small MoveFast in 28.94ms, 3.7 GB/s
big MoveFast in 8.62ms, 45.2 GB/s
- Fast string compare: 41 assertions passed 10us
- IdemPropName: 228 assertions passed 180us
- Url encoding: 167 assertions passed 917us
- GUID: 10,019 assertions passed 32.96ms
- ParseCommandArguments: 232 assertions passed 50us
- IsMatch: 4,250 assertions passed 108us
- TExprParserMatch: 140 assertions passed 174us
- Soundex: 35 assertions passed 7us
- Numerical conversions: 2,541,563 assertions passed 1.44s
100000 FloatToText in 106.29ms i.e. 918.7K/s, aver. 1.06us, 17 MB/s
100000 str in 11.76ms i.e. 8.1M/s, aver. 117ns, 194.6 MB/s
100000 DoubleToShort in 6.68ms i.e. 14.2M/s, aver. 66ns, 299.7 MB/s
100000 DoubleToAscii in 6.26ms i.e. 15.2M/s, aver. 62ns, 322.8 MB/s
- Integers: 146,512 assertions passed 32.30ms
- crc32c: 100,074 assertions passed 94.21ms
pas 381 MB/s fast 817.9 MB/s
- Random32: 221,003 assertions passed 1.55ms
240000 Random32 in 1.18ms i.e. 192.8M/s, aver. 4ns, 771.2 MB/s
RandomBytes in 311us, 1.1 GB/s
- Bloom filters: 2,010,072 assertions passed 62.21ms
- DeltaCompress: 3,087 assertions passed 16.95ms
- Curr 64: 20,056 assertions passed 4.53ms
- CamelCase: 11 assertions passed 25us
- Bits: 15,567 assertions passed 12.81ms
- Ini files: 7,028 assertions passed 18.35ms
- UTF8: 1,385,162 assertions passed 703.64ms
- Url decoding: 1,301 assertions passed 460us
- Mime types: 450 assertions passed 5.41ms
- Baudot code: 10,007 assertions passed 35.82ms
- Iso 8601 date and time: 200,831 assertions passed 50.14ms
! Core base - Time zones
! Exception EAccessViolation raised with messsage:
! Access violation
- Quick select: 4,015 assertions passed 101.87ms
- TSynCache: 408 assertions passed 218us
- TSynFilter: 804 assertions passed 3.52ms
- TSynValidate: 677 assertions passed 1.69ms
- TSynLogFile: 56 assertions passed 57us
- TSynUniqueIdentifier: 1,300,002 assertions passed 1.59s
200000 ComputeNew in 3.31ms i.e. 57.5M/s, aver. 16ns
Total failed: 0 / 20,031,511 - Core base PASSED 7.46s
1.2. Core process:
- RTTI: 1,345 assertions passed 1.45ms
- Url encoding: 300 assertions passed 1.34ms
! - Encode decode JSON: 3 / 432,978 FAILED 491.86ms
- JSON benchmark: 100,519 assertions passed 8.31s
StrLen() in 6.74ms, 2.8 GB/s
IsValidUtf8(RawUtf8) in 9.89ms, 1.9 GB/s
IsValidUtf8(PUtf8Char) in 13.43ms, 1.4 GB/s
IsValidJson(RawUtf8) in 21.03ms, 0.9 GB/s
IsValidJson(PUtf8Char) in 17.89ms, 1 GB/s
JsonArrayCount(P) in 16.62ms i.e. 9.4M/s, 1.1 GB/s
JsonArrayCount(P,PMax) in 16.13ms i.e. 9.7M/s, 1.1 GB/s
JsonObjectPropCount() in 8.37ms, 1.3 GB/s
jsonUnquotedPropNameCompact in 42.63ms, 408.3 MB/s
jsonHumanReadable in 60.35ms, 413.2 MB/s
TDocVariant in 1.58s i.e. 101.5K/s, 12.3 MB/s
TDocVariant no guess in 1.95s i.e. 82.2K/s, 10 MB/s
TDocVariant dvoIntern in 761.84ms i.e. 210.9K/s, 25.7 MB/s
TOrmTableJson save in 22.05ms i.e. 7.1M/s, 391 MB/s
TOrmTableJson exp in 22.66ms i.e. 6.9M/s, 865 MB/s
TOrmTableJson not exp in 11.90ms i.e. 13.1M/s, 724.3 MB/s
TDocVariant FromResults exp in 560.05ms i.e. 286.9K/s, 35 MB/s
TDocVariant FromResults not exp in 551ms i.e. 291.6K/s, 15.6 MB/s
DynArrayLoadJson exp in 422.66ms i.e. 380.1K/s, 46.3 MB/s
DynArrayLoadJson non exp in 419.02ms i.e. 383.4K/s, 20.5 MB/s
TOrmPeopleObjArray exp in 598.72ms i.e. 268.3K/s, 32.7 MB/s
TOrmPeopleObjArray non exp in 573.14ms i.e. 280.3K/s, 15 MB/s
fpjson in 472.40ms i.e. 34K/s, 4.1 MB/s
- Wiki markdown to html: 56 assertions passed 173us
- Variants: 122 assertions passed 62us
! - Mustache renderer: 5 / 58 FAILED 44.62ms
- TDocVariant: 90,791 assertions passed 164.70ms
- TDecimal128: 17,446 assertions passed 5.50ms
- BSON: 245,070 assertions passed 3.67ms
100000 TBsonObjectID.ComputeNew in 2.50ms i.e. 38.1M/s, aver. 25ns
- TSelectStatement: 229 assertions passed 326us
- TSynMonitorUsage: 1,202 assertions passed 343us
Total failed: 8 / 890,116 - Core process FAILED 9.03s
1.3. Core collections:
- IList: 6,944,142 assertions passed 839.15ms
500000 IList<Byte> in 1.95ms i.e. 244.2M/s, aver. 3ns
500000 IList<Word> in 1.99ms i.e. 238.6M/s, aver. 3ns
500000 IList<Integer> in 2.12ms i.e. 224.7M/s, aver. 4ns
500000 IList<Cardinal> in 2.08ms i.e. 228.3M/s, aver. 4ns
500000 IList<Int64> in 2.64ms i.e. 180.3M/s, aver. 5ns
500000 IList<QWord> in 2.59ms i.e. 183.8M/s, aver. 5ns
500000 IList<Single> in 2.13ms i.e. 222.9M/s, aver. 4ns
500000 IList<Double> in 2.32ms i.e. 204.8M/s, aver. 4ns
500000 IList<TDateTime> in 2.32ms i.e. 205.2M/s, aver. 4ns
500000 IList<UTF8String> in 8.85ms i.e. 53.8M/s, aver. 17ns
500000 IList<UnicodeString> in 7.98ms i.e. 59.7M/s, aver. 15ns
500000 IList<Variant> in 11.81ms i.e. 40.3M/s, aver. 23ns
500000 IList<THash128> in 4.84ms i.e. 98.4M/s, aver. 9ns
500000 IList<TGuid> in 4.57ms i.e. 104.2M/s, aver. 9ns
- IKeyValue: 3,800,050 assertions passed 629.33ms
100000 integer,Int64 add in 7.08ms i.e. 13.4M/s, aver. 70ns
100000 integer,Int64 get in 3.76ms i.e. 25.3M/s, aver. 37ns
100000 RawUtf8,double add in 57.06ms i.e. 1.6M/s, aver. 570ns
100000 RawUtf8,double get in 6.14ms i.e. 15.5M/s, aver. 61ns
100000 integer,Int64 capa add in 4.51ms i.e. 21.1M/s, aver. 45ns
100000 integer,Int64 capa get in 2.81ms i.e. 33.8M/s, aver. 28ns
100000 RawUtf8,double capa add in 51.39ms i.e. 1.8M/s, aver. 513ns
100000 RawUtf8,double capa get in 3.79ms i.e. 25.1M/s, aver. 37ns
Total failed: 0 / 10,744,192 - Core collections PASSED 1.46s
1.4. Core crypto:
- MD5: 166 assertions passed 174us
- SHA1: 8 assertions passed 3.38ms
- SHA256: 15 assertions passed 30.14ms
! Core crypto - SHA512
! Exception EOpenSslHash raised with messsage:
! TOpenSslHash.Create: OpenSSL 1.1.1 is not available
- SHA3: 8,225 assertions passed 30.26ms
! Core crypto - AES
! Exception EOpenSslCrypto raised with messsage:
! TAesGcmOsl.Create: OpenSSL 1.1.1 is not available
- AES_GCM: 215 assertions passed 111us
- RC4: 1,016 assertions passed 2.18ms
- Hashes: 21 assertions passed 923.98ms
- Base64: 26,064 assertions passed 145.18ms
encoding in 42.70ms, 2.2 GB/s
decoding in 61.62ms, 1.5 GB/s
- CompressShaAes: 1,683 assertions passed 5.95ms
- TAesPNRG: 231,315 assertions passed 81.47ms
100000 mORMot Random32 in 8.39ms i.e. 11.3M/s, aver. 83ns, 45.4 MB/s
mORMot FillRandom in 493us, 193.4 MB/s
100000 Lecuyer Random32 in 508us i.e. 187.7M/s, aver. 5ns, 750.9 MB/s
Lecuyer RandomBytes in 78us, 1.1 GB/s
- CryptDataForCurrentUser: 5,000 assertions passed 18.08ms
2000 AES-CFB in 17.37ms i.e. 112.4K/s, aver. 8.68us, 60 MB/s
- JWT: 162,731 assertions passed 329.74ms
1000 HS256 in 5.07ms i.e. 192.5K/s, aver. 5.07us
1000 HS384 in 4.02ms i.e. 242.3K/s, aver. 4.02us
1000 HS512 in 4.04ms i.e. 241.4K/s, aver. 4.04us
1000 S3224 in 3.14ms i.e. 310.7K/s, aver. 3.14us
1000 S3256 in 3.14ms i.e. 310.4K/s, aver. 3.14us
1000 S3384 in 3.15ms i.e. 309.9K/s, aver. 3.15us
1000 S3512 in 3.16ms i.e. 308.6K/s, aver. 3.16us
1000 S3S128 in 3.15ms i.e. 309.1K/s, aver. 3.15us
1000 S3S256 in 3.17ms i.e. 307.5K/s, aver. 3.17us
100 ES256 in 89.89ms i.e. 1K/s, aver. 898us
- TBinaryCookieGenerator: 82,944 assertions passed 18.88ms
16384 generate in 8.63ms i.e. 1.8M/s, aver. 527ns
16384 validate in 825us i.e. 18.9M/s, aver. 50ns
- Catalog: 2,514 assertions passed 939.59ms
! Core crypto - Benchmark
! Exception EOpenSslCrypto raised with messsage:
! TAesGcmOsl.Create: OpenSSL 1.1.1 is not available
Total failed: 0 / 521,994 - Core crypto PASSED 2.53s
1.5. Core ecc:
- Reference vectors: 23 assertions passed 7.23ms
- ECC: 2,104 assertions passed 1.50s
300 Ecc256r1MakeKey in 226.86ms i.e. 1.2K/s, aver. 756us
300 Ecc256r1Uncompress in 16.38ms i.e. 17.8K/s, aver. 54us
300 Ecc256r1Sign in 232.29ms i.e. 1.2K/s, aver. 774us
300 Ecc256r1Verify in 282.46ms i.e. 1K/s, aver. 941us
300 Ecc256r1VerifyUncomp in 266.25ms i.e. 1.1K/s, aver. 887us
598 Ecc256r1SharedSecret in 482.04ms i.e. 1.2K/s, aver. 806us
- Certificates and signatures: 106 assertions passed 41.34ms
- Ecc command line tool: 704 assertions passed 457.97ms
- ECDHE stream protocol: 63,393 assertions passed 4.01s
100 efAesCrc128 in 12.40ms i.e. 7.8K/s, aver. 124us, 205.3 MB/s
100 efAesCfb128 in 13.82ms i.e. 7K/s, aver. 138us, 184.2 MB/s
100 efAesOfb128 in 13.92ms i.e. 7K/s, aver. 139us, 183 MB/s
100 efAesCtr128 in 13.09ms i.e. 7.4K/s, aver. 130us, 194.5 MB/s
100 efAesCbc128 in 13.82ms i.e. 7K/s, aver. 138us, 184.2 MB/s
100 efAesCrc256 in 15.88ms i.e. 6.1K/s, aver. 158us, 160.3 MB/s
100 efAesCfb256 in 17.73ms i.e. 5.5K/s, aver. 177us, 143.6 MB/s
100 efAesOfb256 in 17.50ms i.e. 5.5K/s, aver. 175us, 145.5 MB/s
100 efAesCtr256 in 17.03ms i.e. 5.7K/s, aver. 170us, 149.5 MB/s
100 efAesCbc256 in 17.90ms i.e. 5.4K/s, aver. 179us, 142.2 MB/s
100 efAesGcm128 in 15.67ms i.e. 6.2K/s, aver. 156us, 162.4 MB/s
100 efAesGcm256 in 20.71ms i.e. 4.7K/s, aver. 207us, 123 MB/s
100 efAesCtc128 in 12.26ms i.e. 7.9K/s, aver. 122us, 207.6 MB/s
100 efAesCtc256 in 16.69ms i.e. 5.8K/s, aver. 166us, 152.5 MB/s
- OpenSSL: no assertion 3us
Total failed: 0 / 66,330 - Core ecc PASSED 6.02s
1.6. Core compression:
- In memory compression: 21 assertions passed 194.41ms
- GZIP format: 30 assertions passed 78.31ms
- ZIP format: 864 assertions passed 1.22s
- SynLZ: 14,639 assertions passed 63.05ms
- TAlgoCompress: 762 assertions passed 290.81ms
TAlgoSynLZ 3.8 MB->1.8 MB: comp 227.4MB/s decomp 697MB/s
TAlgoRleLZ 3.8 MB->1.8 MB: comp 163.9MB/s decomp 631.5MB/s
TAlgoRle 3.8 MB->3.8 MB: comp 345.2MB/s decomp 17.6GB/s
TAlgoDeflate 3.8 MB->1.4 MB: comp 27.6MB/s decomp 305.4MB/s
TAlgoDeflateFast 3.8 MB->1.5 MB: comp 79.6MB/s decomp 295.8MB/s
Total failed: 0 / 16,316 - Core compression PASSED 1.85s
1.7. Network protocols:
! - Rtsp over http: 1 / 1 FAILED 1.02s
! - Rtsp over http buffered write: 1 / 1 FAILED 1.03s
Total failed: 2 / 2 - Network protocols FAILED 2.06s
2. ORM
2.1. Orm core:
- TOrm: 93 assertions passed 2.11ms
- TOrmSigned: 200 assertions passed 15.94ms
- TOrmModel: 49 assertions passed 241us
- TRestServerFullMemory: 1,370,749 assertions passed 2.35s
Total failed: 0 / 1,371,091 - Orm core PASSED 2.37s
2.2. Sqlite file:
- Database direct access: 22,271 assertions passed 43.29ms
- Virtual table direct access: 12 assertions passed 651us
- TOrmTableJson: 149,089 assertions passed 81.49ms
- TRestClientDB: 608,196 assertions passed 1.57s
- TRecordVersion: 20,060 assertions passed 130.15ms
Total failed: 0 / 799,628 - Sqlite file PASSED 1.82s
2.3. Sqlite file WAL:
- Database direct access: 22,271 assertions passed 41.18ms
- Virtual table direct access: 12 assertions passed 301us
- TOrmTableJson: 149,089 assertions passed 80.73ms
- TRestClientDB: 608,196 assertions passed 1.56s
- TRecordVersion: 20,060 assertions passed 132.02ms
Total failed: 0 / 799,628 - Sqlite file WAL PASSED 1.82s
2.4. Sqlite file memory map:
- Database direct access: 22,271 assertions passed 41.92ms
- Virtual table direct access: 12 assertions passed 371us
- TOrmTableJson: 149,089 assertions passed 81.61ms
- TRestClientDB: 608,196 assertions passed 1.54s
- TRecordVersion: 20,060 assertions passed 130.41ms
Total failed: 0 / 799,628 - Sqlite file memory map PASSED 1.80s
2.5. Sqlite memory:
- Database direct access: 22,271 assertions passed 40.47ms
- Virtual table direct access: 12 assertions passed 305us
- TOrmTableJson: 149,089 assertions passed 80.82ms
- TRestClientDB: 676,505 assertions passed 2.18s
- TRecordVersion: 20,060 assertions passed 130.20ms
- TOrmTableWritable: 24,086 assertions passed 9.91ms
- RTree: 280,024 assertions passed 1.45s
10000 With RTree in 728.10ms i.e. 13.4K/s, aver. 72us
10000 With RTreeInteger in 721.78ms i.e. 13.5K/s, aver. 72us
- Shard write: 10,602 assertions passed 337.23ms
- Shard read: 140,001 assertions passed 205.69ms
- Shard read after purge: 114,003 assertions passed 164.84ms
- MaxShardCount: 144,002 assertions passed 243.47ms
Total failed: 0 / 1,580,655 - Sqlite memory PASSED 4.85s
2.6. External database:
! External database - SynDBRemote
! Exception ESqlite3Exception raised with messsage:
! Error SQLITE_MISUSE (21) [Step] using 3.37.0 - another row available, extended_errcode=100
- DB properties persistence: 7 assertions passed 188us
- External records: 2 assertions passed 670us
- Auto adapt SQL: 1,041 assertions passed 6.89ms
- Crypted database: 176,193 assertions passed 115.91ms
- External via REST: 170,355 assertions passed 1.73s
- External via virtual table: 170,355 assertions passed 1.40s
- External via REST with change tracking: 180,455 assertions passed 2.35s
Total failed: 0 / 701,414 - External database PASSED 5.61s
2.7. Client server access:
- TRestHttpServer: 2 assertions passed 3.23ms
using THttpAsyncServer OSX 21.4.0 poll
! - TRestHttpClient: 1 / 1 FAILED 1m00
using TRestHttpClientSocket
! - HTTP client keep alive: 1 / 1 FAILED 1m00
! - HTTP client multi connect: 1 / 1 FAILED 1m00
! - HTTP client encrypted: 1 / 1 FAILED 1m00
- Direct in process access: 4,057 assertions passed 72.76ms
4.7 KB, first 4.13ms, done 58.50ms i.e. 17091/s, aver. 58us%
➜ aarch64-darwin git:(master) ✗
When I canceled the program, it had been hung for about 45 minutes.
Offline
I guess it is not able to download some needed .json files from the web.
Try to copy the .json files available in a mORMot2Tests from Linux or Windows.
Then there is no OpenSSL available on Darwin by default.
Please try https://github.com/synopse/mORMot2/commit/dddd3139
Online
Also, OpenSSL 1.1 is available via homebrew, which I already have installed. I guess I'd have to provide the library path for that - on Apple Silicon Macs that would typically live in /opt/homebrew/Cellar/openssl@1.1/1.1.1n/lib (or whatever version is current for "1.1.1n". It should also link to just /opt/homebrew/lib/, but I don't find it there - another issue I need to look up. 'brew info openssl@1.1' says:
openssl@1.1 is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS provides LibreSSL
I'll pull your commit and test later - in the middle of meetings at work right now.
Last edited by sstillwell (2022-04-21 18:18:59)
Offline
Same error as before...
(lldb) thread backtrace -c 11
* thread #1: tid=0xa75f57: 0x00000001afa1d180, 0x000000016fdfe450, 0x000000016fdfe450 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: libsystem_platform.dylib &&//FUNC: _platform_memmove <<&&//FRAME, stop reason = EXC_BAD_ACCESS (code=1, address=0x620fe0)
* frame #0: 0x00000001afa1d180, 0x000000016fdfe450, 0x000000016fdfe450 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: libsystem_platform.dylib &&//FUNC: _platform_memmove <<&&//FRAME
frame #1: 0x00000001000051b4, 0x000000016fdfe450, 0x000000016fdfe450 &&//FULL: &&//SHORT: &&//LINE: &&//MOD: mormot2tests &&//FUNC: FPC_MOVE <<&&//FRAME
frame #2: 0x0000000100073004, 0x000000016fdfe460, 0x000000016fdfe490 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/core/mormot.core.base.pas &&//SHORT: mormot.core.base.pas &&//LINE: 4178 &&//MOD: mormot2tests &&//FUNC: FastSetRawByteString(s="", p=0x0000000000620fe0, len=10662) <<&&//FRAME
frame #3: 0x000000010021ac30, 0x000000016fdfe4a0, 0x000000016fdfe4d0 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/core/mormot.core.buffers.pas &&//SHORT: mormot.core.buffers.pas &&//LINE: 5963 &&//MOD: mormot2tests &&//FUNC: ResourceToRawByteString(ResName=<unavailable>, ResType=<unavailable>, buf="", Instance=<unavailable>) <<&&//FRAME
frame #4: 0x00000001002ca184, 0x000000016fdfe4e0, 0x000000016fdfe6e0 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/core/mormot.core.search.pas &&//SHORT: mormot.core.search.pas &&//LINE: 5661 &&//MOD: mormot2tests &&//FUNC: LoadFromResource(this=0x000000010120ff00, Instance=0) <<&&//FRAME
frame #5: 0x00000001002c9ac4, 0x000000016fdfe6f0, 0x000000016fdfe8a0 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/core/mormot.core.search.pas &&//SHORT: mormot.core.search.pas &&//LINE: 5580 &&//MOD: mormot2tests &&//FUNC: CreateDefault(this=0x000000010120ff00, $vmt=0x0000000000000001, dummycpp=0) <<&&//FRAME
frame #6: 0x00000001000f9050, 0x000000016fdfe8b0, 0x000000016fdfebc0 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/test/test.core.base.pas &&//SHORT: test.core.base.pas &&//LINE: 5224 &&//MOD: mormot2tests &&//FUNC: TIMEZONES(this=0x0000000101208280) <<&&//FRAME
frame #7: 0x00000001000aad00, 0x000000016fdfebd0, 0x000000016fdff400 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/core/mormot.core.test.pas &&//SHORT: mormot.core.test.pas &&//LINE: 1199 &&//MOD: mormot2tests &&//FUNC: Run(this=0x00000001010ba890) <<&&//FRAME
frame #8: 0x0000000100004418, 0x000000016fdff410, 0x000000016fdff660 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/test/mormot2tests.dpr &&//SHORT: mormot2tests.dpr &&//LINE: 86 &&//MOD: mormot2tests &&//FUNC: RUN(this=0x00000001010ba890) <<&&//FRAME
frame #9: 0x00000001000abec8, 0x000000016fdff670, 0x000000016fdff860 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/src/core/mormot.core.test.pas &&//SHORT: mormot.core.test.pas &&//LINE: 1393 &&//MOD: mormot2tests &&//FUNC: RunAsConsole(self=0x0000000100510008, CustomIdent="", withLogs=<unavailable>, options=<unavailable>, workdir="\U00000018\U00000016\U0000000f\U00000001\U00000001") <<&&//FRAME
frame #10: 0x00000001000046ac, 0x000000016fdff870, 0x000000016fdff940 &&//FULL: /Users/scott/fpcupdeluxe/ccr/mORMot2/test/mormot2tests.dpr &&//SHORT: mormot2tests.dpr &&//LINE: 135 &&//MOD: mormot2tests &&//FUNC: PASCALMAIN <<&&//FRAME
(lldb) version
lldb-1205.0.27.3
Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
Offline
Unfortunately, it does look like the test/fpc/bin/aarch64-darwin/data/ directory is there and populated with what looks like the same files as on an aarch64-linux machine that passed the tests with zero errors.
If I look at the log files that are created with each run, it looks like the errors occurring are almost all consequences of openssl libs not being there, but it's failing without noting the cause of the exception on the console as it does on, let's say, x86_64-darwin.
Last edited by sstillwell (2022-04-22 15:07:05)
Offline