Return-path: <Christopher.Powers@Sun.COM>
Received: from fe-amer-09.sun.com ([unknown] [192.18.109.79])
 by amer3-mail1.central.sun.com
 (Sun Java(tm) System Messaging Server 7.0-3.01 64bit (built Dec  9 2008))
 with ESMTP id <0KDJ00G9DXJ1P800@amer3-mail1.central.sun.com> for
 kl221630@amer3-mail1.central.Sun.COM; Thu, 15 Jan 2009 23:47:25 -0700 (MST)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0KDJ00G01XDUSA00@mail-amer.sun.com> for
 kl221630@amer3-mail1.central.Sun.COM (ORCPT kevin.lewis@Sun.COM); Thu,
 15 Jan 2009 23:47:25 -0700 (MST)
Received: from phys-amer3-2.central.sun.com ([129.147.157.45])
 by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTP id <0KDJ00I99XJ198B0@mail-amer.sun.com> for
 kl221630@amer3-mail1.central.Sun.COM (ORCPT kevin.lewis@Sun.COM); Thu,
 15 Jan 2009 23:47:25 -0700 (MST)
Received: from dm-central-01.central.sun.com ([unknown] [129.147.62.4])
 by amer3-mail1.central.sun.com
 (Sun Java(tm) System Messaging Server 7.0-3.01 64bit (built Dec  9 2008))
 with ESMTP id <0KDJ00G9BXJ1P800@amer3-mail1.central.sun.com> for
 kl221630@amer3-mail1.central.Sun.COM (ORCPT kevin.lewis@Sun.COM); Thu,
 15 Jan 2009 23:47:25 -0700 (MST)
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by dm-central-01.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n0G6lOtw011959	for <kevin.lewis@central.sun.com>; Thu,
 15 Jan 2009 23:47:25 -0700 (MST)
Received: from nwk-avmta-2.sfbay.sun.com
 (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n0G6lJ4V013701	for
 <@sunmail2sca.sfbay.sun.com:kevin.lewis@Sun.COM>; Fri,
 16 Jan 2009 06:47:24 +0000 (GMT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KDJ00M01XJ0OJ00@nwk-avmta-2.sfbay.sun.com> for kevin.lewis@Sun.COM
 (ORCPT kevin.lewis@Sun.COM); Thu, 15 Jan 2009 22:47:24 -0800 (PST)
Received: from dm-xlate-01.central.sun.com ([129.147.62.11])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KDJ00F3BXIZQJ70@nwk-avmta-2.sfbay.sun.com> for
 kevin.lewis@Sun.COM (ORCPT kevin.lewis@Sun.COM); Thu,
 15 Jan 2009 22:47:23 -0800 (PST)
Received: from brmea-mail-2.sun.com (brmea-mail-2.Sun.COM [192.18.98.43])
	by dm-xlate-01.central.sun.com (8.13.8+Sun/8.13.8)
 with ESMTP id n0G6lNgn011940	for <klewis@mysql.com>; Thu,
 15 Jan 2009 23:47:23 -0700 (MST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n0G6lMsh016528	for
 <klewis@mysql.com>; Fri, 16 Jan 2009 06:47:22 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0KDJ00J01XH4JE00@mail-amer.sun.com>
 (original mail from Christopher.Powers@Sun.COM) for klewis@mysql.com; Thu,
 15 Jan 2009 23:47:22 -0700 (MST)
Received: from [10.1.10.157] (c-71-63-235-1.hsd1.mn.comcast.net [71.63.235.1])
 by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0KDJ00MN5XIYQ750@mail-amer.sun.com>; Thu,
 15 Jan 2009 23:47:22 -0700 (MST)
Date: Fri, 16 Jan 2009 00:47:06 -0600
From: Christopher Powers <Christopher.Powers@Sun.COM>
Subject: Re: Bug#36631, "Assertion in SerialLogControl::nextRecord"
In-reply-to: <49702D4B.8090104@sun.com>
Sender: Christopher.Powers@Sun.COM
To: Kevin Lewis <klewis@mysql.com>
Cc: FalconDev <falcon@lists.mysql.com>
Message-id: <49702D6A.3080904@sun.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_7sGLYvXnVTmwKfsFqIdkZg)"
X-Mozilla-Keys: 
X-PMX-Version: 5.4.1.325704
References: <49702D4B.8090104@sun.com>
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
Original-recipient: rfc822;kevin.lewis@Sun.COM

This is a multi-part message in MIME format.

--Boundary_(ID_7sGLYvXnVTmwKfsFqIdkZg)
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT

Christopher Powers wrote:
> Kevin,
> 
> This is the reopened chill/thaw stress test bug.
> 
> I can easily reproduce an assert in Record::getEncodedValue() that 
> always occurs during a scavenge/record pruning (stack attached.)
> 
> At the time of the assert, the record state is 'recChilled', so that 
> explains why getEncodedValue() fails. It appears that the record 'oldie' 
> in Index::duplicateKey() gets chilled while it's being accessed.
> 
> Note that hasRecord() should have thawed the record. I added a second 
> thaw to verify this, but the breakpoint never hit, so I think the record 
> is being chilled during makeKey().
> 
> 
> bool Index::duplicateKey(IndexKey *key, Record * record)
> {
>   for (Record *oldie = record; oldie; oldie = oldie->getPriorVersion())
>     if (oldie->hasRecord())  <<<< will thaw record
>       {
>       IndexKey oldKey(this);
>            
>       if (oldie->state == recChilled)
>         oldie->thaw();     <<<< breakpoint never hit
>                
>       makeKey (oldie, &oldKey); <<<< assertion here--chill< during 
> makeKey??
> 
>       if (oldKey.isEqual(key))
>         return true;
>       }
>   return false;
> }
> 

--Boundary_(ID_7sGLYvXnVTmwKfsFqIdkZg)
Content-type: text/plain; name=chill_stack.txt
Content-transfer-encoding: 7BIT
Content-disposition: inline; filename=chill_stack.txt

24 raise()  0x00002b7ab389ae4b	
23 Error::debugBreak() ./storage/falcon/Error.cpp:94
22 Error::error() ./storage/falcon/Error.cpp:71
21 Error::assertionFailed() ./storage/falcon/Error.cpp:78
20 Record::getEncodedValue() ./storage/falcon/Record.cpp:668
19 Record::getRawValue() ./storage/falcon/Record.cpp:370
18 Record::getValue() ./storage/falcon/Record.cpp:322
17 Index::makeKey() ./storage/falcon/Index.cpp:607
16 Index::duplicateKey() ./storage/falcon/Index.cpp:673
15 Index::garbageCollect() ./storage/falcon/Index.cpp:627
14 Table::garbageCollect() ./storage/falcon/Table.cpp:2134
13 RecordLeaf::pruneRecords() ./storage/falcon/RecordLeaf.cpp:159
12 RecordGroup::pruneRecords() ./storage/falcon/RecordGroup.cpp:122
11 Table::pruneRecords() ./storage/falcon/Table.cpp:1898
10 Database::pruneRecords() ./storage/falcon/Database.cpp:1848
9 Database::scavengeRecords() ./storage/falcon/Database.cpp:1798
8 Database::scavenge() ./storage/falcon/Database.cpp:1759
7 Database::scavengerThreadMain() ./storage/falcon/Database.cpp:1923
6 Database::scavengerThreadMain() ./storage/falcon/Database.cpp:1912
5 Thread::thread() ./storage/falcon/Thread.cpp:167
4 Thread::thread() ./storage/falcon/Thread.cpp:146

--Boundary_(ID_7sGLYvXnVTmwKfsFqIdkZg)--

