More information about the crash:
. it can be reproduced on 4.1.21 with debug build
. --default-storage-engine=innodb and --transaction-isolation=READ-COMMITTED
need to be set on the slave side for rpl00001 to reproduce the crash
. it fails in "insert into t3 select get_lock('crash_lock%20C', 1)
from t2" when it expects
IS lock should be held on the row in table t2
Thanks,
Wei
On 12/5/06, Wei Li <wei@stripped> wrote:
> Hi,
>
> I wonder whether the intention lock check in
> lock_clust_rec_read_check_and_lock() is really needed:
>
> --------------------------------------------------------------------------------------------------
> ut_ad(mode != LOCK_X
> || lock_table_has(thr_get_trx(thr), index->table, LOCK_IX));
> ut_ad(mode != LOCK_S
> || lock_table_has(thr_get_trx(thr), index->table, LOCK_IS));
>
> if (!page_rec_is_supremum(rec)) {
>
> lock_rec_convert_impl_to_expl(rec, index);
> }
>
> ---------------------------------------------------------------------------------------------------
>
> If I enable innodb and read commited mode in the slave, mysql test
> rpl000001 crashes in
> debug model. But, it works fine in optimized mode.
>
> Thanks,
> Wei
>