From: Jorgen Loland Date: December 16 2010 9:02am Subject: Re: bzr commit into mysql-5.1-bugteam branch (martin.hansson:3520) Bug#58207 List-Archive: http://lists.mysql.com/commits/127031 Message-Id: <4D09D591.6000904@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit On 12/16/2010 09:21 AM, Martin Hansson wrote: > Jorgen Loland skrev 2010-12-15 14.07: >> Martin, >> >> The fix looks good, but the test case in the patch does not give >> valgrind warning. Please provide a test case that is fixed by the >> patch (e.g., the one reported in the bug). If you violently refuse to >> replace this test, you can add one more instead. > You did build with BUILD/compile-pentium-valgrind-max, right? If you > still don't see it you might try to revert to the same revision as I > committed into. > > Does the test case in the bug report give valgrind warnings but mine > doesn't? If they do then that's serious enough, BUT... things actually > changed *while* I was working on the bug. First time around, the first > test caused a core dump. Then when I pulled the latest changes it > didn't, and then two days later it caused a crash again. The bug is that > we get a totally runaway pointer, so it's sensitive to just about anything. I compiled with compile-amd64-valgrind-max. Without your code changes, the test case in the bug report gives valgrind warnings like this: ==7710== Invalid read of size 1 ==7710== at 0x4C28E61: memcpy (mc_replace_strmem.c:497) ==7710== by 0x76A3C3: create_tmp_table(THD*, TMP_TABLE_PARAM*, List&, st_order*, bool, bool, unsigned long long, unsigned long long, char*) (sql_select.cc:10412) These warnings go away when I apply your fix. The test case you added does not give valgrind warning before applying your code changes. -- Jørgen Løland | Senior Software Engineer | +47 73842138 Oracle MySQL Trondheim, Norway