Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 1/10/2019
For: Version 2.30 Build 1
# 4716 Enabling SQL Statement Caching Can Cause Memory Error with Local Sessions

I'm seeing an something with the SQL statement caching, and the problem exhibits itself in several ways. The first is that in some instances, using a cached statement that switches between sensitive to non-sensitive the second time, results in no data being returned. Executing the non-sensitive query a second time returns results. The second is a periodic crash in my application when attempting to run a cached query. The third is a report of memory being overwritten or being double freed.

The problem only occurs when I'm connected to the data with a local session, and only occurs when I have the SQL statement caching value to something greater than zero. This makes sense to me because remote sessions and setting the caching value to 0 both prevent the SQL statement caching code from executing from within my application.


Comments Comments
The problem occurred with local sessions that were executing system information queries mixed with DDL statements, but the underlying problem was that EDB was not freeing statement handles properly in the VCL TDataSet-descendant components in a way that was cache-aware, and this resulted in a double-free bug.


Resolution Resolution
Fixed Problem on 1/11/2019 in version 2.30 build 2


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image