Assertion failure: MyClasses.pas, line 2651
-
upscene
Assertion failure: MyClasses.pas, line 2651
Hi,
During a data transfer process, a customer reported the following.
Everything was working fine, then this started happening:
Error: Access violation at address 034267AB in module 'dbwc_mysql.dll'. Write of address 00000004
(in my code)
Next:
Opening source query [select * from IndexedSearch_default_words]
Error: Assertion failure (E:\Developing\Components\CrMyDAC\Source\MyClasses.pas, line 2651)
?
Opening source query [select * from IndexedSearch_docInfo]
Error: Assertion failure (E:\Developing\Components\CrMyDAC\Source\MyClasses.pas, line 2651)
And this continued for every table...
Any idea what suddenly could cause this assertion error?
--
Martijn Tonies
Upscene Productions
During a data transfer process, a customer reported the following.
Everything was working fine, then this started happening:
Error: Access violation at address 034267AB in module 'dbwc_mysql.dll'. Write of address 00000004
(in my code)
Next:
Opening source query [select * from IndexedSearch_default_words]
Error: Assertion failure (E:\Developing\Components\CrMyDAC\Source\MyClasses.pas, line 2651)
?
Opening source query [select * from IndexedSearch_docInfo]
Error: Assertion failure (E:\Developing\Components\CrMyDAC\Source\MyClasses.pas, line 2651)
And this continued for every table...
Any idea what suddenly could cause this assertion error?
--
Martijn Tonies
Upscene Productions
-
swierzbicki
- Posts: 451
- Joined: Wed 19 Jan 2005 09:59
-
upscene
-
upscene
I found this when modifiyng also tables and some client was connected... Imagine a query "Select * from table", and you modify table and add or delete a field, then when you refresh data of your query a new un-notified field is added or deleted, and fields are shifted. I would say only solution for this is before any operation recheck fields, but this would make mydac slow.
-
upscene
Could it be related to the ConnectionTimeout property? Or is that only used when attempting to connect?
--
Martijn Tonies
Database Developer Tools
Upscene Productions
http://www.upscene.com
--
Martijn Tonies
Database Developer Tools
Upscene Productions
http://www.upscene.com
-
upscene
> I do not modify the FetchAll property (as far as I can see).
This error can appear only in FetchAll=False mode.
>> Problem must appear only on closing underfetched datasets.
In other words, if you set FetchAll to False, open large dataset and try to close it before reach for Eof.
As we can see, we can do nothing without example.
This error can appear only in FetchAll=False mode.
>> Problem must appear only on closing underfetched datasets.
In other words, if you set FetchAll to False, open large dataset and try to close it before reach for Eof.
As we can see, we can do nothing without example.
-
Guest
This happens while transferring data from one MySQL db to another with a simple:In other words, if you set FetchAll to False, open large dataset and try to close it before reach for Eof.
As we can see, we can do nothing without example.
Code: Select all
while not qrySource.EOF
do begin
set parameter values ...
execute target INSERT statement, do error handling and so on
qrySource.Next ...
end;
qrySource.Close;
Could there be something happening at the server side that could cause the source dataset to return True for EOF? For example, if the dataset is "open" for too long?
--
Martijn Tonies
Upscene Productions
-
upscene
Here, in the mids of a full data-transfer progress:
You see? It's happily transferring rows and all of the sudden, it get's an AV. The transfer process then proceeds to the next table, but the components raise an Assertion Failure op opening a source query.
It's MyDAC version 4.30.0.10
--
Martijn Tonies
Upscene Productions
Opening source query [select * from DataForm_entryData]
Starting destination transaction...
Preparing destination query [insert into dataform_entrydata (DataForm_entryId, DataForm_fieldId, wobjectId, value) values (:p0, :p1, :p2, :p3)]
Transferring data...
Committing... [1000]
Committing... [2000]
Committing... [3000]
Error: Access violation at address 03F167AB in module 'dbwc_mysql.dll'. Write of address 00000004
Opening source query [select * from DataForm_field]
Error: Assertion failure (E:\Developing\Components\CrMyDAC\Source\MyClasses.pas, line 2651)
You see? It's happily transferring rows and all of the sudden, it get's an AV. The transfer process then proceeds to the next table, but the components raise an Assertion Failure op opening a source query.
It's MyDAC version 4.30.0.10
--
Martijn Tonies
Upscene Productions