#1 2016-12-10 12:43:36

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

"cannot rollback - no transaction is active" - any hints?

Hello Arnaud,
What can you see/guess from the following logs?
Would an inappropriate call to "rollback" cause the db server stop working?
Thanks.


mORMot logs:


20161210 18365549 EXC   ESQLite3Exception {"ErrorCode":1,"SQLite3ErrorCode":2,"Message":"Error SQLITE_ERROR (1) [Step] using 3.15.1 - cannot rollback - no transaction is active, extended_errcode=1"} at 0075E95E  stack trace API 00750A5A 0040A92C

20161210 18365746 EXC   EORMBatchException {"Message":"TDbServer.EngineBatchSend: TDbServer.TransactionBegin timeout"} at 008C3A13  stack trace API 00750A5A 0040A92C

// 3 similar "TDbServer.EngineBatchSend: TDbServer.TransactionBegin timeout" here...

20161210 18371327 EXCOS EAccessViolation (C0000005) at 0076CB08  stack trace 0040B440 0040B940 7C80A284 00E31FCF 008F9D9B 008FE9D1 004AEC7D 00542ABD 0040B34A 004AEB63 004AEBCB 7C80B713

// 2 similar "TDbServer.EngineBatchSend: TDbServer.TransactionBegin timeout" here...

20161210 18374706 EXC   ESynException {"Message":"Reentrant TSynMonitor.ProcessStart"} at 0073CFBC  stack trace API 00750A5A 0040A92C

20161210 18383854 EXCOS EAccessViolation (C0000005) at 0076CB08  stack trace 0040B440 0040B940 7C80A284 00E31FCF 008F9D9B 008FE9D1 004AEC7D 00542ABD 0040B34A 004AEB63 004AEBCB 7C80B713

// 2 similar "TDbServer.EngineBatchSend: TDbServer.TransactionBegin timeout" here...

20161210 18384949 EXCOS EAccessViolation (C0000005) at 004059DA  stack trace 03837615 004AEC7D 00542ABD 0040B34A 004AEB63 004AEBCB 7C80B713

20161210 18385149 EXCOS EAccessViolation (C0000005) at 00405925  stack trace 00542ABD 0040B34A 004AEB63 004AEBCB 7C80B713

// 3 more "EXCOS EAccessViolation (C0000005) at 00405925" errors here...


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

#2 2016-12-10 15:46:45

mpv
Member
From: Ukraine
Registered: 2012-03-24
Posts: 1,571
Website

Re: "cannot rollback - no transaction is active" - any hints?

Please, compile your project with map file. It give you a proc names instead of addresses in the exception logs. To enable map set Compiler options->symbol reference info to Reference info

Offline

#3 2016-12-10 16:50:08

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,667
Website

Re: "cannot rollback - no transaction is active" - any hints?

I guess there is something wrong with your SQL statement executed in first line, during the Batch sequence.

Also ensure you have the latest revision of the framework: current is 1.18.3238.
We fixed some issues with Batch processes some weeks ago.

Please do NOT post huge logs in the forum.
Put the logs in a link, using GoogleDrive or PasteBin, as stated by the forum rules: http://synopse.info/forum/misc.php?action=rules

Offline

#4 2016-12-11 08:35:56

edwinsn
Member
Registered: 2010-07-02
Posts: 1,218

Re: "cannot rollback - no transaction is active" - any hints?

@mpv,

Thanks, will include the "symbol reference info" from now on.

@ab,

Thanks, the version I'm using is from Dec 4, 2016 (https://github.com/synopse/mORMot/commi … 1471514b3e), so I think it's ok.

Update 1:
I'll check the version of the executable in question and compare it with the mORMot version. Yes, I remember that fix - it's about "thread b" might wrongly commit transaction started by "thread a", right?

Re the log entries, to be honest, it's only 11 lines, it's far from huge, right? smile

Last edited by edwinsn (2016-12-11 08:52:08)


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

Board footer

Powered by FluxBB