| Bug #110016 | max_prepared_stmt_count exceeded and memory leak - OdbcCommand / Insert | ||
|---|---|---|---|
| Submitted: | 10 Feb 2023 5:16 | Modified: | 22 Jan 2024 13:03 |
| Reporter: | Terry Fenning | Email Updates: | |
| Status: | No Feedback | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S3 (Non-critical) |
| Version: | 8.0.32 | OS: | Windows (Win 10 Pro - Ver 22H2) |
| Assigned to: | Assigned Account | CPU Architecture: | x86 (64 bit odbc driver) |
| Tags: | ODBC Memory Leak max_prepared_stmt_count | ||
[22 Dec 2023 13:03]
MySQL Verification Team
Thank you for the bug report. Please try with latest version and report us back if you are still facing the issue. Thanks.
[23 Jan 2024 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".

Description: Can't create more than max_prepared_stmt_count statements. Initial issue observed with the 8.0.32 driver. Same code works on on 5.3.13, fails on 8.0.32. Calling '.Dispose' on the OdbcCommand object method resolves the incremental count. However, subsequent testing reveals a memory leak(?) when run over an extended period. Replicating this with ODBC 5.3.13 does not experience these problems. How to repeat: Use "n" call/long running process against the DB. a) Greater than max_prepared_stmt_count and re memory leak, greater than 100,000 I/Os. LogSysMsgcmd = New OdbcCommand("insert into " & DB__SYSTEM_APP_LOG & " ( " _ & DB_APP_LOG_DATE_TIME & "," _ & DB_APP_LOG_USERNAME & ", " _ & DB_APP_ID & ", " _ & DB_APP_MSG_TYPE & ", " _ & DB_APP_MESSAGE & ", " _ & DB_APP_LOG_INIT_MSG_ID & " )" _ & " values (" & SYSDATETIME & "," _ & SYSTEMUSER & "," & "?,?,?,?" & ");") LogSysMsgcmd.Connection = _ODBCConnection LogSysMsgcmd.Parameters.Add(DB_APP_ID, OdbcType.Char, 20, DB_APP_ID) LogSysMsgcmd.Parameters.Add(DB_APP_MSG_TYPE, OdbcType.Char, 1, DB_APP_MSG_TYPE) LogSysMsgcmd.Parameters.Add(DB_APP_MESSAGE, OdbcType.VarChar, DBC_APP_MESSAGE_LENGTH, DB_APP_MESSAGE) LogSysMsgcmd.Parameters.Add(DB_APP_LOG_INIT_MSG_ID, OdbcType.BigInt, 12, DB_APP_LOG_INIT_MSG_ID) LogSysMsgcmd.Parameters(DB_APP_ID).Value = AppID LogSysMsgcmd.Parameters(DB_APP_MSG_TYPE).Value = MsgType LogSysMsgcmd.Parameters(DB_APP_MESSAGE).Value = LogMsg LogSysMsgcmd.Parameters(DB_APP_LOG_INIT_MSG_ID).Value = InitLogMsgId Dim AppMsgObj As Object = LogSysMsgcmd.ExecuteNonQuery() & optionally:- LogSysMsgcmd.Dispose() Suggested fix: "Resolved" such that the 8.0.x driver runs with the same results as the 5.3.13 driver with respect to Insert/s.