Fixed bug with AV failure when trying to execute queries on a broken connection

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for SQL Server in Delphi and C++Builder
Post Reply
PontusAtNilex
Posts: 16
Joined: Wed 03 Nov 2004 13:25

Fixed bug with AV failure when trying to execute queries on a broken connection

Post by PontusAtNilex » Tue 03 Jun 2008 09:43

Hello!

Just wondering

Found this bug correction (read subject) on the MySQL DBX page, is this something that might happen in SQL DBX driver to?

we have had some strange Access Violations when doing DataSetProvider.GetRecords

Regards,

Pontus

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Wed 04 Jun 2008 08:44

The fix you have found concerns DbxSda as well, but DbxSda build that includes this fix has not been released yet. We are planning release it in the nearest time.
Could you send us a small test application which reproduces this problem? Also we need some additional information:
- the exact version of DbxSda;
- the exact version of your IDE;
- the exact version of SQL server and client;
- does the problem appears with TSQLConnection, TCRSQLConnection, or with both?

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Wed 04 Jun 2008 08:46

You can send this information and the test application to dbxsda*crlab*com.

PontusAtNilex
Posts: 16
Joined: Wed 03 Nov 2004 13:25

Post by PontusAtNilex » Wed 04 Jun 2008 09:50

Hello!

That was kind of good news, we have been puzzled by this error as it has never occured in that place, in like 2 years when we have used Dbexpsda driver.

2 answer your questions:

I am afraid i do not have the time to create an example, because we have not been able to reproduce the problem in an orderly way.

Requested Info:

>>>Also we need some additional information:
>>> - the exact version of DbxSda;
dbexpsda.dll
We have released 4.20.6 (20071212) to our customers
Internally we use 4.25.8 (20080307)
and the error has been reproduced with both versions.

>>> - the exact version of your IDE;
We use Delphi 6

>>> - the exact version of SQL server and client;
I Know That the error has occured with SQL Server 2000 , not sure about 2005
>>>- does the problem appears with TSQLConnection, TCRSQLConnection, or with both?

We do only use TSQLConnection

-----------------------------------------

We use EurekaLog and following is a dump from it to illustrate what we have gotten from our customers


Access violation

EurekaLog 6.0.12

Application:
-------------------------------------------------------
1.1 Start Date : Mon, 19 May 2008 07:38:32 +0200
1.2 Name/Description: plus.exe
1.3 Version Number :
1.5 Compilation Date: Wed, 5 Mar 2008 12:03:44 +0200
1.6 Up Time : 4 minutes, 15 seconds

Exception:
-----------------------------------------------------------------------------------------------------------
2.1 Date : Mon, 19 May 2008 07:42:47 +0200
2.2 Address : 00402028
2.3 Module Name : plus.exe
2.4 Module Version:
2.5 Type : EAccessViolation
2.6 Message : Access violation at address 00402028 in module 'plus.exe'. Write of address 43454C49.
2.7 ID : 46AC
2.8 Count : 1
2.9 Status : New
2.10 Note :

Active Controls:
----------------------------------
4.1 Form Class : Shell_TrayWnd
4.2 Form Text :
4.3 Control Class: TDBGrid
4.4 Control Text :


Call Stack Information:
-------------------------------------------------------------------------------------------------------------------
|Address |Module |Unit |Class |Procedure/Method |Line |
-------------------------------------------------------------------------------------------------------------------
|Running Thread: ID=4788; Priority=0; Class=; [Main] |
|-----------------------------------------------------------------------------------------------------------------|
|005E27BC|plus.exe |dbmeth.pas |Tdbmethods |get |154[37] |
|005E26B8|plus.exe |dbmeth.pas |Tdbmethods |get |117[0] |
|00856428|plus.exe |ublMain.pas |TblMain |readCasesWhereNewEmailIsFound|672[6] |
|00856384|plus.exe |ublMain.pas |TblMain |readCasesWhereNewEmailIsFound|666[0] |
|00C19A0B|plus.exe |main.pas |TfrmMain |PopupHelpdeskTrayNewEmailCase|5872[3] |
|7E368C2E|user32.dll | | |SetTimer | |
|7C9010ED|ntdll.dll | | |RtlLeaveCriticalSection | |
|7E3696C2|user32.dll | | |DispatchMessageA | |
|7E3696B8|user32.dll | | |DispatchMessageA | |
|00D35D86|plus.exe |plus.dpr | | |652[56] |
|7C90E64C|ntdll.dll | | |NtSetInformationThread | |



AND THE SOURCE IN DBMETH.PAS WHERE ERROR OCCURS IS:

cds.Data := qprov.GetRecords(-1, recount, Metadataoption + Resetoption);

We have gotten like 8-10 crash dumps of this kind in 2-3 months, so it is hard to reproduce.

Well maybe my info did not help you .. and of course i am not sure that the problem is in dbexpsda driver, but i cannot see any other explanation.

Do you know of any easy way to reproduce the problem?

Best Regards,

//Pontus

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Fri 06 Jun 2008 15:29

Unfortunately this information is not enough to reproduce the problem. Please let us know if you get more information of this problem.

Post Reply