Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-13512

buf_flush_update_zip_checksum() corrupts SPATIAL INDEX in ROW_FORMAT=COMPRESSED tables

    Details

    • Sprint:
      10.2.10

      Description

      10.1 1ff65c271ff3edef5ccba72141047fda19170163

      2017-08-13 20:28:43 7f970a88fb00  InnoDB: Assertion failure in thread 140286693538560 in file page0zip.cc line 3035
      InnoDB: Failing assertion: !memcmp(FIL_PAGE_TYPE + page, FIL_PAGE_TYPE + page_zip->data, PAGE_HEADER - FIL_PAGE_TYPE)
       
      #5  0x00007f97085b53fa in abort () from /lib/x86_64-linux-gnu/libc.so.6
      #6  0x00007f9701baa253 in page_zip_decompress (page_zip=0x7f96ff3c0eb0, page=0x7f96ff6f4000 "\f%", all=0) at /data/src/10.1/storage/innobase/page/page0zip.cc:3033
      #7  0x00007f9701b945de in page_cur_insert_rec_zip (cursor=0x7f970a88ca68, index=0x7f96f24dc878, rec=0x7f96f240fa00 "\200", offsets=0x7f96f240fa38, mtr=0x7f970a88cae0) at /data/src/10.1/storage/innobase/page/page0cur.cc:1427
      #8  0x00007f97019f88a3 in page_cur_tuple_insert (cursor=0x7f970a88ca68, tuple=0x7f96f24dc5f8, index=0x7f96f24dc878, offsets=0x7f970a88ca20, heap=0x7f970a88ca30, n_ext=0, mtr=0x7f970a88cae0) at /data/src/10.1/storage/innobase/include/page0cur.ic:288
      #9  0x00007f97019fc7e0 in btr_cur_optimistic_insert (flags=0, cursor=0x7f970a88ca60, offsets=0x7f970a88ca20, heap=0x7f970a88ca30, entry=0x7f96f24dc5f8, rec=0x7f970a88ca38, big_rec=0x7f970a88ca28, n_ext=0, thr=0x7f96f2457b68, mtr=0x7f970a88cae0) at /data/src/10.1/storage/innobase/btr/btr0cur.cc:1478
      #10 0x00007f9701be9a52 in row_ins_clust_index_entry_low (flags=0, mode=2, index=0x7f96f24dc878, n_uniq=1, entry=0x7f96f24dc5f8, n_ext=0, thr=0x7f96f2457b68) at /data/src/10.1/storage/innobase/row/row0ins.cc:2518
      #11 0x00007f9701beaac7 in row_ins_clust_index_entry (index=0x7f96f24dc878, entry=0x7f96f24dc5f8, thr=0x7f96f2457b68, n_ext=0) at /data/src/10.1/storage/innobase/row/row0ins.cc:2929
      #12 0x00007f9701beadd5 in row_ins_index_entry (index=0x7f96f24dc878, entry=0x7f96f24dc5f8, thr=0x7f96f2457b68) at /data/src/10.1/storage/innobase/row/row0ins.cc:3027
      #13 0x00007f9701beb098 in row_ins_index_entry_step (node=0x7f96f2457780, thr=0x7f96f2457b68) at /data/src/10.1/storage/innobase/row/row0ins.cc:3104
      #14 0x00007f9701beb3ab in row_ins (node=0x7f96f2457780, thr=0x7f96f2457b68) at /data/src/10.1/storage/innobase/row/row0ins.cc:3244
      #15 0x00007f9701beb712 in row_ins_step (thr=0x7f96f2457b68) at /data/src/10.1/storage/innobase/row/row0ins.cc:3369
      #16 0x00007f9701c02b99 in row_insert_for_mysql (mysql_rec=0x7f96f2459688 "\242", prebuilt=0x7f96f2457078) at /data/src/10.1/storage/innobase/row/row0mysql.cc:1424
      #17 0x00007f9701af9ad1 in ha_innodb::write_row (this=0x7f96f2499088, record=0x7f96f2459688 "\242") at /data/src/10.1/storage/innobase/handler/ha_innodb.cc:8257
      #18 0x000055aea6b69831 in handler::ha_write_row (this=0x7f96f2499088, buf=0x7f96f2459688 "\242") at /data/src/10.1/sql/handler.cc:5945
      #19 0x000055aea6902690 in write_record (thd=0x7f96fefc9070, table=0x7f96f24b9e70, info=0x7f970a88d910) at /data/src/10.1/sql/sql_insert.cc:1914
      #20 0x000055aea6900244 in mysql_insert (thd=0x7f96fefc9070, table_list=0x7f96f24431a0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /data/src/10.1/sql/sql_insert.cc:1039
      #21 0x000055aea6924579 in mysql_execute_command (thd=0x7f96fefc9070) at /data/src/10.1/sql/sql_parse.cc:3926
      #22 0x000055aea692ef2b in mysql_parse (thd=0x7f96fefc9070, rawbuf=0x7f96f2443088 "INSERT INTO t1 (pk, i2) VALUES (NULL, -1013317632)", length=50, parser_state=0x7f970a88e5e0) at /data/src/10.1/sql/sql_parse.cc:7344
      #23 0x000055aea691de8a in dispatch_command (command=COM_QUERY, thd=0x7f96fefc9070, packet=0x7f9700f1c071 "INSERT INTO t1 (pk, i2) VALUES (NULL, -1013317632)", packet_length=50) at /data/src/10.1/sql/sql_parse.cc:1484
      #24 0x000055aea691cc27 in do_command (thd=0x7f96fefc9070) at /data/src/10.1/sql/sql_parse.cc:1106
      #25 0x000055aea6a54fa1 in do_handle_one_connection (thd_arg=0x7f96fefc9070) at /data/src/10.1/sql/sql_connect.cc:1349
      #26 0x000055aea6a54d05 in handle_one_connection (arg=0x7f96fefc9070) at /data/src/10.1/sql/sql_connect.cc:1261
      #27 0x000055aea6e0ccf2 in pfs_spawn_thread (arg=0x7f9700ee36f0) at /data/src/10.1/storage/perfschema/pfs.cc:1860
      #28 0x00007f970a51e494 in start_thread (arg=0x7f970a88fb00) at pthread_create.c:333
      #29 0x00007f970866993f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      The test case is attached. If it doesn't fail right away, try running with --repeat=N.

      The test is still rather long, but reducing it further seems to decrease the probability of failure.
      Please note there is a server restart in the middle of the test, after initial creation/population of the table. I couldn't reproduce the failure without it.

      Also reproducible on 10.3.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: