Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.6, 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6
Description
Started MariaDB 10.4.6 debug cluster and run following on one of the nodes:
MariaDB [test]> SELECT ST_GEOMFROMGEOJSON("{ \"type\": \"Feature\", \"geometry\": [10, 20] }"); |
ERROR 2013 (HY000): Lost connection to MySQL server during query |
mysqld: /home/shako/Galera_Tests/MariaDB/sql/spatial.cc:395: static Geometry* Geometry::create_from_json(Geometry_buffer*, json_engine_t*, bool, String*): Assertio |
n `je->state == JST_KEY' failed.
|
190610 12:57:03 [ERROR] mysqld got signal 6 ; |
|
sql/spatial.cc:397(Geometry::create_from_json(Geometry_buffer*, st_json_engine_t*, bool, String*))[0x55b4350f19ff] |
sql/item_geofunc.cc:157(Item_func_geometry_from_json::val_str(String*))[0x55b434ff5afc]
|
sql/sql_type.cc:6737(Type_handler::Item_send_str(Item*, Protocol*, st_value*) const)[0x55b434e24177] |
sql/sql_type.h:4629(Type_handler_string_result::Item_send(Item*, Protocol*, st_value*) const)[0x55b434e2fb40] |
/home/shako/Galera_Tests/dbs/maria_10.4/bin/mysqld(+0x6caaaa)[0x55b434b00aaa]
|
/home/shako/Galera_Tests/dbs/maria_10.4/bin/mysqld(_ZN8Protocol19send_result_set_rowEP4ListI4ItemE+0xcb)[0x55b434afb7ad]
|
/home/shako/Galera_Tests/dbs/maria_10.4/bin/mysqld(_ZN11select_send9send_dataER4ListI4ItemE+0xe2)[0x55b434ba8d7a]
|
sql/item.h:1036(Item::send(Protocol*, st_value*))[0x55b434c6786e]
|
sql/protocol.cc:1024(Protocol::send_result_set_row(List<Item>*))[0x55b434c67186]
|
sql/sql_class.cc:3002(select_send::send_data(List<Item>&))[0x55b434c6882d]
|
sql/sql_select.cc:4257(JOIN::exec_inner())[0x55b434c58e15]
|
sql/sql_select.cc:4173(JOIN::exec())[0x55b434c22745]
|
sql/sql_select.cc:4606(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55b434c179b5] |
sql/sql_select.cc:412(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55b434c264d9] |
sql/sql_parse.cc:6612(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55b434c25b4f]
|
sql/sql_parse.cc:3884(mysql_execute_command(THD*))[0x55b434c11a46]
|
sql/sql_parse.cc:8164(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55b434c1035d] |
sql/sql_parse.cc:7987(wsrep_mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55b434d887ff] |
sql/sql_parse.cc:1813(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55b434d88563] |
nptl/pthread_create.c:463(start_thread)[0x7ff0044686db]
|
Attachments
Issue Links
- relates to
-
MDEV-25461 Assertion `je->state == JST_KEY' failed in Geometry::create_from_json
-
- Closed
-
This testcase:
# mysqld options required for replay: --log-bin
SET SQL_MODE='';
SET @@enforce_storage_engine=MyISAM;
CREATE TABLE t1 (a INT) ENGINE=RocksDB SELECT 42 a;
SET GLOBAL wsrep_forced_binlog_format=STATEMENT;
REPLACE DELAYED t1 VALUES (5);
SELECT ST_ASTEXT (ST_GEOMFROMGEOJSON ("{ \"type1234567890\": \"POINT\", \"coordinates\": [102, 11]}"));
Can lead (not fully consistent it seems) to the following assert which is related to this ticket:
10.6.0 5d4599f9750140f92cfdbbe4d292ae1b8dd456f8
mysqld: /test/10.6_dbg/sql/sql_insert.cc:3491: bool Delayed_insert::handle_inserts(): Assertion `!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()' failed.
10.6.0 5d4599f9750140f92cfdbbe4d292ae1b8dd456f8
Core was generated by `/test/MD211020-mariadb-10.6.0-linux-x86_64-dbg/bin/mysqld --no-defaults --max_a'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x150b181f8700 (LWP 651031))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x0000150b2ccb3859 in __GI_abort () at abort.c:79
#2 0x0000150b2ccb3729 in __assert_fail_base (fmt=0x150b2ce49588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x564dbc1ea011 "je->state == JST_KEY", file=0x564dbc1e9f59 "/test/10.6_dbg/sql/spatial.cc", line=513, function=<optimized out>) at assert.c:92
#3 0x0000150b2ccc4f36 in __GI___assert_fail (assertion=assertion@entry=0x564dbc1ea011 "je->state == JST_KEY", file=file@entry=0x564dbc1e9f59 "/test/10.6_dbg/sql/spatial.cc", line=line@entry=513, function=function@entry=0x564dbc1ea450 "static Geometry* Geometry::create_from_json(Geometry_buffer*, json_engine_t*, bool, String*)") at assert.c:101
#4 0x0000564dbb7fb108 in Geometry::create_from_json (buffer=buffer@entry=0x150b181f6140, je=je@entry=0x150b181f6050, er_on_3D=er_on_3D@entry=false, res=res@entry=0x150b181f61b0) at /test/10.6_dbg/sql/spatial.cc:513
#5 0x0000564dbb6d7492 in Item_func_geometry_from_json::val_str (this=0x150ad47990d0, str=0x150b181f61b0) at /test/10.6_dbg/sql/item_geofunc.cc:159
#6 0x0000564dbb6d878b in Item_func_as_wkt::val_str_ascii (this=0x150ad47992e0, str=0x150ad47993a8) at /test/10.6_dbg/sql/item_geofunc.cc:201
#7 0x0000564dbb7024f3 in Item_func::val_str_from_val_str_ascii (this=0x150ad47992e0, str=0x150b181f6340, ascii_buffer=0x150ad47993a8) at /test/10.6_dbg/sql/item_strfunc.cc:107
#8 0x0000564dbb6a06a8 in Item_str_ascii_func::val_str (this=<optimized out>, str=<optimized out>) at /test/10.6_dbg/sql/item_strfunc.h:88
#9 0x0000564dbb542854 in Type_handler::Item_send_str (this=<optimized out>, item=0x150ad47992e0, protocol=0x150ad4001380, buf=<optimized out>) at /test/10.6_dbg/sql/sql_type.cc:7343
#10 0x0000564dbb48c41f in Type_handler_string_result::Item_send (this=<optimized out>, item=<optimized out>, protocol=<optimized out>, buf=<optimized out>) at /test/10.6_dbg/sql/sql_type.h:5336
#11 0x0000564dbb24531a in Item::send (this=0x150ad47992e0, protocol=0x150ad4001380, buffer=0x150b181f6310) at /test/10.6_dbg/sql/item.h:1060
#12 0x0000564dbb24281c in Protocol::send_result_set_row (this=this@entry=0x150ad4001380, row_items=row_items@entry=0x150ad4798a60) at /test/10.6_dbg/sql/protocol.cc:1080
#13 0x0000564dbb2dbefd in select_send::send_data (this=0x150ad4799d90, items=@0x150ad4798a60: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x150ad47993c8, last = 0x150ad47993c8, elements = 1}, <No data fields>}) at /test/10.6_dbg/sql/sql_class.cc:3024
#14 0x0000564dbb3cd84c in select_result_sink::send_data_with_check (sent=0, u=<optimized out>, items=<optimized out>, this=<optimized out>) at /test/10.6_dbg/sql/sql_class.h:5309
#15 JOIN::exec_inner (this=this@entry=0x150ad4799db8) at /test/10.6_dbg/sql/sql_select.cc:4333
#16 0x0000564dbb3ce733 in JOIN::exec (this=this@entry=0x150ad4799db8) at /test/10.6_dbg/sql/sql_select.cc:4246
#17 0x0000564dbb3cc944 in mysql_select (thd=thd@entry=0x150ad4000db8, tables=0x0, fields=@0x150ad4798a60: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x150ad47993c8, last = 0x150ad47993c8, elements = 1}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2224974848, result=0x150ad4799d90, unit=0x150ad4004f40, select_lex=0x150ad4798910) at /test/10.6_dbg/sql/sql_select.cc:4673
#18 0x0000564dbb3ccc72 in handle_select (thd=thd@entry=0x150ad4000db8, lex=lex@entry=0x150ad4004e78, result=result@entry=0x150ad4799d90, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.6_dbg/sql/sql_select.cc:417
#19 0x0000564dbb34038e in execute_sqlcom_select (thd=thd@entry=0x150ad4000db8, all_tables=0x0) at /test/10.6_dbg/sql/sql_parse.cc:6062
#20 0x0000564dbb34caea in mysql_execute_command (thd=thd@entry=0x150ad4000db8) at /test/10.6_dbg/sql/sql_parse.cc:3784
#21 0x0000564dbb338fd2 in mysql_parse (thd=thd@entry=0x150ad4000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x150b181f73d0) at /test/10.6_dbg/sql/sql_parse.cc:7833
#22 0x0000564dbb3470c7 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x150ad4000db8, packet=packet@entry=0x150ad4dc7769 "", packet_length=packet_length@entry=102) at /test/10.6_dbg/sql/sql_class.h:1253
#23 0x0000564dbb34a3d2 in do_command (thd=0x150ad4000db8) at /test/10.6_dbg/sql/sql_parse.cc:1343
#24 0x0000564dbb4a4994 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x564dbf44d5c8, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
#25 0x0000564dbb4a509b in handle_one_connection (arg=arg@entry=0x564dbf44d5c8) at /test/10.6_dbg/sql/sql_connect.cc:1312
#26 0x0000564dbb958abb in pfs_spawn_thread (arg=0x564dbf370728) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
#27 0x0000150b2d1c1609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#28 0x0000150b2cdb0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
If it is not clear why this is caused from the stack, or if the testcase does not repeat after a number of tries, I can do more testing in this area. Note to self: ~/KEEP/812107/30.