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

innochecksum dumps core for some .ibd files due to floating point exception

    XMLWordPrintable

Details

    Description

      For some, even small, tables (with .ibd files passed through normal recovery and shutdown) innochecksum from MariaDB versions 10.1,.x and 10.2.x dumps core because of floating point exception, like this:

      openxs@ao756:/tmp$ ~/dbs/maria10.2/bin/innochecksum -v table_name.ibd
      InnoDB offline file checksum utility.
       
      Variables (--variable-name=value)
      and boolean options {FALSE|TRUE}  Value (after reading options)
      --------------------------------- ----------------------------------------
      verbose                           TRUE
      debug                             FALSE
      skip-corrupt                      FALSE
      count                             FALSE
      start-page                        0
      end-page                          0
      page                              0
      per-page-details                  FALSE
      leaf                              FALSE
      merge                             0
      Table is uncompressed
      Page size is 16384
      file table_name.ibd = 147456 bytes (9 pages)...
      InnoChecksum; checking pages in range 0 to 8
      0       bad checksum
      4       FIL_PAGE_INDEX
      0       FIL_PAGE_UNDO_LOG
      1       FIL_PAGE_INODE
      0       FIL_PAGE_IBUF_FREE_LIST
      2       FIL_PAGE_TYPE_ALLOCATED
      1       FIL_PAGE_IBUF_BITMAP
      0       FIL_PAGE_TYPE_SYS
      0       FIL_PAGE_TYPE_TRX_SYS
      1       FIL_PAGE_TYPE_FSP_HDR
      0       FIL_PAGE_TYPE_XDES
      0       FIL_PAGE_TYPE_BLOB
      0       FIL_PAGE_TYPE_ZBLOB
      0       FIL_PAGE_PAGE_COMPRESSED
      0       FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED
      0       other
      0       max index_id
      undo type: 0 insert, 0 update, 0 other
      undo state: 0 active, 0 cached, 0 to_free, 0 to_purge, 0 prepared, 0 other
      index_id        #pages          #leaf_pages     #recs_per_page  #bytes_per_page
      787             1               1               45              1350
      Floating point exception (core dumped)
      

      If we let it create core file, gdb shows the following:

      openxs@ao756:/tmp$ gdb ./innochecksum core.*
      GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
      ...
      Core was generated by `innochecksum -v table_name.ibd'.
      Program terminated with signal SIGFPE, Arithmetic exception.
      #0 print_stats ()
      at /home/buildbot/buildbot/build/mariadb-10.1.13/extra/innochecksum.cc:645
      645 /home/buildbot/buildbot/build/mariadb-10.1.13/extra/innochecksum.cc: No such file or directory.
      (gdb) bt
      #0 print_stats ()
      at /home/buildbot/buildbot/build/mariadb-10.1.13/extra/innochecksum.cc:645
      #1 0x000055555556d8f1 in main (argc=1, argv=0x7fffffffe0e0)
      at /home/buildbot/buildbot/build/mariadb-10.1.13/extra/innochecksum.cc:983
      

      innochecksum from MySQL 5.6 or Percona Serrver 5.7.14 works without dumping core on the same .ibd file:

      openxs@ao756:/tmp$ ~/dbs/5.6/bin/innochecksum -v table_name.ibd 
      InnoDB offline file checksum utility.
       
      Variables (--variable-name=value)
      and boolean options {FALSE|TRUE}  Value (after reading options)
      --------------------------------- ----------------------------------------
      verbose                           TRUE
      debug                             FALSE
      count                             FALSE
      start-page                        0
      end-page                          0
      page                              0
      file table_name.ibd = 147456 bytes (9 pages)...
      InnoChecksum; checking pages in range 0 to 8
      

      Attachments

        Activity

          People

            jplindst Jan Lindström (Inactive)
            valerii Valerii Kravchuk
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.