polardb / polardbx-engine

polardbx-engine is a MySQL branch originated from Alibaba Group, especially supports large-scale distributed database system.
Other
482 stars 125 forks source link

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

Closed WLLS253 closed 3 years ago

WLLS253 commented 3 years ago

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)

xpchild commented 3 years ago

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.