You are not logged in.
Pages: 1
mormot.net.http missing in uses (test.orm.threads) and pboNoLocalHostEncrypt not found.
In running (without debug Shift-Ctrl-F9) after this point the test program frozen:
3.3. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 3.27ms
When I running it with debug (F9) go to end
2.8. Multi thread process:
- Create thread pool: 1 assertion passed 1.43s
- TRestServerDB: 7,302 assertions passed 452.60ms
1=5722/s 2=24326/s 5=18965/s 10=9805/s 30=9738/s 50=12958/s
- TRestClientDB: 7,301 assertions passed 564.82ms
1=55550/s 2=27072/s 5=3885/s 10=3159/s 30=7907/s 50=5528/s
- TCP sockets: 7,302 assertions passed 16.82s
1=1796/s 2=1303/s 5=758/s 10=441/s 30=151/s 50=86/s
- Windows API: 7,295 assertions passed 4.63s
1=1407/s 2=1873/s 5=3604/s 10=5892/s 30=1568/s 50=1707/s
! - Websockets: 69 / 6,892 FAILED 1m00
1=3374/s 2=2111/s 5=887/s 10=464/s 30=129/s 50=20/s
- Locked: 7,302 assertions passed 651.23ms
1=63224/s 2=7978/s 5=3521/s 10=2549/s 30=6265/s 50=9674/s
- Unlocked: 7,299 assertions passed 265.28ms
1=55106/s 2=57864/s 5=11116/s 10=12996/s 30=9533/s 50=7720/s
- Main thread: 7,301 assertions passed 323.05ms
1=21400/s 2=13071/s 5=12652/s 10=9665/s 30=9987/s 50=7845/s
- Background thread: 7,302 assertions passed 318.27ms
1=7923/s 2=52069/s 5=15599/s 10=20035/s 30=9789/s 50=9435/s
Total failed: 69 / 65,297 - Multi thread process FAILED 1m27
3.3. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 3.32ms
- Run http server: 2 assertions passed 1.40s
- Soa callback on server side: 4,580 assertions passed 623us
- Soa callback via json websockets: 6,898 assertions passed 892.52ms
- Soa callback via binary websockets: 6,898 assertions passed 763.81ms
- Relay start: 4 assertions passed 388.33ms
- Relay soa callback via json websockets: 6,899 assertions passed 2.16s
- Relay connection recreate: 1 assertion passed 164.30ms
- Relay soa callback via binary websockets: 6,899 assertions passed 2.14s
- Relay shutdown: 2 assertions passed 471.50ms
- TRecordVersion: 20,068 assertions passed 311.47ms
Total failed: 0 / 82,251 - Bidirectional remote connection PASSED 9.43s
Delphi 11, Windows 10 32
Last edited by HollosCs (2021-10-07 13:36:15)
Offline
Sorry for many code lines.
- Compile OK
- F9: Run to end with assertion error
! - Websockets: 28 / 7,194 FAILED 40.27s
1=3606/s 2=2284/s 5=1009/s 10=449/s 30=150/s 50=35/s
- Sfift-Ctrl-F9: Stop and froze (Ctrl-C to quit), but not assertion error. This is the last line that write:
3.3. Bidirectional remote connection:
- Websockets protocols: 30,000 assertions passed 2.54ms
Last edited by HollosCs (2021-10-07 19:16:53)
Offline
Which assertion?
I am not able to reproduce it here.
Sometimes, the Delphi IDE is not able to run the tests because its debugger reduces the multi-thread ability of the process it is debugging.
So running as stand-alone application is the way to go.
Please check the logs to see if there is an exception.
Offline
'Which assertion?'
! - Websockets: 28 / 7,194 FAILED 40.27s
1=3606/s 2=2284/s 5=1009/s 10=449/s 30=150/s 50=35/s
Maybe the first error not able write the ssreen.
In the log I found that:
EHttpServer {Message:"TWebSocketAsyncServerRest.WaitStarted timeout after 30 seconds []"}
[Main] at 84851c mormot.net.server.pas THttpServerSocketGeneric.WaitStarted (1568)
mormot.net.server.pas THttpServerSocketGeneric.WaitStarted (1568)
mormot.rest.http.server.pas TRestHttpServer.Create (731)
test.soa.network.pas TTestBidirectionalRemoteConnection.RunHttpServer (337)
...
Offline
There were two weird bugs, which occurred on some systems only:
1. the lock was not released when an exception was raised and ignored early.
2. the execution state of the HTTP server was not properly propagated.
Please report with the latest change.
There should be not lock, nor any exception raised during process.
Also ensure you have run the regression tests at least once with administrator rights to register the http.sys URIs.
Offline
Thanks your excellent job!
Test not freeze at all (nor F9, nor Shift-Ctrl-F9, nor debug, nor release).
Error in IDE:
! - Mustache renderer: 1 / 156 FAILED 4.46ms
0000000000000000 ! fail #102 Non-false sections have their value at the top of context, accessible as {{.}} or through the parent context. This gives a simple way to display content conditionally if a variable exists.
and '2.8. Multi thread process' section (couple of line)
0000000004A8F3FA . fail #6923 Rest.Add
...
0000000004BE7C1A ! fail #7051 Duplicate ID 1591 for thread 39 and 2
0000000004D7AD42 ! fail #7052 Duplicate ID 1627 for thread 45 and 2
...
Error in standalon only Mustache.
Offline
I am not able to reproduce it.
https://gist.github.com/synopse/e9d377c … 6be109db6a
What appears in the log?
I guess there is an exception on your system, for a non-obvious reason.
Did you run the tests once as Administrator, as I proposed?
Offline
Run test with latest version:
Standalone:
0000000000000001 ! fail #102 Non-false sections have their value at the top of context, accessible as {{.}} or through the parent context. This gives a simple way to display content conditionally if a variable exists.
test.core.data.pas TTestCoreProcess.MustacheRenderer (782)
inside Ide + error (maybe this is IDE limitation):
0000000003392DC0 " fail #6944 Rest.Add
test.orm.threads.pas TTestMultiThreadProcessThread.Execute (268)
...
00000000042B4BCB ! fail #6990 Duplicate ID 1687 for thread 44 and 4
test.orm.threads.pas TTestMultiThreadProcess.Test (515)
test.orm.threads.pas TTestMultiThreadProcess.Websockets (593)
Offline
About the mustache problem, I am not able to reproduce the issue.
The test involved is the following:
{
"name": "Variable test",
"desc": "Non-false sections have their value at the top of context,\naccessible as {{.}} or through the parent context. This gives\na simple way to display content conditionally if a variable exists.\n",
"data": {
"foo": "bar"
},
"template": "\"{{#foo}}{{.}} is {{foo}}{{/foo}}\"",
"expected": "\"bar is bar\""
},
Here it passes with no problem on FPC and all versions of Delphi I have. But I don't have Delphi 11...
I have enhanced the test loop to put the computed and expected values in the logs, to see what is wrong.
Offline
Run it again with latest (space different):
0000000000000001 ! fail #102 " bar is bar "<>"bar is bar"
Non-false sections have their value at the top of context, accessible as {{.}} or through the parent context. This gives a simple way to display content conditionally if a variable exists.
...
mormot.core.test.pas TSynTestCase.CheckUtf8 (752)
test.core.data.pas TTestCoreProcess.MustacheRenderer (781)
...
Windows 10 64bit (10.0.19043) (cp 1252)
12 x Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (x86)
Using mORMot 2.0.1
TSqlite3LibraryStatic 3.36.0 with internal MM
Generated with: Delphi 11 Alexandria 32 bit Win compiler
Offline
Nice catch, bingo! Error is gone!
Thanks, and sorry for your times!
Offline
Pages: 1