Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread AV closing session after server restart
Thu, Jul 12 2012 3:39 AMPermanent Link

Phil

Hi

We are running DBISAM 4.29 Build 3 in CS remote connection mode and the server is on the same machine as the client. (in full production mode they are separate machines)

During our testing we found that if the DBISAM server is restarted while a query is open, then when we subsequently try to close the session we get an AV at address 000000013 read of address 0000000013.

If a table is open, not a problem, likewise if you try to open a query after the server restart.

In all cases when the table/query objects try to access the DB after the restart 11276 and 11280 exceptions fly. These aren't a problem as they can easily be dealt with, but in the instance of the open query, when you issue a close on the session so that you can try to open it again the AV fires. The query is a simple "select * from tbl_noddy".

The test program is written in Delphi 6 to match a program we are modifying.  

To generate the fault we perform the following: (in our test program each of the commands are performed off button presses so we could isolate the culprit)

1. open the session
2. open the database
3. open the query (we have a data grid attached to the query though a data source component to see that the data is retrieved)
4. restart the DBISAM Server
5. force the query to go back to the server by navigating to the end of the dataset. 11276 and 11280 errors are generated.
6. close the session. 11276 and 11280 error are generated then the AV.

We have tried varying the procedure after the query generates the 11276 and 11280's by trying closing the query then the database, or just closing the database first before 6. above, but the AV is still thrown.

We have also tried the same process with run time created DBISAM components as we are using this method in some of our applications. The only difference with this is the AV is at 00000000000 access of 0000000000000. Using Delphi 2009 it throws "invalid pointer operation".

Any ideas anyone?

Thanks in advance,
Phil
Thu, Jul 12 2012 3:01 PMPermanent Link

Raul

Team Elevate Team Elevate


I just tried it and seems to work fine in 4.33 Build 2 - i do get the
11280 but i can disconnect query,database and session without AV and
then reopen it ok.

if you want to send me your test project i can run that

Raul



On 7/12/2012 3:39 AM, Phil wrote:
> Hi
>
> We are running DBISAM 4.29 Build 3 in CS remote connection mode and the server is on the same machine as the client. (in full production mode they are separate machines)
>
> During our testing we found that if the DBISAM server is restarted while a query is open, then when we subsequently try to close the session we get an AV at address 000000013 read of address 0000000013.
>
> If a table is open, not a problem, likewise if you try to open a query after the server restart.
>
> In all cases when the table/query objects try to access the DB after the restart 11276 and 11280 exceptions fly. These aren't a problem as they can easily be dealt with, but in the instance of the open query, when you issue a close on the session so that you can try to open it again the AV fires. The query is a simple "select * from tbl_noddy".
>
> The test program is written in Delphi 6 to match a program we are modifying.
>
> To generate the fault we perform the following: (in our test program each of the commands are performed off button presses so we could isolate the culprit)
>
> 1. open the session
> 2. open the database
> 3. open the query (we have a data grid attached to the query though a data source component to see that the data is retrieved)
> 4. restart the DBISAM Server
> 5. force the query to go back to the server by navigating to the end of the dataset. 11276 and 11280 errors are generated.
> 6. close the session. 11276 and 11280 error are generated then the AV.
>
> We have tried varying the procedure after the query generates the 11276 and 11280's by trying closing the query then the database, or just closing the database first before 6. above, but the AV is still thrown.
>
> We have also tried the same process with run time created DBISAM components as we are using this method in some of our applications. The only difference with this is the AV is at 00000000000 access of 0000000000000. Using Delphi 2009 it throws "invalid pointer operation".
>
> Any ideas anyone?
>
> Thanks in advance,
> Phil
>

Thu, Aug 2 2012 2:12 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Phil,

<< During our testing we found that if the DBISAM server is restarted while
a query is open, then when we subsequently try to close the session we get
an AV at address 000000013 read of address 0000000013. >>

If this is reproducible, please send me a test project and I'll be happy to
check it out here.  I would also recommend trying with the latest 4.33 just
to make sure that it hasn't been already fixed.  There were a couple of
fixes along these lines done, but none that explicitly deal with the
situation that you describe.

Thanks,

Tim Young
Elevate Software
www.elevatesoft.com


Image