From: Martin Hansson Date: January 10 2011 3:59pm Subject: Re: bzr commit into mysql-5.1-bugteam branch (martin.hansson:3520) Bug#58207 List-Archive: http://lists.mysql.com/commits/128328 Message-Id: <4D2B2CE2.9010200@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Jorgen Loland wrote: > > > On 12/22/2010 03:49 PM, Martin Hansson wrote: >> Jorgen Loland skrev 2010-12-16 12.27: >>> On 12/16/2010 11:16 AM, Martin Hansson wrote: >>>> Jorgen Loland skrev 2010-12-16 10.02: >>>>> >>>>> >>>>> 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. >>>>> >>>> Revision number, please. >>> >>> 3524 gleb.shchepa@stripped >>> >> This is strange, I can repeat it just fine in the revision I committed, >> 3524 and 3533. I do suspect you're running on 64 bit, though. Perhaps we >> can work together to find a test case that fails on both architectures? >> I currently don't have a 64 bit box set up. Only one is my mac on which >> valgrind doesn't work. > > Yes, I'm running on 64 bit. The original test case seems to fail > "correctly" on my box. > Well that's good at least. So what can we do? Can I send you some tests and let you run them? I just spent an afternoon trying to get login to a decent 64 bit machine and for something this small, it doesn't seem worth it. /Martin