After Migration > random EAccessViolation errors

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
PizzaProgram
Posts: 3
Joined: Mon 17 Sep 2018 10:17

After Migration > random EAccessViolation errors

Post by PizzaProgram » Mon 17 Sep 2018 12:26

Before changing all IBX components to IBDAC >> this project was running rock stable for 10+ years.
(Delphi 7 + FB 2.5 ; 50+ forms ; 200+ data componenst)
Now it is crashing at random places, when the program tries to access some local Firebird (2.5.8) data.
Even simple code like: DBDB.ping; or Customers.Open; can cause it, but not always.
(Running debugging step by step)

Project yyyyy.exe raised exception class EAccessViolation with message 'Access violation at address 400027A2 in module 'rtl70.bpl'. Write of address 00435DCA'. Process stopped. Use Step or Run to continue.

Timer...
try
dt2.DBDB.Ping;
>> Result := dt2.DBDB.Connected ; // stops here for example

if moving the mouse over "Connected" >> it shows True !!

- yes, the database itself is at local place C:\...
- yes, it has connected first, loaded all kind of data and all this happens AFTER that (in a timer)
- yes, I use try ... except ... to catch the error

I really have no more ideas how to debug it further.

Can it be that the component is incompatible with FasttMM4.pas memory manager?

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

Re: After Migration > random EAccessViolation errors

Post by ViktorV » Mon 17 Sep 2018 13:14

Unfortunately, we cannot reproduce the issue using the information provided by you.
You are the only user who contacted us with a similar problem. To understand the issue cause we need a test sample in which the issue is stably reproduced. As soon as we get such a sample and if the issue cause is in the code of our product, we will try to fix it in the shortest possible time.
Therefore, please compose a small sample demonstrating the described behavior and send it to us using the contact form https://devart.com/company/contactform.html including the scripts for creating database objects.
Note, AV occurs not in our BPL file, but in the standard rtl70.bpl.

PizzaProgram
Posts: 3
Joined: Mon 17 Sep 2018 10:17

Re: After Migration > random EAccessViolation errors

Post by PizzaProgram » Mon 17 Sep 2018 15:39

[OFF]
please compose a small sample
Dear Victor,
As you probably already guessed, it is IMPOSSIBLE to remove any part of the project developed 15 year long without breaking it. Every form depends on every other modules.
Also it is not possible to share our complete work including all kinds of secret information about our clients.
Note, AV occurs not in our BPL file, but in the standard rtl70.bpl.
YES, I've noticed. And of course, this is the most convenient thing to say. But the reality tells otherwise:
- Your migration wizard dropped an AV error at the end too !

I know there is no good solution for this (except you would give me kind of a full-source-code trial version and I would spend a few more days to debug it... but I don't have more time to do it.)
To be honest I'm just too frustrated about spending (wasting) 6 days on something promised to be "easy migration" at the advertisement site while I could have had use that time to migrate into other components like UIB and use it on ALL my 4 PCs for free.

So I've lost confidence into this. Sorry.
(No need to answer, I've closed this project)

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

Re: After Migration > random EAccessViolation errors

Post by ViktorV » Tue 18 Sep 2018 11:09

You don't need to send us your working project with commercial data. We ask you to compose a small sample where the issue is stably reproduced.
As we wrote earlier, the Migration Wizard serves only to simplify routine operations, and after the conversion, the project might be uncompiled. This wizard replaces IBX components in the specified project (dfm-and pas-files) with IBDAC components. If IBDAC components do not have the same properties and methods that IBX components do, you should replace them manually.
As we have already mentioned, you are the only user who contacted us with a similar problem. To understand its cause, we need a test sample, on which the issue is stably reproduced.

Post Reply