#1 Re: mORMot 1 » How to report failed regression tests ? » 2015-12-11 18:40:43

Yes I did so, but I am not able to tell what's wrong.

#2 Re: mORMot 1 » How to report failed regression tests ? » 2015-11-26 20:31:15

I ran TestSQL3Register with admin rights and how have the following failures :

1.4 Synopse PDF : TPdfDocument : 1/4 failed

2.7 Service oriented architecture : Test over HTTP

2.10 Mutli thread process
- Windows API 52/4073 failed
- Socket API 96/4280 failed
- Websockets : 146/3921 failed


(I changed code page to 1252)


Here are some stacktraces + errors. Didn't put'em all as there were many many.

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('')
SynSelfTests.TTestSynopsePDF._TPdfDocument (Check(Hash32(MS.Memory,MS.Position)=Hash[embed]);)
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


----------------------------------------------------------


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.RaiseLastModuleError('winhttp.dll',EWinHTTP)
SynCrtSock.TWinHTTP.InternalSendRequest('')
SynCrtSock.THttpRequest.Request('root0/TimeStamp','GET',20000,'','','application/json; charset=UTF-8','','')
mORMotHttpClient.TSQLHttpClientRequest.InternalRequest('root0/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($18FB72)
mORMot.TSQLRestClientURI.URI('root0/TimeStamp','GET',$18FC70 {''},$18FC28 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root0/People','BEGIN',nil {''},nil {''},nil {''})
mORMot.TSQLRestClientURI.TransactionBegin(TSQLRecordPeople,1)
SynSelfTests.TTestClientServerAccess.HTTPSeveralDBServers
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


-----------------------------------------


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.RaiseLastModuleError('winhttp.dll',EWinHTTP)
SynCrtSock.TWinHTTP.InternalSendRequest('')
SynCrtSock.THttpRequest.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8','','')
mORMotHttpClient.TSQLHttpClientRequest.InternalRequest('root/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($18F93A)
mORMot.TSQLRestClientURI.URI('root/TimeStamp','GET',$18FA38 {''},$18F9F0 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root/Auth?UserName=User','GET',$18FBAC {''},$18FB64 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('Auth',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.CallBackGetResult('Auth',(...),nil,0)
mORMot.TSQLRestServerAuthenticationDefault.ClientComputeSessionKey($2847880,$29468E0)
mORMot.TSQLRestServerAuthentication.ClientSetUser($2847880,'User','synopse',passClear)
mORMot.TSQLRestClientURI.SetUser('User','synopse',False)
SynSelfTests.TTestServiceOrientedArchitecture.TestOverHTTP
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


---------------------------


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('')
SynSelfTests.TTestServiceOrientedArchitecture.TestOverHTTP
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-------------------------

Exception 'first chance' à $75235B68. Classe d'exception EServiceException avec un message
'TServiceFactoryClient.Create(): ICalculator interface or TSQLRestRoutingREST routing not supported by server: {
"errorCode":403,
"errorText":"Forbidden"
}'.
Processus TestSQL3.exe (8124)

:75235b68 KERNELBASE.RaiseException + 0x48
mORMot.TServiceFactoryClient.Create($2847880,$7876CC,sicShared,'')
mORMot.TServiceContainer.AddInterface((...),sicShared,'')
mORMot.TSQLRestClientURI.ServiceRegister((...),sicShared,'')
SynSelfTests.TTestServiceOrientedArchitecture.TestOverHTTP
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


-------------------------------

Exception 'first chance' à $75235B68. Classe d'exception EWinHTTP avec un message 'winhttp.dll error 12002 (timeout)'. Processus TestSQL3.exe (8124)

:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.RaiseLastModuleError('winhttp.dll',EWinHTTP)
SynCrtSock.TWinHTTP.InternalSendRequest('')
SynCrtSock.THttpRequest.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8','','')
mORMotHttpClient.TSQLHttpClientRequest.InternalRequest('root/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($3D8FBE2)
mORMot.TSQLRestClientURI.URI('root/TimeStamp','GET',$3D8FCE0 {''},$3D8FC98 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$3D8FDEC {''},$3D8FE04 {'{"FirstName":"0/199","LastName":"Thread 0000667C","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/199","LastName":"Thread 0000667C","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($2941BE0,True,False,False)
mORMot.TSQLRestClient.Add($2941BE0,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------------------------------


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


--------------------------------------------


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 101 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 103 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 105 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

--------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 107 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-------------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 109 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 111 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

--------------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 113 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

--------------------------------------------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 115 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 118 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 120 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a




--------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 122 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


-----

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 124 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 126 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 128 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 130 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

--------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 132 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 134 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

----------


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 136 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 138 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 140 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 142 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 144 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

---------


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 146 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 148 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 150 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 152 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 154 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 156 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-------------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 158 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

-----------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 160 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

------

SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 162 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 164 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 166 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 168 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 170 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 172 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 174 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 176 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 178 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 180 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 182 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 184 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 186 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 188 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 190 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 192 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 194 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 196 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 198 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 199 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Duplicate ID 200 for thread 1 and 0')
SynSelfTests.TTestMultiThreadProcess.Test(TSQLHttpClientWinHTTP,useHttpApi,amLocked)
SynSelfTests.TTestMultiThreadProcess.WindowsAPI
SynTests.TSynTests.Run
mORMotSelfTests.SQLite3ConsoleTests
TestSQL3.TestSQL3
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a






SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)

:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($C48FBE2)
mORMot.TSQLRestClientURI.URI('root/TimeStamp','GET',$C48FCE0 {''},$C48FC98 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$C48FDEC {''},$C48FE04 {'{"FirstName":"0/3","LastName":"Thread 000066A0","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 000066A0","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($29437E0,True,False,False)
mORMot.TSQLRestClient.Add($29437E0,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SndLow 10053 WSAECONNABORTED [Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte]'. Processus TestSQL3.exe (8124)

:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SndLow($2300F74,86)
SynCrtSock.THttpClientSocket.Request('root/People','POST',20000,'','{"FirstName":"0/3","LastName":"Thread 00000F7C","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/People','POST','','{"FirstName":"0/3","LastName":"Thread 00000F7C","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($9DCFD56)
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$9DCFDEC {''},$9DCFE04 {'{"FirstName":"0/3","LastName":"Thread 00000F7C","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 00000F7C","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($2944EA0,True,False,False)
mORMot.TSQLRestClient.Add($2944EA0,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8',True)
SynCrtSock.DoRetry(404)
SynCrtSock.THttpClientSocket.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($C48FBE2)
mORMot.TSQLRestClientURI.URI('root/TimeStamp','GET',$C48FCE0 {''},$C48FC98 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$C48FDEC {''},$C48FE04 {'{"FirstName":"0/3","LastName":"Thread 000066A0","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 000066A0","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($29437E0,True,False,False)
mORMot.TSQLRestClient.Add($29437E0,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/People','POST',20000,'','{"FirstName":"0/3","LastName":"Thread 00006094","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8',True)
SynCrtSock.DoRetry(505)
SynCrtSock.THttpClientSocket.Request('root/People','POST',20000,'','{"FirstName":"0/3","LastName":"Thread 00006094","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/People','POST','','{"FirstName":"0/3","LastName":"Thread 00006094","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($BD0FD56)
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$BD0FDEC {''},$BD0FE04 {'{"FirstName":"0/3","LastName":"Thread 00006094","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 00006094","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($2944960,True,False,False)
mORMot.TSQLRestClient.Add($2944960,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($9FCFBE2)
mORMot.TSQLRestClientURI.URI('root/TimeStamp','GET',$9FCFCE0 {''},$9FCFC98 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$9FCFDEC {''},$9FCFE04 {'{"FirstName":"0/3","LastName":"Thread 000069D8","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 000069D8","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($2945AE0,True,False,False)
mORMot.TSQLRestClient.Add($2945AE0,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SndLow 10053 WSAECONNABORTED [Une connexion établie a été abandonnée par un logiciel de votre ordinateur hôte]'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SndLow($230054C,86)
SynCrtSock.THttpClientSocket.Request('root/People','POST',20000,'','{"FirstName":"0/3","LastName":"Thread 00006338","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/People','POST','','{"FirstName":"0/3","LastName":"Thread 00006338","YearOfBirth":1000,"YearOfDeath":1040}','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($448FD56)
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$448FDEC {''},$448FE04 {'{"FirstName":"0/3","LastName":"Thread 00006338","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 00006338","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($2945220,True,False,False)
mORMot.TSQLRestClient.Add($2945220,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a



SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/TimeStamp','GET',20000,'','','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/TimeStamp','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($3F8FBE2)
mORMot.TSQLRestClientURI.URI('root/TimeStamp','GET',$3F8FCE0 {''},$3F8FC98 {''},nil {''})
mORMot.TSQLRestClientURI.CallBackGet('TimeStamp',(...),'',nil,0,nil {''})
mORMot.TSQLRestClientURI.ServerTimeStampSynchronize
mORMot.TSQLRestClientURI.URI('root/People','POST',nil {''},$3F8FDEC {''},$3F8FE04 {'{"FirstName":"0/3","LastName":"Thread 00006BD4","YearOfBirth":1000,"YearOfDeath":1040}'})
mORMot.TSQLRestClientURI.EngineAdd(0,'{"FirstName":"0/3","LastName":"Thread 00006BD4","YearOfBirth":1000,"YearOfDeath":1040}')
mORMot.TSQLRest.Add($29462C0,True,False,False)
mORMot.TSQLRestClient.Add($29462C0,True,False,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('Rest.Add')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)

:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/People/1012','GET',20000,'','','application/json; charset=UTF-8',True)
SynCrtSock.DoRetry(505)
SynCrtSock.THttpClientSocket.Request('root/People/1012','GET',20000,'','','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/People/1012','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($CACFD5E)
mORMot.TSQLRestClientURI.URI('root/People/1012','GET',$CACFE60 {''},nil {''},nil {''})
mORMot.TSQLRestClientURI.URIGet(TSQLRecordPeople,1012,'',False)
mORMot.TSQLRestClientURI.ClientRetrieve(0,1012,False,989,'')
mORMot.TSQLRestClient.Retrieve(1012,$2947280,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)

:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpServerSocket.GetRequest(False)
SynCrtSock.TSynThreadPoolTHttpServer.Task($2316070,$DA8)
SynCrtSock.TSynThreadPoolSubThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


SynLog.TSynLog.DebuggerNotify(sllFail,'#% %',(...))
SynTests.TSynTestCase.TestFailed('')
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a


Exception 'first chance' à $75235B68. Classe d'exception ECrtSocket avec un message 'SockRecvLn 10060 WSAETIMEDOUT [Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu]'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynCrtSock.TCrtSocket.SockRecvLn('',False)
SynCrtSock.THttpClientSocket.Request('root/People/1004','GET',20000,'','','application/json; charset=UTF-8',True)
SynCrtSock.DoRetry(505)
SynCrtSock.THttpClientSocket.Request('root/People/1004','GET',20000,'','','application/json; charset=UTF-8',False)
mORMotHttpClient.TSQLHttpClientWinSock.InternalRequest('root/People/1004','GET','','','application/json; charset=UTF-8')
mORMotHttpClient.TSQLHttpClientGeneric.InternalURI($A54FD5E)
mORMot.TSQLRestClientURI.URI('root/People/1004','GET',$A54FE60 {''},nil {''},nil {''})
mORMot.TSQLRestClientURI.URIGet(TSQLRecordPeople,1004,'',False)
mORMot.TSQLRestClientURI.ClientRetrieve(0,1004,False,988,'')
mORMot.TSQLRestClient.Retrieve(1004,$2945920,False)
SynSelfTests.TTestMultiThreadProcessThread.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a





Exception 'first chance' à $75235B68. Classe d'exception ESynBidirSocket avec un message 'TWebSocketProcessServer.GetFrame: received focReserved5, expected focReserved7'. Processus TestSQL3.exe (8124)


:75235b68 KERNELBASE.RaiseException + 0x48
SynBidirSock.TWebSocketProcess.GetFrame((focReserved7, 'T /root/TimeStamp HTTP/1.1'#$D#$A'Host: 127.0.0.1:888'#$D#$A'Accept: */*'#$D#$A'User-Ag'),1,False)
SynBidirSock.TWebSocketProcess.ProcessLoop
SynBidirSock.TWebSocketServer.WebSocketProcessUpgrade($229BCD8,$2B4E650)
SynBidirSock.TWebSocketServer.Process($229BCD8,65,$2B4E650)
SynCrtSock.HandleRequestsProcess
SynCrtSock.THttpServerResp.Execute
:004bc5c0 ThreadProc + $4C
:0040b842 ThreadWrapper + $2A
:76fa7c04 KERNEL32.BaseThreadInitThunk + 0x24
:773ead1f ntdll.RtlInitializeExceptionChain + 0x8f
:773eacea ntdll.RtlInitializeExceptionChain + 0x5a

#3 mORMot 1 » How to report failed regression tests ? » 2015-11-26 19:47:10

ludydoo
Replies: 4

Hi,

I ran the mORMot regression tests and had a couple of failures.

I'm on Windows 8 x64, Delphi XE10 with latest master mORMot release.

I'm joining some details of the failures in this post, but what is the recommended way of signaling regression test failures for this framework ?

1.4 Synopse PDF:

TPdfDocument : 1/4 failed 
Line : 8188
File : SynSelfTest.pas
"Check(Hash32(MS.Memory,MS.Position)=Hash[embed]);)"

-----

2.7 Service oriented architecture

Service oriented architecture - test over HTTP
Exception EServiceException raised with message:
TServiceFactoryClient.Create():ICalculator interface or TSQLRestRoutingREST 
routing not supported by server: {
"errorCode":403,
"errorText":"Forbidden"
}

Procedure : SynSelfTests.TTestClientServerAccess.HTTPSeveralDBServers
Line : 9192 : Check(Rec.FillRewind);

SynSelfTests.TTestServiceOrientedArchitecture.TestOverHTTP
Line 12711 : Check(HTTPClient.SetUser('User','synopse'));

----------------

2.10 Multi Thread process

- Windows API: 50 / 4071 FAILED

SynSelfTests.TTestMultiThreadProcessThread.Execute
Line 13598 : fIDs[i] := Rest[r].Add(Rec,true);

---------------

2.12. DDD multi thread
DDD multi thread - single client test
Exception EAccessViolation raised with message:
Violation d'acces è l'adresse 0080FA4B dans le module TestSQL3.exe. Lecture de l'adresse 00000000

#4 Re: mORMot 1 » How to separate ORM and Service servers? » 2015-05-27 18:44:14

Just to add some precision.

I would like to handle REST requests myself, not to let the ORM do it. I would use the ORM to access the database and fetch objects for repositories, not to expose REST urls to the client.

#5 Re: mORMot 1 » Bug : TSQLRecordMany » 2015-05-27 17:48:31

No it's not useful at all. I was just setting up my TSQLRecords, and it took some time before I found out that the error occured because there were no published properties. Maybe that'll help someone stumbling on the same error.

#6 mORMot 1 » How to separate ORM and Service servers? » 2015-05-27 17:46:38

ludydoo
Replies: 2

Hi,

I read the documentation concerning Hosting and I can't figure out something.

I want to make a RESTful server using ORM and Services.

The problem is that my ORM classes do not represent my business model. I have to translate them into business objects before the user can consume them. The way I see it, the ORM will directly expose the tables, unmodified.

I want to set up a RESTful service layer, accessible through HTTP, that would use the ORM internally instead of exposing it. I would like to be able to publish a RESTful service interface that would be shared with the client. Is it possibe to do this?

Thank you.

#7 mORMot 1 » Bug : TSQLRecordMany » 2015-05-27 17:11:25

ludydoo
Replies: 2

Hi,

I am trying out mORMot. I'm using an external Firebird database with the ORM.

I was trying to register a TSQLRecord that only had a TSQLRecordMany published property.

class TParty;
class TPartyType;
class TPartyTypes;

TPartyType = class(TSQLRecord)
strict private
fName : RawUTF8;
published
property Name : RawUTF8 read fName write FName;
end;

TPartyTypes = class(TSQLRecordMany)
strict private
fDest : TPartyType;
fSource : TParty;
published
property Dest : TPartyType read fDest write fDest;
property Source : TParty read fSource write fSource;
end;

TParty = class(TSQLRecord)
strict private
fPartyTypes : TPartyTypes;
published
PartyTypes : TPartyTypes read fPartyTypes write fPartyTypes;
end;

Would throw an error

Exception 'first chance' à $772C4598. Classe d'exception ESQLite3Exception avec un message 'Error SQLITE_ERROR (1) using 3.8.10.1 - 'vtable constructor failed: Party' extended_errcode=1'. Processus Easymage.TEC.Server.exe (7080)

#8 Re: mORMot 1 » mORMot and DataSets... » 2015-02-04 14:53:53

Hi AOG,

Thank you very much for your example! It will help. I will investigate this. Though, what are those PreventCircular all around?

AG

Thank you for your explanations.

I read the feature request ticket. Sounds interesting, even if I'm not sure I'm 100% aware of what it would look like. I'm more confused about UI "generation". I don't know how the framework could literally generate a UI. I saw it being done in the MainDemo though, but how could we use custom components (DevExpress, LMD, ...). Custom designs, templates, etc. IMHO, I think views should generally be managed by the developer, not by the framework.

Concerning the TDataSet.

In order to fulfill the n-tier architecture, I would have to move my logic from the database (where it currently resides) to the business-layer or application layer. But, since the TDataSet is the "core" of many my views, and it, the SynDBDataSet, (correct me if I'm wrong) is directly connected to the persistence layer, I'm not sure I understand how the business logic could be implemented in this case. While the dataset pushes the modifications to the SynDB instance, there is no context at all. The SynDB only receives an instruction "Update record ID 2 on table "People" set Name = "Joe" ...". Or "Select all the clients and return them as JSON". But it bypasses totally the business logic. (again, correct me if I'm wrong).

What i see possible, is a REST / ORM approach as you described. Like some datasets, there are SQL properties "SQLSelect, SQLUpdate, SQLInsert". Those could be converted to a REST approach, calling the REST methods.

TRestDataSet.SelectAction := ['GET','/root/getPeople']; // Would return 200 OK + People JSON
TRestDataSet.UpdateAction := ['POST', '/root/updatePerson']; (ID={ID},Name={Name}) // would return 200 OK ?
TRestDataSet.InsertAction := ['POST', '/root/addPerson']; (Name={Name}) // would return 200 OK & new id ?
TRestDataSet.DeleteAction := ['DELETE', '/root/deletePerson/{ID}']

Then, on the server side,

procedure RestServer.UpdatePerson(Response : THttpResonse; AID : TID, AName : RawUTF8, ABorn : TDateTime, ADied : TDateTime)
var
APerson : TPerson;
begin

   try 
      APerson := PersonRepository.Find(ID);

      if APerson = nil then raise Exception.Create('No Person found with this ID');

      UserController.UpdatePerson(APerson, AName, ABorn, ADied);

      APerson.Save;

       Response := THttpResponse.Create(200);
  
   except on (E : Exception)

      Response := THttpResponse.Create(400);

   end;

end;

procedure UserController.UpdatePerson(APerson : TPerson; AName : RawUTF8; ABorn, ADied : TDateTime)
begin
   
   if ADied > ABorn then raise Exception.Create('A person cannot have a Died date posterior to a Born date unless is Zombie');
   if APerson.Name = '' then raise Exception.Create('A Person's name cannot be empty');
   with APerson do begin
      Name := AName;
      Born := ABorn;
      Died := ADied;
   end;   

end;

And so on. The problem I see is defining the convention of what is returned by the server (in terms of calculated fields, or if there are more modifications on the server that the client does not know about). About exceptions...

I would like this feature, of course. I'm only proposing a kind of "prototype" feature. I think without the TDataSet being able to post to a REST server, I'm not sure I can use the framework for my application. At least, not until I figure out how to use the business logic behind the scenes, and how to use a DataSet will all of this. Maybe writing a TDataSet wrapper could solve the problem. AB started to to it. would like to help, but I'm just starting to understand the framework. It would take me months to understand what I am playing with here.

#9 Re: mORMot 1 » mORMot and DataSets... » 2015-02-04 06:00:37

A problem I encountered is that when using a REST server, the TClientDataSet generated by ToClientDataSet cannot perform a Refresh. The standard grid controls call the TClientDataSet.Refresh procedure, which throws because there is no data provider defined.

For example, if I want a list of people, I have the server-side REST function like root/people. It calls some PersonRepository.FindAll function. The Client application would call this root/people REST method, get the JSON, encode it into a TClientDataSet. Then, the grid could display it. After a grid row has been modified by the user, the data is posted using the standard TClientDataSet.Post procedure. But how can the DataSet automatically call the server POST method to update a person information? And the PUT method to insert a new person and retrieve the new ID? What about the DELETE method?

Maybe I am missing something. But I don't see how to get rid of the client-side TDataSet features, as they are tightly coupled with many client visual components (cxGrid, cxTreeList, cxVerticalGrid...). And I don't see how to acheive this with current mORMot framework tools.

#10 mORMot 1 » mORMot and DataSets... » 2015-02-04 00:26:37

ludydoo
Replies: 5

Hi. Still trying to figure out if I can use mORMot for my application...

Yes I know, Datasets are not welcome here. But I have the DevExpress components, essential to my client's need in terms of grouping, filtering, ...

I would like to use ORM principles and be able to connect some kind of dataset to a DevExpress cxGrid (cause they're really awesome). And because my application is really about showing data and creating reports. I really really need those grids.

I would like to be able to update the grid's underlying data, directly from the grid, which is possible only, AFAIK, with a TClientDataSet (which is writable).

How is it possible to send changes to the REST server through a TClientDataSet (concerning Post, Update, Delete).

For example, I can Post to a ClientDataSet, but changes are only local. And how can I refresh?

#11 mORMot 1 » Question on DTOs, Entities and Aggregate Roots » 2015-02-03 18:33:36

ludydoo
Replies: 3

Hi,

I'm a bit confused. I read the documentation concerning DTOs, Value Objects, Entities and Aggregate Roots, but I have difficulty imagining how they could be implemented.

I looked at all the examples too, but could not find anything about them.

I understood that Value Objects are instances that hold a value (instances TTelephoneNumber, TPostalCode).

I see that DTOs should be immutable : for data transfer only. They can hold values like telephone number, integer, string...

I see that Entities are more like "logical" objects. Things corresponding to the business model. They have properties and value-object properties...

Then, Aggregate roots are like a hierarchy (w list and nested values) of entities and value objects.


I am confused on how would that be implemented. How would an aggregate root be implemented? Would that be a TSQLRecord?

How can Value Object and DTOs declarations be shared between client and server?

I think a larger example would be necessary, one including Aggregate roots, DTOs, Value Objects, Entities, Services, Service Factory... would be necessary !

If anyone can provide one, that would be nice!

#12 Re: mORMot 1 » Error on regression tests » 2015-02-03 18:25:15

Hi, Thanks for replying so quickly. And yes indeed, timezones are such a pain! I will run regression tests and will inform you of the results.

#13 Re: mORMot 1 » Error on regression tests » 2015-02-01 14:30:54

PDF error occurs at SynSelfTests.pas 7387 : Check(Hash32(MS.Memory,MS.Position)=Hash[embed]);

Value of CreatedAt : 135228614414
Value of Updated : 135228593934

#14 Re: mORMot 1 » Error on regression tests » 2015-02-01 14:25:35

I'm not sure it is with synopse. I formatted my HDD and reinstalled Windows 8.1. Reinstalled RAD Studio XE7. Now, I have the same errors on regression tests + TPdfDocument (Test 1.4). Could it be because I'm running on a MacBook with Bootcamp ?

#15 Re: mORMot 1 » Error on regression tests » 2015-01-30 19:05:21

Concerning the clock, I've previously set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal = 1 to fix some clock synchronization problem between Osx and Windows.

#16 Re: mORMot 1 » Error on regression tests » 2015-01-30 18:50:50

I run windows on a MAC using bootcamp. Maybe that changes something with the internal clock ?

Error lines :
Check(RExt.CreatedAt<=Updated);(SynSelfTests.pas #9231)
Check(RExt.CreatedAt<=Updated); (SynSelfTests.pas #9254)

Fails for tests

!  - External via REST: 21,893 / 170,353 FAILED  1.05s
!  - External via virtual table: 21,893 / 170,353 FAILED  1.51s
!  - External via REST with change tracking: 22,904 / 180,453 FAILED  2.23s

I can't really copy the stack trace, I don't have a tool for that...

What do you mean by data on disk ?

#17 mORMot 1 » Error on regression tests » 2015-01-27 06:35:39

ludydoo
Replies: 11

Hi,

I have this error when I try to run the regression tests (See 2.8)

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


1. Synopse libraries

 1.1. Low level common:
  - System copy record: 22 assertions passed  545us
  - TRawUTF8List: 110,007 assertions passed  44.07ms
  - TDynArray: 1,027,709 assertions passed  120.64ms
  - TDynArrayHashed: 1,200,629 assertions passed  86.30ms
  - TObjectListHashed: 999,871 assertions passed  334.07ms
  - TObjectDynArrayWrapper: 167,501 assertions passed  14.31ms
  - Fast string compare: 7 assertions passed  293us
  - IdemPropName: 30 assertions passed  157us
  - Url encoding: 132 assertions passed  1.14ms
  - GUID: 9,007 assertions passed  3.67ms
  - IsMatch: 599 assertions passed  304us
  - Soundex: 35 assertions passed  262us
  - Numerical conversions: 1,115,346 assertions passed  233.29ms
  - crc32c: 30,030 assertions passed  68.70ms
      pas 25.24ms 236.3 MB/s fast 2.91ms 2.0 GB/s sse42 1.29ms 511.3 MB/s
  - Curr 64: 20,053 assertions passed  957us
  - CamelCase: 11 assertions passed  136us
  - Bits: 4,774 assertions passed  157us
  - Ini files: 7,004 assertions passed  13.93ms
  - UTF8: 81,128 assertions passed  948.53ms
  - Iso 8601 date and time: 36,015 assertions passed  4.17ms
  - Url decoding: 1,100 assertions passed  615us
  - Mime types: 23 assertions passed  605us
  - TSynTable: 875 assertions passed  3.29ms
  - TSynCache: 404 assertions passed  389us
  - TSynFilter: 1,005 assertions passed  2.58ms
  - TSynValidate: 677 assertions passed  1.00ms
  - TSynLogFile: 42 assertions passed  1.04ms
  Total failed: 0 / 4,814,036  - Low level common PASSED  1.89s

 1.2. Low level types:
  - RTTI: 58 assertions passed  749us
  - Url encoding: 200 assertions passed  1.03ms
  - Encode decode JSON: 302,513 assertions passed  103.14ms
  - Variants: 5 assertions passed  487us
  - Mustache renderer: 142 assertions passed  1.64ms
  - TDocVariant: 71,670 assertions passed  97.02ms
  - BSON: 245,048 assertions passed  2.60ms
  - TSynTableStatement: 205 assertions passed  421us
  Total failed: 0 / 619,841  - Low level types PASSED  212.80ms

 1.3. Big table:
  - TSynBigTable: 19,177 assertions passed  47.53ms
  - TSynBigTableString: 16,072 assertions passed  18.63ms
  - TSynBigTableMetaData: 475,563 assertions passed  1.14s
  - TSynBigTableRecord: 375,563 assertions passed  2.68s
  Total failed: 0 / 886,375  - Big table PASSED  3.89s

 1.4. Synopse PDF:
  - TPdfDocument: 4 assertions passed  4.66ms
  - TPdfDocumentGDI: 8 assertions passed  446.45ms
  Total failed: 0 / 12  - Synopse PDF PASSED  453.91ms

 1.5. Cryptographic routines:
  - Adler32: 1 assertion passed  728us
  - MD5: 1 assertion passed  573us
  - SHA1: 5 assertions passed  601us
  - SHA256: 5 assertions passed  571us
  - AES256: 16,815 assertions passed  355.82ms
  - RC4: 1 assertion passed  288us
  - Base64: 11,994 assertions passed  120.03ms
  - CompressShaAes: 1,683 assertions passed  2.02ms
  Total failed: 0 / 30,505  - Cryptographic routines PASSED  486.45ms

 1.6. Compression:
  - In memory compression: 12 assertions passed  300.38ms
  - GZIP format: 19 assertions passed  570.64ms
  - ZIP format: 54 assertions passed  1.71s
  - SynLZO: 3,006 assertions passed  85.28ms
  - SynLZ: 30,219 assertions passed  535.07ms
  Total failed: 0 / 33,310  - Compression PASSED  3.20s


2. mORMot

 2.1. File based:
  - Database direct access: 10,138 assertions passed  155.50ms
  - Virtual table direct access: 12 assertions passed  1.05ms
  - TSQLTableJSON: 111,074 assertions passed  81.88ms
  - TSQLRestClientDB: 615,200 assertions passed  10.45s
  - Regexp function: 6,016 assertions passed  36.60ms
  Total failed: 0 / 742,440  - File based PASSED  10.73s

 2.2. File based memory map:
  - Database direct access: 10,136 assertions passed  156.94ms
  - Virtual table direct access: 12 assertions passed  899us
  - TSQLTableJSON: 111,074 assertions passed  80.31ms
  - TSQLRestClientDB: 615,199 assertions passed  10.74s
  - Regexp function: 6,016 assertions passed  41.75ms
  Total failed: 0 / 742,437  - File based memory map PASSED  11.02s

 2.3. File based WAL:
  - Database direct access: 10,138 assertions passed  173.81ms
  - Virtual table direct access: 12 assertions passed  928us
  - TSQLTableJSON: 111,074 assertions passed  79.03ms
  - TSQLRestClientDB: 615,200 assertions passed  10.56s
  - Regexp function: 6,016 assertions passed  27.46ms
  Total failed: 0 / 742,440  - File based WAL PASSED  10.84s

 2.4. Memory based:
  - Database direct access: 10,136 assertions passed  150.38ms
  - Virtual table direct access: 12 assertions passed  624us
  - TSQLTableJSON: 111,074 assertions passed  80.41ms
  - TSQLRestClientDB: 683,507 assertions passed  9.02s
  - Regexp function: 6,016 assertions passed  28.91ms
  - RTree: 140,000 assertions passed  671.64ms
  Total failed: 0 / 950,745  - Memory based PASSED  9.96s

 2.5. Basic classes:
  - TSQLRecord: 80 assertions passed  521us
  - TSQLRecordSigned: 200 assertions passed  2.97ms
  - TSQLModel: 3 assertions passed  291us
  - TSQLRestServerFullMemory: 782,290 assertions passed  963.21ms
  Total failed: 0 / 782,573  - Basic classes PASSED  968.95ms

 2.6. Client server access:
  - TSQLHttpServer: 2 assertions passed  3.47ms
     using HTTP API 2.0
  - TSQLHttpClient: 3 assertions passed  17.08ms
     using TSQLHttpClientWinHTTP
  - HTTP client keep alive: 3,087 assertions passed  342.79ms
     4818 B, first 2.62ms, done 326.06ms i.e. 3066/s, aver. 326us, 14.3 MB/s
  - HTTP client multi connect: 3,087 assertions passed  303.33ms
     4818 B, first 477us, done 284.96ms i.e. 3509/s, aver. 284us, 16.4 MB/s
  - HTTP client encrypted: 3,087 assertions passed  332.61ms
     4818 B, first 356us, done 318.30ms i.e. 3141/s, aver. 318us, 14.6 MB/s
  - Named pipe access: 3,089 assertions passed  723.90ms
     4818 B, first 271.97ms, done 243.43ms i.e. 4107/s, aver. 243us, 19.2 MB/s
  - Local window messages: 3,088 assertions passed  32.31ms
     4818 B, first 69us, done 28.17ms i.e. 35492/s, aver. 28us, 165.9 MB/s
  - Direct in process access: 3,056 assertions passed  29.43ms
     4818 B, first 28us, done 22.98ms i.e. 43506/s, aver. 22us, 203.4 MB/s
  - HTTP several DB servers: 9,604 assertions passed  1.38s
     4818 B, first 533us, done 284.53ms i.e. 3514/s, aver. 284us, 16.4 MB/s
     4818 B, first 608us, done 445.60ms i.e. 2244/s, aver. 445us, 10.4 MB/s
     4818 B, first 621us, done 458.62ms i.e. 2180/s, aver. 458us, 10.1 MB/s
  Total failed: 0 / 28,103  - Client server access PASSED  3.18s

 2.7. Service oriented architecture:
  - Weak interfaces: 56 assertions passed  1.30ms
  - Service initialization: 243 assertions passed  4.75ms
  - Direct call: 589,701 assertions passed  43.89ms
  - Server side: 589,720 assertions passed  23.65ms
  - Client side REST: 589,725 assertions passed  386.71ms
  - Client side REST result as object: 589,719 assertions passed  381.94ms
  - Client side REST locked: 589,722 assertions passed  387.39ms
  - Client side REST synchronized: 589,722 assertions passed  6.51s
  - Client side REST background thread: 589,722 assertions passed  3.26s
  - Client side REST weak authentication: 589,719 assertions passed  390.45ms
  - Client side http basic authentication: 589,719 assertions passed  498.01ms
  - Client side REST custom record layout: 589,719 assertions passed  397.41ms
  - Client side JSONRPC: 589,719 assertions passed  433.01ms
  - Test over HTTP: 10,130 assertions passed  832.02ms
  - Security: 135 assertions passed  1.14ms
  - Mocks and stubs: 30,031 assertions passed  38.04ms
  Total failed: 0 / 6,527,502  - Service oriented architecture PASSED  13.61s

 2.8. External database:
  - TQuery: 2,003 assertions passed  5.18ms
  - SynDBRemote: 30,095 assertions passed  299.58ms
  - External records: 2 assertions passed  486us
  - Auto adapt SQL: 543 assertions passed  30.76ms
  - Crypted database: 253,275 assertions passed  138.16ms
[ins]
!  - External via REST: 21,893 / 170,353 FAILED  1.05s
!  - External via virtual table: 21,893 / 170,353 FAILED  1.51s
!  - External via REST with change tracking: 22,904 / 180,453 FAILED  2.23s
  - JET database: 7,007 assertions passed  798.29ms
  Total failed: 66,690 / 814,084  - External database FAILED  6.08s
[/ins]

 2.9. Multi thread process:
  - Create thread pool: 1 assertion passed  5.63ms
  - TSQLRestServerDB: 4,822 assertions passed  88.42ms
     1=18272/s  2=41814/s  5=36559/s  10=42996/s  30=25054/s  50=35984/s
  - TSQLRestClientDB: 4,822 assertions passed  134.98ms
     1=46077/s  2=39757/s  5=39024/s  10=39169/s  30=13662/s  50=6858/s
  - TSQLRestClientURINamedPipe: 2,412 assertions passed  1.63s
     1=1105/s  2=1200/s  5=544/s
  - TSQLRestClientURIMessage: 3,222 assertions passed  338.54ms
     1=4027/s  2=6994/s  5=6397/s  10=3645/s
  - TSQLHttpClientWinHTTP_HTTPAPI: 4,820 assertions passed  432.18ms
     1=2713/s  2=6608/s  5=5561/s  10=9225/s  30=8410/s  50=8942/s
  - TSQLHttpClientWinSock_WinSock: 4,822 assertions passed  334.27ms
     1=12542/s  2=11113/s  5=6520/s  10=8075/s  30=5537/s  50=5559/s
  - Locked: 4,822 assertions passed  105.70ms
     1=46339/s  2=39706/s  5=40596/s  10=38077/s  30=13645/s  50=13538/s
  - Unlocked: 4,821 assertions passed  98.36ms
     1=45714/s  2=21572/s  5=20623/s  10=34231/s  30=34671/s  50=20134/s
  - Background thread: 4,821 assertions passed  204.73ms
     1=21349/s  2=17585/s  5=10390/s  10=10316/s  30=16384/s  50=7480/s
  - Main thread: 4,818 assertions passed  171.14ms
     1=39404/s  2=22253/s  5=8532/s  10=10049/s  30=19415/s  50=15063/s
  Total failed: 0 / 44,203  - Multi thread process PASSED  3.56s


Using mORMot 1.18.752 FTS3
Running on wSeven_64 with code page 1252
TSQLite3LibraryStatic running 3.8.8.1 with internal MM
Generated with: Delphi XE5 compiler

Time elapsed for all tests: 80.17s
Tests performed at 2015-01-27 01:16:54

Total assertions failed for all test suits:  66,690 / 17,758,606
! Some tests FAILED: please correct the code.

Done - Press ENTER to Exit

Board footer

Powered by FluxBB