polardb/polardbx-engine

A crash caused by Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed

WLLS253 opened this issue · 1 comments

POC:
create databse test2;
use test2;
CREATE TABLE v0 ( CHECK ( ( + '' ) / CONVERT ( DEFAULT ( v2 ) , REAL ) IS NULL IS NULL IS NULL IS UNKNOWN ) , v3 BINARY COLLATE BINARY AS ( 'x' ) STORED , v2 MEDIUMINT NULL SERIAL DEFAULT VALUE SERIAL DEFAULT VALUE , v1 LONGBLOB ) ;
INSERT DELAYED IGNORE INTO v0 ( ) VALUES ( -1 , 63144147.000000 , 'x' ) ;
SELECT * FROM v0 WHERE v2 IN ( SELECT v3 FROM v0 ) ORDER BY v0 . v3 ;

root@zhiyong-dbms ~/w/P/g/build (main) [1]# ./bin/mysqld --defaults-file=my.cnf --user=root
2021-10-22T01:39:33.275212-00:00 0 [Warning] [MY-010140] [Server] Could not increase number of max_open_files to more than 1024 (request: 615350)
2021-10-22T01:39:33.275229-00:00 0 [Warning] [MY-010141] [Server] Changed limits: max_connections: 214 (requested 36000)
2021-10-22T01:39:33.275244-00:00 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 400 (requested 32768)
2021-10-22T01:39:33.402336-00:00 0 [Warning] [MY-011069] [Server] The syntax '--relay-log-info-file' is deprecated and will be removed in a future release.
2021-10-22T01:39:33.402369-00:00 0 [Warning] [MY-011069] [Server] The syntax '--master-info-file' is deprecated and will be removed in a future release.
2021-10-22T01:39:33.402458-00:00 0 [Warning] [MY-011069] [Server] The syntax '--log-bin-use-v1-row-events' is deprecated and will be removed in a future release.
2021-10-22T01:39:33.402639-00:00 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2021-10-22T01:39:33.402678-00:00 0 [Warning] [MY-011069] [Server] The syntax '--slave-rows-search-algorithms' is deprecated and will be removed in a future release.
2021-10-22T01:39:33.402873-00:00 0 [Warning] [MY-010084] [Server] options --log-slow-admin-statements, --log-queries-not-using-indexes and --log-slow-slave-statements have no effect if --slow-query-log is not set
2021-10-22T01:39:33.402888-00:00 0 [Warning] [MY-010086] [Server] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-10-22T01:39:33.403035-00:00 0 [System] [MY-010116] [Server] /root/workspace/PolarDB/galaxyengine/build/bin/mysqld (mysqld 8.0.18-debug-asan) starting as process 62434
2021-10-22T01:39:33.405560-00:00 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2021-10-22T01:39:33.406470-00:00 0 [Warning] [MY-010108] [Server] setrlimit could not change the size of core files to 'infinity'; We may not be able to generate a core file on signals
2021-10-22T01:39:33.423468-00:00 0 [Warning] [MY-012364] [InnoDB] innodb_open_files should not be greater than the open_files_limit.

2021-10-22T01:39:40.456316-00:00 0 [System] [MY-010229] [Server] Starting crash recovery...
2021-10-22T01:39:40.469962-00:00 0 [System] [MY-010232] [Server] Crash recovery finished.
2021-10-22T01:39:40.708335-00:00 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2021-10-22T01:39:40.765125-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_polarx_port=32886'.
2021-10-22T01:39:40.766398-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_polarx_max_connections=5000'.
2021-10-22T01:39:40.767610-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_cluster-info=127.0.0.1:14886@1'.
2021-10-22T01:39:40.768802-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_cluster-id=5431'.
2021-10-22T01:39:40.769966-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_enable_gts=1'.
2021-10-22T01:39:40.771134-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_log_sql_info=1'.
2021-10-22T01:39:40.772369-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_log_sql_info_index=1'.
2021-10-22T01:39:40.773577-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_indexstat=1'.
2021-10-22T01:39:40.774776-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_tablestat=1'.
2021-10-22T01:39:40.776004-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_slave_pr_mode=TABLE'.
2021-10-22T01:39:40.777239-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_large_trx=ON'.
2021-10-22T01:39:40.778468-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus-io-thread_cnt=8'.
2021-10-22T01:39:40.779707-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus-worker-thread_cnt=8'.
2021-10-22T01:39:40.780999-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_max_delay_index=10000'.
2021-10-22T01:39:40.782251-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus-election-timeout=10000'.
2021-10-22T01:39:40.783519-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_max_packet_size=131072'.
2021-10-22T01:39:40.784800-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_max_log_size=20M'.
2021-10-22T01:39:40.786067-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_auto_leader_transfer=ON'.
2021-10-22T01:39:40.787349-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_log_cache_size=536870912'.
2021-10-22T01:39:40.788652-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_prefetch_cache_size=268435456'.
2021-10-22T01:39:40.789952-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_prefetch_window_size=100'.
2021-10-22T01:39:40.791255-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_consensus_auto_reset_match_index=ON'.
2021-10-22T01:39:40.792581-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_cluster-mts-recover-use-index=ON'.
2021-10-22T01:39:40.793905-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_async_commit_thread_count=128'.
2021-10-22T01:39:40.795241-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_commit_lock_done_count=1'.
2021-10-22T01:39:40.796568-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_cluster-log-type-node=OFF'.
2021-10-22T01:39:40.797917-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_log_slow_verbosity=full'.
2021-10-22T01:39:40.799270-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_rds_check_core_file_enabled=ON'.
2021-10-22T01:39:40.800650-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_boost_pk_access=1'.
2021-10-22T01:39:40.802019-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_io_state=1'.
2021-10-22T01:39:40.803405-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_use_myfs=0'.
2021-10-22T01:39:40.804773-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_daemon_memcached_values_delimiter=:;:'.
2021-10-22T01:39:40.806172-00:00 0 [Warning] [MY-000067] [Server] unknown variable 'loose_daemon_memcached_option=-t 32 -c 8000 -p15506'.
2021-10-22T01:39:41.106212-00:00 0 [System] [MY-010931] [Server] /root/workspace/PolarDB/galaxyengine/build/bin/mysqld: ready for connections. Version: '8.0.18-debug-asan' socket: '/root/workspace/PolarDB/galaxyengine/build/run/mysql.sock' port: 4886 Source distribution.
2021-10-22T01:39:41.312444-00:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 32886 socket: '/tmp/mysqlx.sock' bind-address: '::' port: 33060
mysqld: sql/field.cc:3618: virtual double Field_medium::val_real() const: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed.
01:42:56 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x62700042f100
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7fd3cb6dcbd0 thread_stack 0x100000
/usr/lib/x86_64-linux-gnu/libasan.so.4(+0x566d0) [0x7fd4193606d0]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0xa9) [0x55f92b92a06d]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(handle_fatal_signal+0x523) [0x55f929e3c20e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0) [0x7fd4192fc3c0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb) [0x7fd41894b18b]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x12b) [0x7fd41892a859]
/lib/x86_64-linux-gnu/libc.so.6(+0x25729) [0x7fd41892a729]
/lib/x86_64-linux-gnu/libc.so.6(+0x36f36) [0x7fd41893bf36]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Field_medium::val_real() const+0x112) [0x55f928fbc5f0]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_field::val_real()+0xf2) [0x55f929016104]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_typecast_real::val_real()+0x7f) [0x55f9290c7a61]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_div::real_op()+0x121) [0x55f9290d4421]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_numhybrid::val_real()+0x4ce) [0x55f9290c322e]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item::evaluate(THD*, String*)+0x440) [0x55f929028ff4]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item::update_null_value()+0x100) [0x55f9290291fa]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_numhybrid::is_null()+0x11) [0x55f9291035e1]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_isnull::update_used_tables()+0x21f) [0x55f9292cdbd1]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_isnull::resolve_type(THD*)+0xcc) [0x55f9292d4dea]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_fields(THD*, Item**)+0x2f4) [0x55f9290d2b72]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_isnull::fix_fields(THD*, Item**)+0xc2) [0x55f9292e0fb8]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_func_arg(THD*, Item**)+0x26d) [0x55f9290d2725]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_fields(THD*, Item**)+0x325) [0x55f9290d2ba3]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_isnull::fix_fields(THD*, Item**)+0xc2) [0x55f9292e0fb8]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_func_arg(THD*, Item**)+0x26d) [0x55f9290d2725]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_fields(THD*, Item**)+0x325) [0x55f9290d2ba3]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_isnull::fix_fields(THD*, Item**)+0xc2) [0x55f9292e0fb8]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_func_arg(THD*, Item**)+0x26d) [0x55f9290d2725]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func::fix_fields(THD*, Item**)+0x325) [0x55f9290d2ba3]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Item_func_isnull::fix_fields(THD*, Item**)+0xc2) [0x55f9292e0fb8]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(+0x7d96744) [0x55f929ca6744]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(unpack_value_generator(THD*, TABLE*, Value_generator**, Value_generator_source, char const*, Field*, bool, bool*)+0x8d0) [0x55f929cb1a4b]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(open_table_from_share(THD*, TABLE_SHARE*, char const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, dd::Table const*)+0x2485) [0x55f929cb448f]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(ha_create_table(THD*, char const*, char const*, char const*, HA_CREATE_INFO*, bool, bool, dd::Table*, bool, HA_CREATE_INFO*)+0x305) [0x55f929164e42]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(+0x7c6df6d) [0x55f929b7df6d]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(+0x7c9b060) [0x55f929bab060]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(mysql_create_table_no_lock(THD*, char const*, char const*, HA_CREATE_INFO*, Alter_info*, unsigned int, bool, bool*, handlerton**)+0xec3) [0x55f929bac2e2]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(mysql_create_table(THD*, TABLE_LIST*, HA_CREATE_INFO*, Alter_info*)+0xb4a) [0x55f929bbdc24]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(Sql_cmd_create_table::execute(THD*)+0x116b) [0x55f92988992b]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(mysql_execute_command(THD*, bool)+0x3820) [0x55f929a2a598]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(mysql_parse(THD*, Parser_state*)+0xa0c) [0x55f929a31d71]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x1f61) [0x55f929a3469f]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(do_command(THD*)+0xaa6) [0x55f929a37e0f]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(+0x7ef4819) [0x55f929e04819]
/root/workspace/PolarDB/galaxyengine/build/bin/mysqld(+0xa63f4c4) [0x55f92c54f4c4]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7fd4192f0609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7fd418a27293]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (61200020e568): CREATE TABLE v0 ( CHECK ( ( + '' ) / CONVERT ( DEFAULT ( v2 ) , REAL ) IS NULL IS NULL IS NULL IS UNKNOWN ) , v3 BINARY COLLATE BINARY AS ( 'x' ) STORED , v2 MEDIUMINT NULL SERIAL DEFAULT VALUE SERIAL DEFAULT VALUE , v1 LONGBLOB )
Connection ID (thread ID): 9
Status: NOT_KILLED

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Writing a core file
fish: './bin/mysqld --defaults-file=my…' terminated by signal SIGABRT (Abort)

Thanks for your case, Pls also report it to bug.mysql.com if you can confirm it on newest mysql version. I'll be very grateful to share feedback and progress with us.