7.02 crashes with Assertions ON

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

7.02 crashes with Assertions ON

Post by FredS » Wed 07 Jun 2017 20:56

If I compile your source into my project it crashes with an Assert:
---------------------------
Debugger Exception Notification
---------------------------
Project PA.exe raised exception class EAssertionFailed with message 'Assertion failure (D:\VCL\UniDAC\Source\MemData.pas, line 8013)'.
---------------------------
Break Continue Help
---------------------------


:0000000000410DA6 @RaiseAtExcept + $106
:00000000008E907C CSAssertErrorHandler + $16C
:0000000000411A9C @Assert + $1C
MemData.TBlockManager.Create
MemData.TMemData.Create
CRAccess.TCRRecordSet.Create
IBCClassesUni.TGDSRecordSet.Create
IBCClassesUni.TGDSConnection.GetDatabaseParameters
IBCClassesUni.TGDSConnection.Connect('')
DBAccess.TCustomDAConnection.DoConnect

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: 7.02 crashes with Assertions ON

Post by ViktorV » Thu 08 Jun 2017 09:13

Unfortunately, we could not reproduce the problem.
In order to get a detailed answer, please compose a small sample demonstrating the issue and send it to us using the contact form https://www.devart.com/company/contactform.html including scripts for creating and filling database objects. Also please specify the exact versions of the used Firebird and IDE.

FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

Re: 7.02 crashes with Assertions ON

Post by FredS » Thu 08 Jun 2017 23:23

ViktorV wrote:Unfortunately, we could not reproduce the problem.
In order to get a detailed answer, please compose a small sample demonstrating the issue and send it to us using the contact form https://www.devart.com/company/contactform.html including scripts for creating and filling database objects. Also please specify the exact versions of the used Firebird and IDE.
Change the first line in Dac.inc to:

Code: Select all

{$B-} {$Z4} {$C+}
..and all will be clear :)

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: 7.02 crashes with Assertions ON

Post by ViktorV » Mon 12 Jun 2017 15:08

Thank you for the information. We have reproduced the issue and investigation is in progress. We will inform you when we have any results.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: 7.02 crashes with Assertions ON

Post by ViktorV » Tue 05 Sep 2017 14:34

To solve the issue, please try to change the code in MemData.pas module:

Code: Select all

  TItemHeader = packed record
    Block: PBlockHeader;
    Prev: PItemHeader;
    Next: PItemHeader;
    Rollback: PItemHeader;
    Status: TItemStatus;
    UpdateResult: TUpdateRecAction;
    Order,
    SavedOrder: integer;
    Flag: byte;
    FilterResult: TItemFilterState;
  end;
to

Code: Select all

TItemHeader = packed record
    Block: PBlockHeader;
    Prev: PItemHeader;
    Next: PItemHeader;
    Rollback: PItemHeader;
    Status: TItemStatus;
    UpdateResult: TUpdateRecAction;
    Order,
    SavedOrder: integer;
    Flag: byte;
    FilterResult: TItemFilterState;
  {$IFOPT Z+}{$ELSE}
    AlignByte: byte; // for align struct size only: SizeOf(TItemHeader) mod 2 = 0
  {$ENDIF}
  end;

FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

Re: 7.02 crashes with Assertions ON

Post by FredS » Tue 05 Sep 2017 18:23

ViktorV wrote:To solve the issue
Hello Viktor, thanks but I assume this will be in the upcoming release, so I'll just wait for that. This was only an issue when I needed to send out an app with assertions on for remote client testing.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: 7.02 crashes with Assertions ON

Post by ViktorV » Wed 06 Sep 2017 06:49

The new UniDAC release is planned for next week.

Post Reply