LiteDAC AV in direct mode

Discussion of open issues, suggestions and bugs regarding LiteDAC (SQLite Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Tarifer
Posts: 21
Joined: Thu 26 May 2011 08:13

LiteDAC AV in direct mode

Post by Tarifer » Fri 17 Aug 2012 09:50

Hello, I use LiteDAC trial (Delphi XE2, win32).
In direct mode I sometimes get Access Violation bug. Call stack is:

Code: Select all

:004050eb Move + $67
:00fca7dc ; D:\Work\MobileTariff\SVN\trunk\Tarifer\Tarifer.exe
:00fcb28b ; D:\Work\MobileTariff\SVN\trunk\Tarifer\Tarifer.exe
:00fcb30c ; D:\Work\MobileTariff\SVN\trunk\Tarifer\Tarifer.exe
:00fcb46f ; D:\Work\MobileTariff\SVN\trunk\Tarifer\Tarifer.exe
:00fe1961 _sqlite3_enable_shared_cache + $9626
:00fe19ab _sqlite3_enable_shared_cache + $9670
:00fe1a57 _sqlite3_enable_shared_cache + $971C
:00ff196c _sqlite3_bind_parameter_count + $C4B8
:00ff1e43 _sqlite3_bind_parameter_count + $C98F
:00ff0b26 _sqlite3_bind_parameter_count + $B672
:00ff2620 _sqlite3_bind_parameter_count + $D16C
:00ff2230 _sqlite3_bind_parameter_count + $CD7C
:00ff24e5 _sqlite3_bind_parameter_count + $D031
:00ff24b9 _sqlite3_bind_parameter_count + $D005
:00ff1c99 _sqlite3_bind_parameter_count + $C7E5
:00ff2066 _sqlite3_bind_parameter_count + $CBB2
:010030e7 _sqlite3_prepare_v2 + $A22
:01006f63 _sqlite3_prepare_v2 + $489E
:01011511 _sqlite3_prepare_v2 + $EE4C
:01012cb2 _sqlite3_prepare_v2 + $105ED
:01013586 _sqlite3_prepare_v2 + $10EC1
:010023d4 _sqlite3_bind_parameter_count + $1CF20
:010025ef _sqlite3_bind_parameter_count + $1D13B
:010026e0 _sqlite3_prepare_v2 + $1B
:01024300 TSQLiteCommand.Prepare + $C0
:00e73e5b TCRRecordSet.InternalPrepare + $B
:00e74604 TCRRecordSet.ExecFetch + $10
:00df8542 TData.Open + $3A
:00e014c9 TMemData.Open + $5
:00dde9df TDataSet.DoInternalOpen + $1F
:00dde953 TDataSet.SetActive + $5B
:00e92612 TCustomDADataSet.SetActive + $42
When I try again same query, it usually works.

If DirectMode=False, it works fine, no AV occured.

I can send test project to support.

Thanks,
Dmitry Ukolov.

Tarifer
Posts: 21
Joined: Thu 26 May 2011 08:13

Re: LiteDAC AV in direct mode

Post by Tarifer » Fri 17 Aug 2012 10:03

I sent test project to support@devart.com.

Dmitry Ukolov.

ZEuS
Devart Team
Posts: 236
Joined: Thu 05 Apr 2012 07:32

Re: LiteDAC AV in direct mode

Post by ZEuS » Fri 17 Aug 2012 10:43

Thank you for the information.
We have fixed the error and will include the fix in the next LiteDAC build.
For now you can develop and test your applicaiton with DirectMode set to False.

TomekC
Posts: 8
Joined: Mon 20 Aug 2012 11:36
Location: Poland

Re: LiteDAC AV in direct mode

Post by TomekC » Tue 21 Aug 2012 09:36

Hi.
I might have the same problem but I'm not sure about it.
During adding data to database in Direct Mode I get Access Violation.
If I don't use Direct Mode it works fine.
Also Access Violation only happens when there are more then 8 columns in the table.
I use LiteDac trial version.

Call stack:

Code: Select all

:00404a87 Move + $67
:00623f80 ; C:\projekty\DelphiXE2\sqlitetest\Project1.exe
:00624a2f ; C:\projekty\DelphiXE2\sqlitetest\Project1.exe
:00624ab0 ; C:\projekty\DelphiXE2\sqlitetest\Project1.exe
:00624c13 ; C:\projekty\DelphiXE2\sqlitetest\Project1.exe
:006496b2 _sqlite3_bind_parameter_count + $AA5A
:0066bcfb _sqlite3_prepare_v2 + $FE92
:0066c456 _sqlite3_prepare_v2 + $105ED
:0066ccd4 _sqlite3_prepare_v2 + $10E6B
:0065bb78 _sqlite3_bind_parameter_count + $1CF20
:0065bd93 _sqlite3_bind_parameter_count + $1D13B
:0065be84 _sqlite3_prepare_v2 + $1B
:0067d8c8 TSQLiteCommand.Prepare + $C0
:005eaf33 TCRRecordSet.InternalPrepare + $B
:00608589 TCustomDADataSet.InternalExecute + $11
Unit1.TForm1.Button2Click($23CB810)
Also sending test project to support@devart.com

ZEuS
Devart Team
Posts: 236
Joined: Thu 05 Apr 2012 07:32

Re: LiteDAC AV in direct mode

Post by ZEuS » Tue 21 Aug 2012 12:31

Thank you for the information.
Both errors has the same cause, we have already fixed the problem and will include the fix in the next build of LiteDAC.
For now we have sent you a fixed LiteStatic.dcu module by email.
Try to replace LiteStatic.dcu in the [the LiteDAC installation folder]\Lib\Win32 folder with the dcu from the archive and check if the error persists.
Please let us know if the problem is resolved.

TomekC
Posts: 8
Joined: Mon 20 Aug 2012 11:36
Location: Poland

Re: LiteDAC AV in direct mode

Post by TomekC » Tue 21 Aug 2012 13:11

Thank you very much.
Replacing LiteStatic.dcu resolves the problem.

Post Reply