lp:~percona-core/percona-server/5.6-553-bug-1351148

Created by Vlad Lesin on 2014-08-01 and last modified on 2014-09-29
Get this branch:
bzr branch lp:~percona-core/percona-server/5.6-553-bug-1351148
Members of Percona core can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

554. By Vlad Lesin on 2014-09-29

Bug #1351128 fix.

The bug's summary:

1) The value in pins->stack_ends_here is actually incorrect. This value is
calculated when the thread is initialized in my_thread_init(). The problem is
that the value doesn't take into account existing stack usage and just adds the
thread stack size to calculate the beginning of the stack.

2) _lf_pinbox_real_free() is using alloca() in a very unsafe way. alloca()
should only be used by leaf functions, since you cannot predict the amount of
stack space that non-leaf functions will use. As pins->stack_ends_here is
calculated in wrong way and there is no window for the qsort() which is invoked
from _lf_pinbox_real_free() after alloca(), stack overflow can take place.

The solution:

1) Take into accout the current stack offset when stack size is calculated
in my_thread_init();

2) Don't allocate the whole free stack space in _lf_pinbox_real_free(),
take some window for qsort();

551. By Laurynas Biveinis on 2014-03-03

Null-merge lp:percona-server/5.5 rev 624

546. By Alexey Kopytov on 2014-02-26

Bug #1285064: MDL_map::m_backup_log and m_binlog_lock are not
              deallocated

Added missing MDL_lock::destroy() calls for m_backup_lock and
m_binlog_lock.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.

Subscribers