Bug #86470 Assertion `this_type != Json_dom::J_ERROR' failed
Submitted: 26 May 2017 9:15 Modified: 11 Jul 2017 11:46
Reporter: Ramesh Sivaraman Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DML Severity:S3 (Non-critical)
Version:5.7.18 OS:Ubuntu (Xenial)
Assigned to: CPU Architecture:Any
Tags: debug

[26 May 2017 9:15] Ramesh Sivaraman
Description:
GDB info
{code}
#0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62
#1  0x000000000195d505 in my_write_core (sig=6) at /ssd/ramesh/workdir/mysql-server_dbg/mysys/stacktrace.c:249
#2  0x0000000000efeb01 in handle_fatal_signal (sig=6) at /ssd/ramesh/workdir/mysql-server_dbg/sql/signal_handler.cc:220
#3  <signal handler called>
#4  0x00007fd2c8091428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#5  0x00007fd2c809302a in __GI_abort () at abort.c:89
#6  0x00007fd2c8089bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x20262c8 "this_type != Json_dom::J_ERROR", file=file@entry=0x2025cc0 "/ssd/ramesh/workdir/mysql-server_dbg/sql/json_dom.cc", line=line@entry=2963, function=function@entry=0x20293c0 <Json_wrapper::compare(Json_wrapper const&) const::__PRETTY_FUNCTION__> "int Json_wrapper::compare(const Json_wrapper&) const") at assert.c:92
#7  0x00007fd2c8089c82 in __GI___assert_fail (assertion=0x20262c8 "this_type != Json_dom::J_ERROR", file=0x2025cc0 "/ssd/ramesh/workdir/mysql-server_dbg/sql/json_dom.cc", line=2963, function=0x20293c0 <Json_wrapper::compare(Json_wrapper const&) const::__PRETTY_FUNCTION__> "int Json_wrapper::compare(const Json_wrapper&) const") at assert.c:101
#8  0x00000000014d0c35 in Json_wrapper::compare (this=0x7fd2ca5d7b30, other=...) at /ssd/ramesh/workdir/mysql-server_dbg/sql/json_dom.cc:2963
#9  0x0000000000fc9714 in Arg_comparator::compare_json (this=0x7fd28bdb3390) at /ssd/ramesh/workdir/mysql-server_dbg/sql/item_cmpfunc.cc:1656
#10 0x0000000000fdf3a4 in Arg_comparator::compare (this=0x7fd28bdb3390) at /ssd/ramesh/workdir/mysql-server_dbg/sql/item_cmpfunc.h:92
#11 0x0000000000fd042b in Item_func_nullif::val_str (this=0x7fd28bdb32b8, str=0x7fd2ca5d7dc0) at /ssd/ramesh/workdir/mysql-server_dbg/sql/item_cmpfunc.cc:3746
#12 0x0000000000fb0841 in Item::send (this=0x7fd28bdb32b8, protocol=0x7fd28bc13198, buffer=0x7fd2ca5d7dc0) at /ssd/ramesh/workdir/mysql-server_dbg/sql/item.cc:7511
#13 0x0000000001598630 in THD::send_result_set_row (this=0x7fd28bc12000, row_items=0x7fd28bdb21e8) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_class.cc:4661
#14 0x0000000001592913 in Query_result_send::send_data (this=0x7fd28bdb3570, items=...) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_class.cc:2716
#15 0x00000000015aa2fc in JOIN::exec (this=0x7fd28bdb3790) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_executor.cc:158
#16 0x000000000164ccec in handle_query (thd=0x7fd28bc12000, lex=0x7fd28bc142f8, result=0x7fd28bdb3570, added_options=0, removed_options=0) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_select.cc:184
#17 0x00000000015fd17b in execute_sqlcom_select (thd=0x7fd28bc12000, all_tables=0x0) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_parse.cc:5196
#18 0x00000000015f6067 in mysql_execute_command (thd=0x7fd28bc12000, first_level=true) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_parse.cc:2795
#19 0x00000000015fe0a5 in mysql_parse (thd=0x7fd28bc12000, parser_state=0x7fd2ca5d9510) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_parse.cc:5612
#20 0x00000000015f2cf1 in dispatch_command (thd=0x7fd28bc12000, com_data=0x7fd2ca5d9dc0, command=COM_QUERY) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_parse.cc:1461
#21 0x00000000015f1b3e in do_command (thd=0x7fd28bc12000) at /ssd/ramesh/workdir/mysql-server_dbg/sql/sql_parse.cc:999
#22 0x0000000001734543 in handle_connection (arg=0x7fd29f7fb560) at /ssd/ramesh/workdir/mysql-server_dbg/sql/conn_handler/connection_handler_per_thread.cc:300
#23 0x0000000001db496b in pfs_spawn_thread (arg=0x7fd2b0bdbd20) at /ssd/ramesh/workdir/mysql-server_dbg/storage/perfschema/pfs.cc:2188
#24 0x00007fd2c8cd46ba in start_thread (arg=0x7fd2ca5da700) at pthread_create.c:333
#25 0x00007fd2c816282d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
{code}

How to repeat:
Testcase

DROP DATABASE test;
SELECT NULLIF(CASE WHEN 1 THEN NULL ELSE JSON_ARRAY()END,1);
[26 May 2017 9:30] Ramesh Sivaraman
Adding OS version
[26 May 2017 12:10] MySQL Verification Team
Thank you for the bug report, verified as described. Server 8.0 not affected for this bug.
[11 Jul 2017 11:46] Erlend Dahl
Fixed in 8.0.1 under the heading of

Bug#22887227 	ASSERTION FAILED: THIS_TYPE != JSON_DOM::J_ERROR