[MCOL-5107] Columnstore Query crashes MariaDB, signal 11 when function in WHERE clause Created: 2022-05-27  Updated: 2023-09-27

Status: Open
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: None
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Edward Stoever Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

root@logs:~$ mariadb -s
MariaDB [(none)]> use ez1_schema;
MariaDB [ez1_schema]> create table tabCS(col1 integer) engine=columnstore;
MariaDB [ez1_schema]> create table tabIN(col1 integer) engine=innoDB;
MariaDB [ez1_schema]> insert into tabCS values ('1');
MariaDB [ez1_schema]> insert into tabIN values ('1');
MariaDB [ez1_schema]> drop function if exists F1;
MariaDB [ez1_schema]> delimiter //
MariaDB [ez1_schema]> CREATE FUNCTION F1(pDescriprion varchar(100)) RETURNS INT begin
    -> declare g INT;
    -> select col1 into g from tabCS limit 1;
    -> return g;
    -> END;
    -> //
delimiter ;
 
drop function if exists F2;
delimiter //
MariaDB [ez1_schema]> delimiter ;
MariaDB [ez1_schema]>
MariaDB [ez1_schema]> drop function if exists F2;
MariaDB [ez1_schema]> delimiter //
MariaDB [ez1_schema]> CREATE FUNCTION F2(pDescriprion varchar(100)) RETURNS INT begin
    -> declare g INT;
    -> select col1 into g from tabIN limit 1;
    -> return g;
    -> END;
    -> //
delimiter ;MariaDB [ez1_schema]> delimiter ;
MariaDB [ez1_schema]> create table tabY (col1 varchar(100),col2 int) engine=columnstore;
MariaDB [ez1_schema]> insert into tabY values ('hello',1);
MariaDB [ez1_schema]> select F1('x');
F1('x')
1
MariaDB [ez1_schema]> select F2('x');
F2('x')
1
MariaDB [ez1_schema]> select col1 from tabY where col2=F1('x');
ERROR 2013 (HY000): Lost connection to server during query
MariaDB [ez1_schema]> select F1('x');
ERROR 2006 (HY000): Server has gone away
F1('x')
1
MariaDB [ez1_schema]> select F1('x');
F1('x')
1
MariaDB [ez1_schema]> select col1 from tabY where col2=F2('x');
ERROR 2013 (HY000): Lost connection to server during query
MariaDB [ez1_schema]> exit

If a function returns a value that is selected out of a database table, Columnstore crashes MariaDB with a signal 11. The function can return data from a Columnstore or InnoDB table. In either case, the database crashes.


Generated at Thu Feb 08 02:55:24 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.