Comment 1 for bug 649408

Vadim Tkachenko (vadim-tk) wrote :

Issue is repeated very well.

Second time I've got message:

thd: 0x2acb5c09b890
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
InnoDB: Error: trying to access update undo rec field 1895425 in index "PRIMARY" of table "tpcc"."warehouse"
InnoDB: but index has only 11 fields
InnoDB: Submit a detailed bug report to
InnoDB: Run also CHECK TABLE "tpcc"."warehouse"
InnoDB: n_fields = 4, i = 1, ptr 0x2acb40e42911
InnoDB: Error: trying to access update undo rec for table tpcc/warehouse
InnoDB: but the table id in the undo record is wrong
InnoDB: Submit a detailed bug report to
InnoDB: Run also CHECK TABLE tpcc/warehouse
InnoDB: table tpcc/warehouse, index PRIMARY, n_uniq 1
InnoDB: undo rec address 0x2acb40e428f8, type 12 cmpl_info 1
InnoDB: undo rec table id 0 66, index table id 0 49

and stacktrace:

(gdb) bt
#0 mem_heap_create_block (heap=0x2acb4c106950, n=1048576, type=0,
    file_name=0x2acb4c106958 <Address 0x2acb4c106958 out of bounds>, line=528) at mem/mem0mem.c:357
#1 0x0000000000707a36 in mem_heap_add_block (heap=0x2acb4c106950, n=1048576) at mem/mem0mem.c:446
#2 0x0000000000707db8 in mem_heap_alloc (heap=0x8, data=0x2ac6546faca6, len=18446744073709540186) at ./include/mem0mem.ic:186
#3 mem_heap_dup (heap=0x8, data=0x2ac6546faca6, len=18446744073709540186) at mem/mem0mem.c:125
#4 0x000000000075544e in trx_undo_rec_copy (roll_ptr=..., heap=0x2acb4c106950) at ./include/trx0rec.ic:110
#5 trx_undo_get_undo_rec_low (roll_ptr=..., heap=0x2acb4c106950) at trx/trx0rec.c:1360
#6 0x00000000007554da in trx_undo_get_undo_rec (roll_ptr=..., trx_id=..., undo_rec=0x59c71768, heap=0x2acb4c106950)
    at trx/trx0rec.c:1398
#7 0x00000000007573ce in trx_undo_prev_version_build (index_rec=0x2ac65e270880 <Address 0x2ac65e270880 out of bounds>,
    index_mtr=<value optimized out>, rec=0x2ac65e270880 <Address 0x2ac65e270880 out of bounds>, index=0x2aca9c02c788,
    offsets=0x59c71ea0, heap=0x2acb4c106950, old_vers=0x59c71828) at trx/trx0rec.c:1483
#8 0x000000000074741b in row_vers_build_for_consistent_read (rec=0x2ac65e270880 <Address 0x2ac65e270880 out of bounds>,
    mtr=0x59c71a00, index=0x2aca9c02c788, offsets=0x59c721d0, view=0x2acb54015aa8, offset_heap=0x59c721d8,
    in_heap=0x2acb4c106800, old_vers=0x59c721c8) at row/row0vers.c:559
#9 0x000000000073e821 in row_search_for_mysql (buf=0x2acb40dad4c0 <Address 0x2acb40dad4c0 out of bounds>, mode=2,
    prebuilt=0x2acb40dade48, match_mode=1, direction=0) at row/row0sel.c:4247
#10 0x00000000006e5165 in ha_innobase::index_read (this=0x2acb40dad0a0,
    buf=0x2acb40dad4c0 <Address 0x2acb40dad4c0 out of bounds>, key_ptr=<value optimized out>, key_len=<value optimized out>,
    find_flag=HA_READ_KEY_EXACT) at handler/
#11 0x0000000000656ee9 in handler::index_read_idx_map (this=0x2acb40dad0a0,
    buf=0x2acb40dad4c0 <Address 0x2acb40dad4c0 out of bounds>, index=<value optimized out>,
    key=0x2acb406500a0 <Address 0x2acb406500a0 out of bounds>, keypart_map=1, find_flag=HA_READ_KEY_EXACT) at
#12 0x00000000005e2897 in join_read_const (tab=0x2acb4c0f0c98) at
#13 0x00000000005eb9dd in join_read_const_table (tab=0x2acb4c0f0c98, pos=0x2acb4064e350) at
#14 0x00000000005ec3f6 in make_join_statistics (join=0x2acb4064e290, tables_arg=0x2acb406a5928, conds=0x2acb4064e0c0,
    keyuse_array=0x2acb4064f850) at
#15 0x00000000005ede07 in JOIN::optimize (this=0x2acb4064e290) at
#16 0x00000000005f7101 in mysql_select (thd=0x2acb5c08e1b0, rref_pointer_array=0x2acb406a4ad8, tables=0x2acb406a5928,
    wild_num=0, fields=..., conds=0x2acb4064e0c0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0,
    select_options=2416724480, result=0x2acb406a9a18, unit=0x2acb406a44e0, select_lex=0x2acb406a4908) at
#17 0x00000000005f7b55 in handle_select (thd=0x2acb5c08e1b0, lex=0x2acb406a4440, result=0x2acb406a9a18,
    setup_tables_done_option=0) at
#18 0x00000000005864b1 in execute_sqlcom_select (thd=0x2acb5c08e1b0, all_tables=0x2acb406a5928) at
#19 0x0000000000589721 in mysql_execute_command (thd=0x2acb5c08e1b0) at
#20 0x0000000000603520 in Prepared_statement::execute (this=0x2acb406a40d0, expanded_query=<value optimized out>,
    open_cursor=false) at
#21 0x00000000006056f4 in Prepared_statement::execute_loop (this=0x2acb406a40d0, expanded_query=0x59c74180, open_cursor=false,
    packet=<value optimized out>, packet_end=<value optimized out>) at
#22 0x0000000000605a09 in mysqld_stmt_execute (thd=0x2acb5c08e1b0,
    packet_arg=0x2acb5c090d11 <Address 0x2acb5c090d11 out of bounds>, packet_length=29) at
#23 0x000000000058fc61 in dispatch_command (command=COM_STMT_EXECUTE, thd=0x2acb5c08e1b0,
    packet=0x2acb5c090d11 <Address 0x2acb5c090d11 out of bounds>, packet_length=0) at
#24 0x0000000000590e30 in do_command (thd=0x2acb5c08e1b0) at
#25 0x0000000000582d17 in handle_one_connection (arg=0x2acb5c08e1b0) at
#26 0x0000003d2760673d in ?? ()
#27 0x0000000000000000 in ?? ()