Creating a compression dictionary with fake changes enabled crashes | handle_fatal_signal (sig=6) in innobase_create_zip_dict

Bug #1629257 reported by Roel Van de Paar
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.6
Fix Released
Low
Yura Sorokin
5.7
Invalid
Undecided
Unassigned

Bug Description

# mysqld options required for replay: --innodb-fake-changes=1
DROP DATABASE test;
CREATE COMPRESSION_DICTIONARY d0(@data);

2016-09-30 19:45:02 19377 [Note] /sda/PS290916-percona-server-5.6.31-77.0-linux-x86_64-debug/bin/mysqld: ready for connections.
Version: '5.6.31-77.0-debug' socket: '/sda/PS290916-percona-server-5.6.31-77.0-linux-x86_64-debug/socket.sock' port: 10976 MySQL Community Server (GPL)
InnoDB: ERROR: innodb_fake_changes tried to access to system tables.
2016-09-30 19:45:20 7f8f75eab700 InnoDB: Assertion failure in thread 140254135367424 in file ha_innodb.cc line 4167
InnoDB: Failing assertion: 0

+bt
#0 0x00007f8f758bd741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1 0x0000000000ac1006 in my_write_core (sig=6) at /git/compression3_dbg/mysys/stacktrace.c:422
#2 0x000000000073614f in handle_fatal_signal (sig=6) at /git/compression3_dbg/sql/signal_handler.cc:236
#3 <signal handler called>
#4 0x00007f8f73c545f7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5 0x00007f8f73c55ce8 in __GI_abort () at abort.c:90
#6 0x0000000000b94864 in innobase_create_zip_dict (hton=0x7f8f587f4fc0, thd=0x7f8f4b34a000, name=0x7f8f2641f0d0 "d0", name_len=0x7f8f75ea9280, data=0xed524d "", data_len=0x7f8f75ea9278) at /git/compression3_dbg/storage/innobase/handler/ha_innodb.cc:4167
#7 0x000000000088bcb9 in mysql_create_zip_dict (thd=0x7f8f4b34a000, name=0x7f8f2641f0d0 "d0", name_len=2, data=0xed524d "", data_len=0, if_not_exists=false) at /git/compression3_dbg/sql/sql_zip_dict.cc:64
#8 0x00000000007edb1f in mysql_execute_command (thd=0x7f8f4b34a000) at /git/compression3_dbg/sql/sql_parse.cc:4338
#9 0x00000000007f4b2b in mysql_parse (thd=0x7f8f4b34a000, rawbuf=0x7f8f2641f010 "CREATE COMPRESSION_DICTIONARY d0(@data)", length=39, parser_state=0x7f8f75eaa500) at /git/compression3_dbg/sql/sql_parse.cc:7004
#10 0x00000000007e67b8 in dispatch_command (command=COM_QUERY, thd=0x7f8f4b34a000, packet=0x7f8f457d8001 "CREATE COMPRESSION_DICTIONARY d0(@data)", packet_length=39) at /git/compression3_dbg/sql/sql_parse.cc:1450
#11 0x00000000007e5659 in do_command (thd=0x7f8f4b34a000) at /git/compression3_dbg/sql/sql_parse.cc:1058
#12 0x00000000007acbfd in do_handle_one_connection (thd_arg=0x7f8f4b34a000) at /git/compression3_dbg/sql/sql_connect.cc:1541
#13 0x00000000007ac67d in handle_one_connection (arg=0x7f8f4b34a000) at /git/compression3_dbg/sql/sql_connect.cc:1444
#14 0x0000000000b0faa9 in pfs_spawn_thread (arg=0x7f8f5b3ff240) at /git/compression3_dbg/storage/perfschema/pfs.cc:1860
#15 0x00007f8f758b8dc5 in start_thread (arg=0x7f8f75eab700) at pthread_create.c:308
#16 0x00007f8f73d15ced in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

no longer affects: percona-server/5.7
no longer affects: percona-server/5.5
Revision history for this message
Roel Van de Paar (roel11) wrote :

Note that this means that no-one can use compressed columns on a server where fake changes is enabled.

summary: - Creating a compression dictionary with fake changes enabled crashes
+ Creating a compression dictionary with fake changes enabled crashes |
+ handle_fatal_signal (sig=6) in innobase_create_zip_dict
Revision history for this message
Roel Van de Paar (roel11) wrote :

Present in latest build but crash is at ha_innodb.cc line 4203

Revision history for this message
Roel Van de Paar (roel11) wrote :

Secondary testcase

# mysqld options required for replay: --innodb-fake-changes=1
DROP DATABASE test;
CREATE COMPRESSION_DICTIONARY d4(_ucs2'');

tags: added: fake-changes
no longer affects: percona-server/5.7
Changed in percona-server:
status: Invalid → Triaged
importance: Undecided → Low
assignee: nobody → Yura Sorokin (yura-sorokin)
Revision history for this message
Roel Van de Paar (roel11) wrote :

# mysqld options required for replay: --innodb-fake-changes=1
DROP DATABASE test;
DROP COMPRESSION_DICTIONARY d0;

Is sufficient to cause crash. A fix would be appreciated if possible, even it just gives a warning that it is not supported when innodb-fake-changes is enabled

Revision history for this message
Yura Sorokin (yura-sorokin) wrote :
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-3572

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.