Bug #9161 Warnings on 'drop procedure' platform-specific
Submitted: 14 Mar 2005 11:17 Modified: 22 Mar 2005 6:04
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.3-pre OS:Many Unix
Assigned to: Jim Winstead CPU Architecture:Any

[14 Mar 2005 11:17] Joerg Bruehe
Description:
Test build based on ChangeSet
  1.1806 05/03/13 01:07:01 igor@rurik.mysql.com +1 -0
  join_outer.test:
    Correction after manual merge.

On many platforms, test 'sp' fails with this difference:

-------------------------------------------------------
*** r/sp.result Sun Mar 13 16:02:08 2005
--- r/sp.reject Mon Mar 14 00:56:59 2005
***************
*** 2678,2683 ****
--- 2678,2685 ----
  drop procedure bug8757|
  drop procedure if exists bug8762|
  drop procedure if exists bug8762; create procedure bug8762() begin end|
+ Warnings:
+ Note  1305    PROCEDURE bug8762 does not exist
  drop procedure if exists bug8762; create procedure bug8762() begin end|
  drop procedure bug8762|
  drop function if exists bug5240|
-------------------------------------------------------

See the status page for a list / pattern (I did not detect one):
https://intranet.mysql.com/~kboortz/status/mysql-5.0.3-alpha/builds.html

It occurs on 32 and 64 bit, with and without debug, in default and --ps-protocol runs, with a distribution that seems to be specific to the platform.

How to repeat:
Build + run the test.
[18 Mar 2005 0:15] Jim Winstead
I believe that the warning in the .reject file is actually correct. I'm trying to figure out why not all platforms produce this warning.
[19 Mar 2005 3:10] Jim Winstead
This appears to be a misbehavior on the part of my_sleep() on these platforms. Really!

Reduced the test to this:

delimiter |;
--sleep 2
# Doesn't exist
drop procedure if exists bug8762; create procedure bug8762() begin end|
drop procedure bug8762|

Remove the '--sleep', and no warning is produced.

Change the select() instead of my_sleep() to usleep() (or remove it), and no warning is produced.

I can reproduce this reliably on hammer (x86_64), although I have not observed this on my own x64_64 box. It could be glibc-dependent.

I have no idea how to explain this.
[20 Mar 2005 10:12] Dmitry Lenev
Hi!

I don't think it is something platform specific.
I think this bug is highly depends on timing and what is why you have these sporadical failures on different platforms ...

On my Linux/x86 computer your simplified test case shows following behavior (1.result
is empty):

TEST                            RESULT
-------------------------------------------------------
1                              [ fail ]

Errors are (from /home/dlenev/src/mysql-5.0/mysql-test/var/log/mysqltest-time) :
Packets out of order (Found: 2, expected 1)
/home/dlenev/src/mysql-5.0/client/.libs/mysqltest: At line 8: Warning count is 1 but didn't get any warnings

/home/dlenev/src/mysql-5.0/client/.libs/mysqltest: At line 12: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/1.result  2005-03-20 11:47:42 +0300
--- r/1.reject  2005-03-20 12:14:29 +0300
***************
*** 0 ****
--- 1,3 ----
+ drop procedure if exists bug8762|
+ drop procedure if exists bug8762; create procedure bug8762() begin end|
+ drop procedure bug8762|
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.

"Packets out of order (Found: 2, expected 1)" clearly shows that something is
broken in client-server interaction even if this test passes...

Actually after some digging in logs and in client/server code I think that there is problem in mysqltest, which tries to issue "SHOW WARNINGS" right after receiving results of
execution of first statement and thus brokes protocol causing this error...
[20 Mar 2005 17:27] 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/23214
[22 Mar 2005 6:03] Dmitry Lenev
Fixed in 5.0.3