Is there a memory leak in the QODBC library?
Here are the scenarios:
SCENARIO 1:
I've got an application communicating with a Polyhedra IMDB via a Polyhedra 32-bit ODBC driver. It opens & queries & closes a database every 5th second. By monitoring the memory usage simply by using Task Manager/Process Explorer, I can see that the memory usage of my application increases by approx 4 kB every minute. This IS a memory leak: After some time , the memory usage was 1.4 Gb
SCENARIO 2:
I have made a simple test application: It opens and closes a database every 0.1 sec, doing nothing else. The database is a MySql database. When I connect using the QMYSQL driver, memory usage does NOT increase. When I connect using the QODBC driver, memory usage will steadily increase with each open/close
(Here, I use the newest MySql ODBC 5.1.8 driver)
SUMMARY:
I experience memory leak with two different ODBC drivers (Polyhedra from Ennea AB/MySQL ODBC 5.1.8) when I use the QODBC driver. With MySql ODBC the leak is approx 0.1 kB every time I open/close the database
When I use a direct MySql connection, no memory leak occurs.
I'm not sure what the relationship between "QODBC" and the actual driver used when setting up the ODBC source in Windows is, but it sure seems to me that the QODBC layer must be the culprit
NOTE. I know this is similar to QTBUG-8367, which was rejected earlier. Still, I cannot see why both MySQL and Polyhedra should leak memory..
NOTE2: I have attempted to use Purify (evaluation copy), but it does not report any memory leak! Strange, since I can observe the memory usage rising and rising...
Bookmarks