[MDEV-10318] unset params in --ps --embedded Created: 2016-07-01  Updated: 2016-07-20  Resolved: 2016-07-11

Status: Closed
Project: MariaDB Server
Component/s: Embedded Server, Prepared Statements
Affects Version/s: 5.5, 10.0, 10.1
Fix Version/s: 5.5.51

Type: Bug Priority: Major
Reporter: Sergei Golubchik Assignee: Vladislav Vaintroub
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-7069 Fix buildbot failures in main server ... Stalled
Duplicate
duplicates MDEV-10329 main.default fails: Assertion `0' fai... Closed

 Description   

here's a simple test case:

select ?+1

in normal mtr mode it fails with a syntax error. In --ps mode it fails because no values was supplied for a parameter. But in --ps --embedded it crashes, because the value was still not supplied, MYSQL_BIND is not initialized, but embedded doesn't know it, and accesses uninitialized structure.



 Comments   
Comment by Elena Stepanova [ 2016-07-04 ]

Buildbot is affected, main.default fails on 10.2:
http://buildbot.askmonty.org/buildbot/builders/kvm-fulltest/builds/6224/steps/test_9/logs/stdio

main.default                             [ fail ]
        Test ended at 2016-07-04 02:22:42
 
CURRENT_TEST: main.default
mysqltest_embedded: /data/src/10.2-bug/sql/sql_type.cc:171: static const Type_handler* Type_handler::get_handler_by_field_type(enum_field_types): Assertion `0' failed.
mysqltest got signal 6
read_command_buf (0x7efe39e46e40): CREATE TABLE t1 (a INT DEFAULT ?)l, x int) u varchar(1) binary NOT NULL DEFAULT ' ', v varchar(30) binary NOT NULL DEFAULT ' ', w varchar(30) binary NOT NULL DEFAULT ' ', x tinyblob NULL, y varchar(5) binary NOT NULL DEFAULT ' ', z varchar(20) binary NOT NULL DEFAULT ' ', a1 varchar(30) binary NOT NULL DEFAULT ' ', b1 tinyblob NULL) ENGINE=MyISAM DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin) ENGINE=MyISAM DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin
conn->name (0x7efe3bfca0d0): 
conn->cur_query (0x7efe3c01f9a0): CREATE TABLE t1 (a INT DEFAULT ?)
Attempting backtrace...
stack_bottom = 0x0 thread_stack 0x48c00
/data/src/10.2-bug/libmysqld/examples/mysqltest_embedded(my_print_stacktrace+0x38)[0x7f0ad8c7919b]
/data/src/10.2-bug/libmysqld/examples/mysqltest_embedded(+0x4373d5)[0x7f0ad8c613d5]
mysys/stacktrace.c:246(my_print_stacktrace)[0x7f0ad8c61408]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf8d0)[0x7f0ad83f98d0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7f0ad652c067]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7f0ad652d448]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e266)[0x7f0ad6525266]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e312)[0x7f0ad6525312]
sql/sql_type.cc:173(Type_handler::get_handler_by_field_type(enum_field_types))[0x7f0ad8ccaf72]
sql/sql_type.h:543(Type_handler_hybrid_field_type::set_handler_by_field_type(enum_field_types))[0x7f0ad8dd8ce5]
sql/sql_prepare.cc:813(setup_one_conversion_function)[0x7f0ad9103c8a]
sql/sql_prepare.cc:1060(emb_insert_params_with_log)[0x7f0ad9103f45]
sql/sql_prepare.cc:3817(Prepared_statement::set_parameters(String*, unsigned char*, unsigned char*))[0x7f0ad91095df]
sql/sql_prepare.cc:3874(Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*))[0x7f0ad91096d3]
sql/sql_prepare.cc:2982(mysqld_stmt_execute(THD*, char*, unsigned int))[0x7f0ad910771a]
sql/sql_parse.cc:1733(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x7f0ad8cb34e3]
libmysqld/lib_sql.cc:169(emb_advanced_command)[0x7f0ad8ca4d73]
libmysqld/lib_sql.cc:343(emb_stmt_execute)[0x7f0ad8ca548a]
libmysql/libmysql.c:2578(mysql_stmt_execute)[0x7f0ad8c94fcf]
client/mysqltest.cc:889(connection_thread)[0x7f0ad8c50052]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4)[0x7f0ad83f20a4]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f0ad65df87d]

Generated at Thu Feb 08 07:41:17 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.