You are not logged in.
All former SQLite3\SQLite3*.pas units have been renamed to SQLite3\mORMot*.pas to match the database-agnostic scheme of the mORMot framework.
This is a major break change, so all your "uses" clauses in your code is to be change to follow the new naming.
See this commit, which includes documentation:
http://synopse.info/fossil/info/1c6fe7a1fd
During the same winter cleaning, we get rid of the deprecated Zeos directory in our source code repository:
http://synopse.info/fossil/info/c0cd24feea
Comments about http://blog.synopse.info/post/2012/11/2 … e3TomORMot
Offline
Hello,
Good to see that there are some cleanups, but I think it went little bit too fad,
Downloaded latest code (at the leaves) and now some files are missing, it might be release thing, but would be nice to get all latest files from there also. Like now some files changed the name, I need to get rid of old files so I know which files are deprecated... And after reapplying the (zip or what not) content to disk some are missing...
like : sqlite3fts3.obj
Now I really do not know the best way top get working version. Because if I unzip the latest release I'll have extra files in the my local repository...
Any ways, which would be best way to get the latest files with the 1.18 "prerelease" version to the test...
-Tee-
Offline
See http://synopse.info/fossil/wiki?name=Get+the+source
All is explained here.
The revision 1.18 is on track and will contain all files.
I'm just waiting for feedback before freezing the code.
thanks for the interest-
:-)
Offline
Another BREAKING CHANGE in TSQLRestServerCallBackParams use: all method-based services should now be a procedure, and use aParams.Results()/Error() methods to return the content - new definition of aParams features now wfull access to incoming/outgoing context and parameters.
Offline
Hi,
The revision 1.18 is on track and will contain all files.
I'm just waiting for feedback before freezing the code.
I get this error when building with latest source code
[DCC Warning] mORMot.pas(27878): W1036 Variable 'V' might not have been initialized
Last edited by Bojop (2012-12-04 21:58:23)
Offline
Warning is not error, it is a warning .
"Uncertainty in science: There no doubt exist natural laws, but once this fine reason of ours was corrupted, it corrupted everything.", Blaise Pascal
Offline
Hi ab,
With which compiler?
I use XE
when running my program i get an exception after calling an service for the second time.
The first time the service runs with no error.
Exception class EInterfaceFactoryException
program stops at line 27925 in Mormot with latest Source Code
With the latest source code the error with building my source is gone, but the exception remains.
this happens with all service calls, first time OK, second time gives exception.
Offline
Hi ab,
when running my program i get an exception after calling an service for the second time.
The first time the service runs with no error.Exception class EInterfaceFactoryException
program stops at line 27925 in Mormot with latest Source CodeWith the latest source code the error with building my source is gone, but the exception remains.
this happens with all service calls, first time OK, second time gives exception.
on the server side i get an EAccesViolation, program stops at line 29343 in Syncommons.
when I disable all the logging, the program runs without an error?
Offline
I just launched the regression tests with all logging included.
All interface-based service code run as expected, and the logs where written with no problem (more than 280 MB just for the TTestServiceOrientedArchitecture and TTestExternalDatabase tests).
Without code to reproduce the issue, nor a more complete error message (what is the FULL error message associated with the exception?) difficult to guess what is wrong.
Please download the latest version from the repository... code is evolving very quickly, so line numbers are not useful for me.
Offline
I just launched the regression tests with all logging included.
All interface-based service code run as expected, and the logs where written with no problem (more than 280 MB just for the TTestServiceOrientedArchitecture and TTestExternalDatabase tests).
Without code to reproduce the issue, nor a more complete error message (what is the FULL error message associated with the exception?) difficult to guess what is wrong.
Please download the latest version from the repository... code is evolving very quickly, so line numbers are not useful for me.
latest source won't compile
[DCC Error] SynCommons.pas(4390): E2439 Inline function must not have open array argument
i use XE
can i sent you the logging file's?
Offline
Hi Ab,
source stil won't compile
[DCC Error] mORMot.pas(5697): E2439 Inline function must not have open array argument
Offline
Hi Ab,
Latest source now compiles fine, thanks.
For my problem, I cannot find the cause.
With the source code from 03-12-2012 13:53 my program runs fine without errors.
With the source code from 04-12-2012 17:27 and all newer source code my program runs and stop with error's.
With the source code from 09-12-2012 09:46 the error's are:
Client: Invalid fake .... interface call and stops at line 28102 in mORMot
First chance exception at $7760FC56. Exception class EInterfaceFactoryException with message 'Invalid fake ICheckHaalPloegListInfoJSON.HaalPloegListInfoJSON interface call: : '. Process PloegPlaatje.exe (5020)
Log:
20121209 20401948 EXC EOSError ("System Error. Code: 12152.\r\n") at 00022209 SysUtils.RaiseLastOSError stack trace API 00107A30 SynCommons.SynRtlUnwind (28726)
Server: EAccessViolation and stops at line 10751 in SynCommons
First chance exception at $7760FC56. Exception class EAccessViolation with message 'Access violation at address 004CD08C in module 'PloegNak3.exe'. Read of address 6F6C706D'. Process PloegNak3.exe (5324)
Call Stack:
SynCommons.StrLen(???)
SynCommons.TTextWriter.AddNoJSONEscape($6F6C706D,0)
SynCommons.TSynLog.AddRecursion(1,sllEnter)
SynCommons.TSynLog.DoEnterLeave(sllEnter)
SynCommons.TSynLog._AddRef
:0040a768 @IntfCopy + $C
mORMotHttpServer.TSQLHttpServer.Request('/root/Dienst?session_signature=xxxxxxxxxxxxxxxxxxxxx','BEGIN','Accept: */*'#$D#$A'Content-Type: application/json; charset=UTF-8'#$D#$A'User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows; FREE)'#$D#$A'Host: xxxx_xxxxxx:xxx'#$D#$A'Content-Length: 0'#$D#$A'Connection: Keep-Alive'#$D#$A'Cache-Control: no-cache'#$D#$A'Pragma: no-cache'#$D#$A'RemoteIP: x.x.x.x'#$D#$A,'','application/json; charset=UTF-8','','','')
log: a lot of this
20121209 20495656 - …À|F;urê3À_^]Â 00.106.621
20121209 20495656 - 00007759 System.@FinalizeArray 00.106.627
20121209 20495656 + 000FE909 mORMot.TSQLRestServer.URI (21904)
20121209 20495656 + …À|F;urê3À_^]Â
20121209 20392926 + 001147FB SynSQLite3.TSQLDatabase.DBClose (3791)
20121209 20392926 - 00114887 SynSQLite3.TSQLDatabase.DBClose (3804) 00.001.789
20121209 20392926 EXC ECrtSocket ("Socket bind creation error on 0.0.0.0:xxx (10048)") at 0017D480 SynCrtSock.TCrtSocket.OpenBind (1355) stack trace API 000E1C70 SynCommons.SynRtlUnwind (28726) 000055C8 System.@HandleAnyException 0017D480 SynCrtSock.TCrtSocket.OpenBind (1355) 0017D2C7 SynCrtSock.TCrtSocket.Bind (1313) 0017E204 SynCrtSock.THttpServer.Create (2114) 00183D66 mORMotHttpServer.TSQLHttpServer.Create (406) 00184040 mORMotHttpServer.TSQLHttpServer.Create (435) 00192998 PloegServer.TRotaServer.Create (3674) 00192B45 PloegServer.MakeServer (3742) 00005C30 System.@StartExe
20121209 20401947 + 000FE909 mORMot.TSQLRestServer.URI (21904)
20121209 20401947 + 20121209 20401947 EXCOS EAccessViolation (C0000005) at 000CC08C SynCommons.StrLen (10751) stack trace API 000E1C70 SynCommons.SynRtlUnwind (28726) 000055C8 System.@HandleAnyException 00009768 System.@IntfCopy 00184239 mORMotHttpServer.TSQLHttpServer.Request (490) 0018207D SynCrtSock.THttpServerGeneric.Request (3973) 0017E42D SynCrtSock.THttpServer.Process (2208) 0017EBC7 SynCrtSock.THttpServerResp.Execute (2348) 00043F91 Classes.ThreadProc 0000602E System.ThreadWrapper
20121209 20401947 - 000FFE91 mORMot.TSQLRestServer.URI (22330) 00.000.190
After disable all logging calls to TSQLLog, my program runs fine again without errors.
do you know what is the cause?
Offline
Hi Ab,
You seem to use several exceptions interceptors at once.
Try to use only one.
I don't use exceptions interceptors afaik.
I have no errors with
with TSQLLog.Family do
begin
Level := LOG_VERBOSE;
PerThreadLog := False;
DestinationPath := 'L:\Log\Server\SQL\';
end;
I have errors when
PerThreadLog := True;
but with the latest source code from today 10-12-2012 16:18 all errors are gone.
So, thank you very much.
Offline
Yes I made a good code refactoring in order to render logging stronger.
Happy it works for you.
I wonder if it could not be a good idea to add a thread id column in the logs.
It could help the viewer to be multi thread ready, and more useful on server side for instance.
What do you think?
Offline
I wonder if it could not be a good idea to add a thread id column in the logs.
It could help the viewer to be multi thread ready, and more useful on server side for instance.
What do you think?
Yes, I think that is a good idea.
Offline
That's it.
Thread information has been added to the logs.
If new property TSynLogFamily.PerThreadLog is set to ptIdentifiedInOnFile, a new column will be added for each logged row.
See http://synopse.info/fossil/info/7e1bdd7e93
LogViewer has been updated to allow easy and efficient multi-thread process logging.
Performance is still awesome: when the whole multi-threaded 10,500,000 regression tests are executed, the 390 MB log file generated is loaded with no delay by the LogViewer, and detailed per-thread inspection is made very easy.
Offline