Bug #12228 | Crash happens during calling specific SP in multithread environment | ||
---|---|---|---|
Submitted: | 27 Jul 2005 20:58 | Modified: | 12 Aug 2005 19:44 |
Reporter: | Alexey Stroganov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 5.0.11pre | OS: | Any (All) |
Assigned to: | Sergey Petrunya | CPU Architecture: | Any |
[27 Jul 2005 20:58]
Alexey Stroganov
[5 Aug 2005 23:04]
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/27944
[8 Aug 2005 19:19]
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/28025
[9 Aug 2005 6:04]
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/28053
[10 Aug 2005 17:12]
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/28119
[10 Aug 2005 17:40]
Sergey Petrunya
Patch approved by Dmitri
[10 Aug 2005 17:54]
Sergey Petrunya
Fix pushed into 5.0.12 tree. Note for the changelog: The bug was that if one thread deletes a stored routine while another thread is executing a routine (either the same or a different routine), the server could crash (whether it would crash or not depended on execution races between the threads). This patch introduces new behavior (please amend the manual): When a client issues a statement, mysqld calculates a list of routines (procedures, functions, triggers) that may be invoked during the statement execution, loads them, and then proceeds to execute the statement. While the statement is being executed, other threads may drop or alter (or drop+create) the routines used by the statement. These changes will not affect execution of the statement in question - it will use a "snapshot" of routines it created when it loaded the routines.
[12 Aug 2005 19:44]
Paul DuBois
Noted in 5.0.12 changelog. Added note about routines using snapshots to routine limitations section of manual.