Page 1 of 1

7.02 crashes with Assertions ON

Posted: Wed 07 Jun 2017 20:56
by FredS
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

Re: 7.02 crashes with Assertions ON

Posted: Thu 08 Jun 2017 09:13
by ViktorV
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.

Re: 7.02 crashes with Assertions ON

Posted: Thu 08 Jun 2017 23:23
by FredS
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 :)

Re: 7.02 crashes with Assertions ON

Posted: Mon 12 Jun 2017 15:08
by ViktorV
Thank you for the information. We have reproduced the issue and investigation is in progress. We will inform you when we have any results.

Re: 7.02 crashes with Assertions ON

Posted: Tue 05 Sep 2017 14:34
by ViktorV
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;

Re: 7.02 crashes with Assertions ON

Posted: Tue 05 Sep 2017 18:23
by FredS
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.

Re: 7.02 crashes with Assertions ON

Posted: Wed 06 Sep 2017 06:49
by ViktorV
The new UniDAC release is planned for next week.