Bug #79516 Server crashes on invalid value for variable innodb_saved_page_number_debug
Submitted: 4 Dec 2015 6:56 Modified: 9 Dec 2015 20:14
Reporter: Naga Satyanarayana Bodapati Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7 OS:Any
Assigned to: CPU Architecture:Any

[4 Dec 2015 6:56] Naga Satyanarayana Bodapati
Description:
Testcase from Bug#74481. Bug#74481 tries to access to invalid space_id is fixed.
When innodb_saved_page_number_debug to invalid page of existing tablespace, the server aborts.

How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
CREATE TABLE t1(c1 INT);
select space from information_schema.innodb_sys_tables where name='test/t1' into @space_id;
set global innodb_saved_page_number_debug=100;
set global innodb_fil_make_page_dirty_debug=@space_id;

Crashes in another place; 

2015-02-12T09:19:33.524663Z 1 [Note] InnoDB: Saving InnoDB page number: 100
2015-02-12T09:19:34.499694Z 1 [ERROR] InnoDB: Trying to access page number 94 in space 20, space name test/t1, which is outside the tablespace bounds. Byte offset 0, len 16384, i/o type 10. If you get this error at mysqld startup, please check that your my.cnf matches the ibdata files that you have in the MySQL server.
2015-02-12 20:19:34 0x7f020794b700  InnoDB: Assertion failure in thread 139646693848832 in file fil0fil.cc line 5133

Suggested fix:
Don't allow to set the option to invalid page number of tablespace.
[9 Dec 2015 20:14] Daniel Price
Fixed as of the upcoming 5.7.11, 5.8.0 release, and here's the changelog entry:

An invalid innodb_saved_page_number_debug setting caused a server exit.

Thank you for the bug report.