lp://staging/~percona-core/percona-server/5.6-553-bug-1351148
- Get this branch:
- bzr branch lp://staging/~percona-core/percona-server/5.6-553-bug-1351148
Branch merges
- Percona core: Pending requested
-
Diff: 68 lines (+37/-3)2 files modifiedmysys/lf_alloc-pin.c (+10/-1)
mysys/my_thr_init.c (+27/-2)
Branch information
- Owner:
- Percona core
- Status:
- Development
Recent revisions
- 554. By Vlad Lesin
-
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(); - 552. By Jenkins Master <email address hidden>
-
Merge lp:~hrvojem/percona-server/rn-5.6.16-64.0-tokudb-5.6
http://jenkins. percona. com/job/ merge-PS- 5.6-docs- kickoff/ 39/ - 546. By Alexey Kopytov
-
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://staging/percona-server/5.6