From: Marc Alff Date: June 8 2012 6:46am Subject: Re: possible overactive assert in pfs.cc line 3701 List-Archive: http://lists.mysql.com/internals/38526 Message-Id: <4FD19FDE.1080802@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi Rich, On 6/7/12 11:49 PM, Rich Prohaska wrote: > Hello, > > Some of our tests assert when running on the MySQL 5.6.6 labs june > release, The assert is at pfs.cc line 3701. In our case, > state->m_index == 0 and table->m_share->m_key_count == 0, so the > assert fires. Is this assert correct? The assert is: DBUG_ASSERT((state->m_index < table->m_share->m_key_count) || (state->m_index == MAX_INDEXES)); which looks correct. What it means is: - table io done using an index should use m_index in the [0, m_key_count-1] range. For example with 10 indexes, [0, 9] - table io done using no index at all should be done using m_index = MAX_INDEXES In this case, m_index = 0 (using the first index) with a table that has no index (m_key_count = 0) looks like a bug in the caller. It would help to have more details about the call stack leading to this point, to see where the index value passed comes from. Regards, -- Marc Alff, Oracle.