Bug #12850 | free_charsets not called in my_init.c | ||
---|---|---|---|
Submitted: | 29 Aug 2005 17:22 | Modified: | 23 Oct 2005 8:23 |
Reporter: | Robert Hatcher | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 4.1.11 | OS: | Linux (Linux) |
Assigned to: | CPU Architecture: | Any |
[29 Aug 2005 17:22]
Robert Hatcher
[31 Aug 2005 22:14]
Jorge del Conde
free_charsets shouldn't be called by my_init.c .. it should be called when the server terminates. Here is the code responsible for calling free_charsets(): libmysql.c void STDCALL mysql_server_end() { <cut> free_charsets(); mysql_client_init= org_my_init_done= 0; #ifdef EMBEDDED_SERVER if (stderror_file) { fclose(stderror_file); stderror_file= 0; } #endif }
[31 Aug 2005 22:38]
Robert Hatcher
I respectfully disagree. What you've given is exactly what the code already looks like in libmysql.c for 4.1.14, which I've since downloaded and built, and the code still crashes UNLESS the fix I gave for my_init.c is added. There IS a bug, somewhere...perhaps my_init.c isn't where the free_charsets should be called, but it's got to be somewhere other than what is already there.
[31 Aug 2005 23:12]
Robert Hatcher
Actually, I'm even more confused by the statement: "free_charsets shouldn't be called by my_init.c .. it should be called when the server terminates." I believe the message isn't coming from the server, but from the client. You point to the function mysql_server_end() but I don't think the problem is the server. If I run my program ("loon" which makes calls to unixODBC->MyODBC->MySQL libraries) where the my_init.c has NOT been modified, but against a database server on a wholly separate machine that HAS undergone the modification, then I get the same result of a SEGV. In case it matters, here's the config for my build: ./configure --prefix=${INSTALLATION} \ --without-bench \ --with-thread-safe-client \ --enable-thread-safe-client \ --enable-local-infile \ --enable-shared \ --disable-static \
[23 Sep 2005 8:23]
Valeriy Kravchuk
I've checked my_init.c in the yesterday's BK source of 4.1.15, and free_charsets still is not called there. I believe, it can cause problems, but this change was not included in the change set for the bug you had written about, and there may be reasons for it. To be able to ask developers for additional checks we need a simple and repeatable test case, that will prove that in current code there is a problem. So, please, send a part of your ODBC code that demonstrate this bug or, at least, a description of actions it performs.
[23 Oct 2005 23: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".