[MDEV-11780] Crash with PREPARE + SP out parameter + literal Created: 2017-01-12  Updated: 2017-01-24  Resolved: 2017-01-24

Status: Closed
Project: MariaDB Server
Component/s: Prepared Statements
Affects Version/s: 10.2
Fix Version/s: 10.2.4

Type: Bug Priority: Critical
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: 10.2-rc

Sprint: 10.2.4-1

 Description   

This script:

DELIMITER $$
CREATE OR REPLACE PROCEDURE p1(OUT a INT)
BEGIN
  SET a= 10;
END;
$$
DELIMITER ;
PREPARE stmt FROM 'CALL p1(?)';
EXECUTE stmt USING 10;

crashes with the following stack trace:

#0  0x00007ffff5994a28 in raise () from /lib64/libc.so.6
#1  0x00007ffff599662a in abort () from /lib64/libc.so.6
#2  0x00007ffff598d227 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff598d2d2 in __assert_fail () from /lib64/libc.so.6
#4  0x0000555555a2a58c in Protocol_text::send_out_parameters (
    this=0x7ffeb1016600, sp_params=0x7ffeb110def8)
    at /home/bar/maria-git/server.10.2/sql/protocol.cc:1326
#5  0x0000555555b1a2fd in Prepared_statement::execute (this=0x7ffeb101da70, 
    expanded_query=0x7ffff7f2f0c0, open_cursor=false)
    at /home/bar/maria-git/server.10.2/sql/sql_prepare.cc:4698
#6  0x0000555555b184c8 in Prepared_statement::execute_loop (
    this=0x7ffeb101da70, expanded_query=0x7ffff7f2f0c0, open_cursor=false, 
    packet=0x0, packet_end=0x0)
    at /home/bar/maria-git/server.10.2/sql/sql_prepare.cc:4083
#7  0x0000555555b16246 in mysql_sql_stmt_execute (thd=0x7ffeb1016070)
    at /home/bar/maria-git/server.10.2/sql/sql_prepare.cc:3193
#8  0x0000555555aef38f in mysql_execute_command (thd=0x7ffeb1016070)
    at /home/bar/maria-git/server.10.2/sql/sql_parse.cc:3445
#9  0x0000555555afcf83 in mysql_parse (thd=0x7ffeb1016070, 
    rawbuf=0x7ffeb1063088 "EXECUTE stmt USING 10", length=21, 
    parser_state=0x7ffff7f2fd20, is_com_multi=false, is_next_command=false)

mysqld: /data/src/10.2/sql/protocol.cc:1326: virtual Protocol_text::send_out_parameters(List<Item_param>*): Assertion `0' failed.
170112 12:44:08 [ERROR] mysqld got signal 6 ;


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