Icon View Incident Report

Serious Serious
Reported By: Oliver Bock
Reported On: 2/12/2008
For: Version 4.26 Build 1
# 2579 Dropping a Table Opened by a Server-Side Procedure Can Cause Server AV

After upgrading to DBISAM 4.26 I started having a crash when running in client/server mode. The crash has recently reappeared and I have since determined that this was because I had re-enabled FastMM's FullDebugMode and friends.
Probably this was the problem all along, rather than having to do with the specific version of FastMM.

The other possibility is that something is reusing freed objects or otherwise misusing memory. According to this theory FastMM4's FullDebugMode's practice of clearing the contents of destroyed objects is revealing the bug.

My sample project works as follows:

Server project: starts a server and makes a server procedure available. When called, the server procedure opens a TDBISAMTable connected to a memory table and then destroys it.

Client project: connects to the server, creates a memory table, calls the server procedure, and drops the memory table. When I close the client application (and thus disconnect from the server) I get a crash on the server.


Resolution Resolution
Fixed Problem on 2/14/2008 in version 4.26 build 2


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image