Bug #11394 recursion in SP crash server
Submitted: 16 Jun 2005 19:59 Modified: 7 Jul 2005 18:21
Reporter: Oleksandr Byelkin
Status: Closed
Category:Server Severity:S1 (Critical)
Version:5.0 OS:
Assigned to: Dmitri Lenev Target Version:

[16 Jun 2005 19:59] Oleksandr Byelkin
Description:
Server dies on recursion because many Items are not reenterable

How to repeat:
delimiter |;

create function f5(i int) returns int
begin
  if i <= 0 then
    return 0;
  else
    return (i in (100, 200, f5(i-1), 400));
  end if;
end|

select f5(1)|
select f5(2)|
select f5(3)|
[1 Jul 2005 11:11] Dmitri Lenev
Hi!

As was discussed on IRC the patch disabling recursion for stored routines was commited:
http://lists.mysql.com/internals/26578

Later we plan to remove this restriction (by using separate sp_head instance for each
recursive routine invocation).
[6 Jul 2005 9:43] Dmitri Lenev
Fixed in 5.0.9
[7 Jul 2005 18:21] Jon Stephens
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Documented in 5.0.9 change history; closed.