#1 mORMot 1 » TSQLHttpServer as Linux command line process » 2018-01-24 09:25:27

dubst3pp4
Replies: 1

Hello,

I want to start a TSQLHttpServer on the Linux command line. The server should simply listen to requests of a client - the same as in example 04, but just as plain console program instead of a GUI application.
I could simply start the server and then loop forever until a key is pressed to quit the application. But for the user-experience, I would like to print all requests that are sent to the server in the console. Is this somehow possible?

I have no experience with the TSQLHttpServer, so any advice would be welcome! :-)

Btw, I'm using FPC and Lazarus with mORMot...

#2 Re: mORMot 1 » TestSQL3 stuck at "1.6. Protocols" » 2018-01-22 14:43:14

Update and good progress here:
On both systems I accidently compiled mORMot with my system wide FPC 3.0.4 version instead of the fpcupdeluxe trunk version - so now on my elementaryOS system I've changed the fpc command in the build-fpc-linux64.sh file to point to the fpcupdeluxe trunk version of the Free Pascal compiler. After compiling mORMot and running the tests again, nearly all tests passed fine, only 12 assertions failed! Here are the new results: https://www.dropbox.com/s/vnetsnm0s54tv … k.log?dl=0

#3 Re: mORMot 1 » TestSQL3 stuck at "1.6. Protocols" » 2018-01-20 13:56:58

I have done another test, this time I used mORMot via fpcupdeluxe (for the first test I cloned mORMot from the Git master branch), and this time it was more successfull, although some tests failed again. You can find the output here: https://www.dropbox.com/s/9lcpu61jk2elc … t.log?dl=0 (edit: I have uploaded the wrong file, sorry, now it's the correct one).

I don't know how critical the errors are for my use case. I want to setup a simple restful webservice with both, a native GUI client and a web based browser client (not served via mORMot). So the role of mORMot is the restful API service and the native client...

#4 Re: mORMot 1 » TestSQL3 stuck at "1.6. Protocols" » 2018-01-20 13:25:01

Hi Arnaud,

I've run the tests today on Fedora 27, with different results, but it gets stuck again, this time at "2.1. File based". Section "1.6. Protocols" raises an Access violation. Here is what I got:

   Synopse mORMot Framework Automated tests
  ------------------------------------------


1. Synopse libraries

 1.1. Low level common: 
  - System copy record: 83 assertions passed  98us
  - TRawUTF8List: 130,009 assertions passed  193.62ms
  - TDynArray: 1,089,782 assertions passed  403.18ms
  - TDynArrayHashed: 1,200,629 assertions passed  221.24ms
  - TObjectListHashed: 999,780 assertions passed  986.45ms
  - TObjectListSorted: 79,916 assertions passed  129.16ms
  - TSynNameValue: 40,032 assertions passed  25.33ms
!  - TRawUTF8Interning: 2 / 2,000,013 FAILED  428.62ms
     500000 interning 8192 B in 120.54ms i.e. 4147794/s, aver. 0us, 63.2 MB/s
     500000 direct 7.6 MB in 40.15ms i.e. 12452059/s, aver. 0us, 190 MB/s
  - TObjectDynArrayWrapper: 167,501 assertions passed  44.00ms
  - TObjArray: 3,230 assertions passed  3.62ms
  - Fast string compare: 24 assertions passed  5us
  - IdemPropName: 197 assertions passed  33us
  - Url encoding: 150 assertions passed  3.98ms
  - GUID: 9,005 assertions passed  10.97ms
  - IsMatch: 599 assertions passed  217us
  - Soundex: 35 assertions passed  22us
[1;36m[1;37m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[1;31m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;  - Numerical conversions: 1,145,203 assertions passed  556.95ms
  - crc32c: 300,064 assertions passed  517.01ms
      pas 156 MB/s fast 376.3 MB/s sse42 4.7 GB/s sse42+aesni 6.9 GB/s
  - Random32: 201,002 assertions passed  44.21ms
  - Bloom filters: 2,010,072 assertions passed  487.00ms
  - Curr 64: 20,053 assertions passed  2.07ms
  - CamelCase: 11 assertions passed  8us
  - Bits: 4,774 assertions passed  126us
  - Ini files: 7,004 assertions passed  69.71ms
  - UTF8: 100,154 assertions passed  1.53s
  - Baudot code: 10,007 assertions passed  62.78ms
  - Iso 8601 date and time: 76,021 assertions passed  11.41ms
  - Time zones: 398 assertions passed  302us
  - Url decoding: 1,100 assertions passed  317us
  - Mime types: 30 assertions passed  42us
  - Quick select: 4,015 assertions passed  255.57ms
  - TSynTable: 875 assertions passed  9.20ms
  - TSynCache: 404 assertions passed  108us
  - TSynFilter: 804 assertions passed  9.06ms
  - TSynValidate: 677 assertions passed  1.56ms
32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m  - TSynLogFile: 43 assertions passed  963us
  - TSynUniqueIdentifier: 1,300,002 assertions passed  850.65ms
  - TSynDictionary: 119,930 assertions passed  99.33ms
  Total failed: 2 / 11,023,628  - Low level common FAILED  6.96s

 1.2. Low level types: 
  - RTTI: 443 assertions passed  504us
  - Url encoding: 200 assertions passed  1.24ms
  - Encode decode JSON: 394,802 assertions passed  494.05ms
  - Variants: 64 assertions passed  35us
  - Mustache renderer: 147 assertions passed  2.66ms
  - TDocVariant: 71,750 assertions passed  149.33ms
  - TDecimal128: 17,446 assertions passed  4.05ms
  - BSON: no assertion  4us
  - TSynTableStatement: 221 assertions passed  140us
  - TSynMonitorUsage: 1,202 assertions passed  170us
  Total failed: 0 / 486,275  - Low level types PASSED  652.25ms

 1.3. Cryptographic routines: 
  - Adler32: 1 assertion passed  13us
  - MD5: 167 assertions passed  590us
  - SHA1: 13 assertions passed  21.18ms
[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[1;31m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[1;32m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;3  - SHA256: 40 assertions passed  98.79ms
      using SSE4 instruction set
  - SHA512: 27 assertions passed  34.57ms
  - SHA3: 8,225 assertions passed  181.02ms
  - AES256: 18,100 assertions passed  654.48ms
      cypher 1..450 bytes with AES-NI: 485us, without: 3.06ms
  - RC4: 1,011 assertions passed  14.21ms
  - Base64: 13,992 assertions passed  605.48ms
  - CompressShaAes: 1,683 assertions passed  6.74ms
! Cryptographic routines - TAESPNRG
! Exception EAccessViolation raised with messsage:
!  Access violation
  - CryptDataForCurrentUser: 5,000 assertions passed  16.35ms
     2000 AES-CFB in 15.81ms i.e. 126478/s, aver. 7us, 65.9 MB/s
  - JWT: 162,736 assertions passed  368.25ms
     1000 HS256 in 5.48ms i.e. 182315/s, aver. 5us
     1000 HS384 in 3.34ms i.e. 299222/s, aver. 3us
     1000 HS512 in 3.45ms i.e. 289351/s, aver. 3us
     1000 S3224 in 3.06ms i.e. 326583/s, aver. 3us
     1000 S3256 in 3.09ms i.e. 323101/s, aver. 3us
     1000 S3384 in 3.17ms i.e. 314960/s, aver. 3us
     1000 S3512 in 3.20ms i.e. 312500/s, aver. 3us
     1000 S3S128 in 3.07ms i.e. 325203/s, aver. 3us
     1000 S3S256 in 3.25ms i.e. 307408/s, aver. 3us
     100 ES256 in 115.32ms i.e. 867/s, aver. 1.15ms
  - Benchmark: 55,000 assertions passed  887.27ms
     2500 crc32c in 427us i.e. 5854800/s or 12.1 GB/s
     2500 xxhash32 in 1.45ms i.e. 1714677/s or 3.5 GB/s
     2500 md5 in 40.11ms i.e. 62320/s or 132.6 MB/s
     2500 sha1 in 68.71ms i.e. 36383/s or 77.4 MB/s
     2500 hmacsha1 in 75.89ms i.e. 32938/s or 70.1 MB/s
     2500 sha256 in 82.49ms i.e. 30303/s or 64.4 MB/s
     2500 hmacsha256 in 89.42ms i.e. 27957/s or 59.5 MB/s
     2500 sha512 in 20.56ms i.e. 121595/s or 258.7 MB/s
     2500 hmacsha512 in 24.63ms i.e. 101477/s or 215.9 MB/s
     2500 sha3_256 in 61.41ms i.e. 40709/s or 86.6 MB/s
     2500 sha3_512 in 110.99ms i.e. 22523/s or 47.9 MB/s
     2500 rc4 in 52.32ms i.e. 47777/s or 101.6 MB/s
     2500 aes128cfb in 12.78ms i.e. 195602/s or 416.2 MB/s
     2500 aes128ofb in 8.44ms i.e. 296138/s or 630.2 MB/s
     2500 aes128cfbcrc in 26.91ms i.e. 92898/s or 197.7 MB/s
     2500 aes128ofbcrc in 26.43ms i.e. 94564/s or 201.2 MB/s
     2500 aes256cfb in 15.71ms i.e. 159073/s or 338.5 MB/s
     2500 aes256ofb in 12.57ms i.e. 198791/s or 423 MB/s
     2500 aes256cfbcrc in 29.93ms i.e. 83514/s or 177.7 MB/s
     2500 aes256ofbcrc in 28.90ms i.e. 86499/s or 184 MB/s
     2500 shake128 in 40.82ms i.e. 61239/s or 130.3 MB/s
     2500 shake256 in 55.26ms i.e. 45238/s or 96.2 MB/s
  Total failed: 0 / 269,830  - Cryptographic routines PASSED  2.89s

 1.4. ECC cryptography: 
  - Reference vectors: 23 assertions passed  18.99ms
  - ecc_make_key: 200 assertions passed  182.06ms
  - ecdsa_sign: 200 assertions passed  190.08ms
  - ecdsa_verify: 200 assertions passed  232.21ms
  - ecdh_shared_secret: 597 assertions passed  395.74ms
  - Certificates and signatures: 91 assertions passed  57.79ms
7m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[1;31m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[1;32m[0;37m[1;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[0;32m[0;37m[  - ECC command line tool: 469 assertions passed  422.19ms
  - ECDHE stream protocol: 521,295 assertions passed  1.69s
  Total failed: 0 / 523,075  - ECC cryptography PASSED  3.18s

 1.5. Compression: 
  - In memory compression: 12 assertions passed  1.25s
  - GZIP format: 19 assertions passed  2.70s
  - SynLZO: 3,006 assertions passed  698.92ms
  - SynLZ: 30,217 assertions passed  1.36s
  - TAlgoCompress: 914 assertions passed  74.16ms
     TAlgoSynLZ 169 KB->79 KB: comp 167:78MB/s decomp 183:392MB/s
     TAlgoLizard 169 KB->66 KB: comp 13:5MB/s decomp 448:1147MB/s
     TAlgoLizardFast 169 KB->87 KB: comp 219:113MB/s decomp 629:1216MB/s
     TAlgoLizardHuffman 169 KB->81 KB: comp 92:44MB/s decomp 462:955MB/s
     TAlgoDeflate 169 KB->38 KB: comp 8:1MB/s decomp 22:101MB/s
     TAlgoDeflateFast 169 KB->46 KB: comp 21:6MB/s decomp 29:106MB/s
  Total failed: 0 / 34,168  - Compression PASSED  6.09s

 1.6. Protocols: 
! Protocols - RTSP over HTTP
! Exception EAccessViolation raised with messsage:
!  Access violation


2. mORMot

 2.1. File based: 
  - Database direct access: 20,259 assertions passed  89.65ms
  - Virtual table direct access: 12 assertions passed  514us
  - TSQLTableJSON: 144,070 assertions passed  162.24ms

#5 Re: mORMot 1 » TestSQL3 stuck at "1.6. Protocols" » 2018-01-12 08:39:30

Hi Arnaud, any news on this issue? I will test it today with a Fedora system...

#6 Re: mORMot 1 » TestSQL3 stuck at "1.6. Protocols" » 2018-01-10 10:14:11

Yes I did. It now runs for about an hour the third time ;-)

#7 mORMot 1 » TestSQL3 stuck at "1.6. Protocols" » 2018-01-10 09:40:37

dubst3pp4
Replies: 7

Hello,

It is the first time I try mORMot and I could not find an answer in this forum, so I hope someone can help :-)

I've compiled mORMot with FPC 3.0.4 on Linux x86_64 (elementaryOS Loki, which is an Ubuntu 16.04LTS). The compilation was fine without errors (just some warnings).

Now I started the TestSQL3 binary to run the tests, there where two errors (TRawUTF8Interning and ECC cryptography - ECDHE stream protocol) and now the whole program is stuck at "1.6. Protocols". Nothings happens, no error, no exit, nothing ;-)

Any advice? Thanks and best regards,
Marc

Board footer

Powered by FluxBB