Bug #90071 ibd2sdi.cc runtime error: division by zero
Submitted: 14 Mar 2018 14:12 Modified: 10 Apr 2018 15:44
Reporter: Tor Didriksen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:8.0.12 OS:Any
Assigned to: CPU Architecture:Any

[14 Mar 2018 14:12] Tor Didriksen
Description:
utilities/ibd2sdi.cc:1158:30: runtime error: division by zero
#0 0x4a7d2f in tablespace_creator::get_page_size_corruption_count(int, page_size_t const&, unsigned int) utilities/ibd2sdi.cc:1158:30
#1 0x4a789e in tablespace_creator::determine_min_corruption_ratio(int, unsigned int, page_size_t const&, page_size_t&, double*) utilities/ibd2sdi.cc:1060:7
#2 0x4a73d8 in tablespace_creator::determine_page_size(int, page_size_t&) utilities/ibd2sdi.cc:1113:9
#3 0x4a6c27 in tablespace_creator::get_page_size(unsigned char const*, int, page_size_t&) utilities/ibd2sdi.cc:1022:20
#4 0x4a42d2 in tablespace_creator::create() utilities/ibd2sdi.cc:877:22
#5 0x4b3599 in ibd2sdi::process_files() utilities/ibd2sdi.cc:2155:33
#6 0x4b404a in main utilities/ibd2sdi.cc:2254:11
#7 0x7fa568d3a009 in __libc_start_main (/lib64/libc.so.6+0x21009)
#8 0x47b8e9 in _start (bin-club/runtime_output_directory/ibd2sdi+0x47b8e9)

How to repeat:
build with clang and UBSAN (and protobuf = system)
./mtr --mem --sanitize innodb.ibd2sdi

Suggested fix:
don't divide by zero
[10 Apr 2018 15:44] Paul DuBois
Posted by developer:
 
Fixed in 8.0.12.

ibd2sdi could exit due to performing a divide-by-zero operation.