Comment 18 for bug 1570678

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

From comment #12 (from Fernando):

"""
Per this part of the stacktrace:

/usr/sbin/mysqld(_ZN11TC_LOG_MMAP4openEPKc+0x6f4)[0x384ffd54]
/usr/sbin/mysqld(_ZN11TC_LOG_MMAP4openEPKc+0x2cc)[0x384ff92c]

And sorry if this is a stupid question, but do you think it might be related to the pagesize?
"""

In x64 object file, 0x6f4 == 1780 which gives us:

     file_length= opt_tc_log_size;

     0x00000000004c2fd3 <+1763>: lea 0x891f36(%rip),%rax # 0xd54f10 <opt_tc_log_size>
*** 0x00000000004c2fe4 <+1780>: mov (%rax),%r14
     0x00000000004c2fee <+1790>: mov %r14,0x210(%rbx)

     if (mysql_file_chsize(fd, file_length, 0, MYF(MY_WME)))

     0x00000000004c305a <+1898>: test %r13d,%r13d
     0x00000000004c305d <+1901>: jne 0x4c2ef6 <TC_LOG_MMAP::open(char const*)+1542>
     0x00000000004c3063 <+1907>: mov 0x210(%rbx),%rsi

When the key_file_tclog can't be opened. Right after, we have:

  npages=(uint)file_length/tc_log_page_size;
  DBUG_ASSERT(npages >= 3); // to guarantee non-empty pool

Which upstream fix pointed by Trent talks about.

And according to:

#define TC_LOG_PAGE_SIZE 8192
#define TC_LOG_MIN_SIZE (3*TC_LOG_PAGE_SIZE)

ulong opt_tc_log_size= TC_LOG_MIN_SIZE;

And based feedback, we should skip the ASSERTs for bigger page-sizes, definitely.

https://bugs.launchpad.net/ubuntu/+source/percona-xtradb-cluster-5.5/+bug/1570678/+attachment/4669694/+files/percona_ppc64el.patch

Looks good to me.