Bug #15630 Test case failure in sp-dynamic, sp-error, and sp
Submitted: 9 Dec 2005 11:20 Modified: 6 Jan 2006 5:21
Reporter: Kristian Nielsen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Stored Routines Severity:S2 (Serious)
Version:clone-5.0.17-build OS:Various 64 bit ones
Assigned to: Ramil Kalimullin CPU Architecture:Any

[9 Dec 2005 11:20] Kristian Nielsen
Description:
The test cases sp-dynamic, sp-error, and sp fail repeatably on various 64-bit platforms:

10712: sp-dynamic                     [ fail ]
10713: 
10714: Errors are (from /home/mysqldev/pegasos3-glibc23/test/mysql-max-5.0.17-linux-powerpc-glibc23/mysql-test/var/log/mysqltest-time) :
10715: mysqltest: Result length mismatch
10716: (the last lines may be the most important ones)
10717: Below are the diffs between actual and expected results:
10718: -------------------------------------------------------
10719: *** r/sp-dynamic.result	2005-12-08 08:59:38.000000000 +0300
10720: --- r/sp-dynamic.reject	2005-12-08 11:46:10.575001491 +0300
10721: ***************
10722: *** 49,59 ****
10723:   ERROR HY000: The prepared statement contains a stored routine call that refers to that same statement. It's not allowed to execute a prepared statement in such a recursive manner
10724:   set @@max_sp_recursion_depth=@SAVE_SP_RECURSION_LEVELS|
10725:   call p1()|
10726: ! ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine p1
10727:   call p1()|
10728: ! ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine p1
10729:   call p1()|
10730: ! ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine p1
10731:   drop procedure p1|
10732:   create procedure p1()
10733:   begin
10734: --- 49,59 ----
10735:   ERROR HY000: The prepared statement contains a stored routine call that refers to that same statement. It's not allowed to execute a prepared statement in such a recursive manner
10736:   set @@max_sp_recursion_depth=@SAVE_SP_RECURSION_LEVELS|
10737:   call p1()|
10738: ! ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine ¾Ùè
10739:   call p1()|
10740: ! ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine ¾Ùè
10741:   call p1()|
10742: ! ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine ¾Ùè
10743:   drop procedure p1|
10744:   create procedure p1()
10745:   begin

How to repeat:
run the test cases on the affected platforms: linux-powerpc, solaris-sparc.
[12 Dec 2005 11:59] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/33210
[12 Dec 2005 13:25] Ramil Kalimullin
fixed in 5.0.17
[6 Jan 2006 5:21] Paul DuBois
Noted in 5.0.17 changelog.