Bug #55421 | Protocol::end_statement(): Assertion `0' on multi-table UPDATE IGNORE | ||
---|---|---|---|
Submitted: | 21 Jul 2010 0:55 | Modified: | 7 Oct 2010 23:04 |
Reporter: | Elena Stepanova | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 5.1-debug, 5.5-debug | OS: | Any |
Assigned to: | Dmitry Shulga | CPU Architecture: | Any |
[21 Jul 2010 0:55]
Elena Stepanova
[21 Jul 2010 21:36]
Elena Stepanova
See also bug#55458 - test case with a partitioned table getting crashed, causes the same assertion failure if it is run on a debug version with UPDATE IGNORE instead of UPDATE.
[26 Aug 2010 12:49]
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/commits/116875 3485 Dmitry Shulga 2010-08-26 Fixed bug #55421 - Protocol::end_statement(): Assertion `0' on multi-table UPDATE IGNORE. @ mysql-test/r/trigger_notembedded.result added test case result for bug #55421. @ mysql-test/t/trigger_notembedded.test added test case for bug #55421. @ sql/sql_trigger.cc Reset thd->lex->current_select before start trigger execution and restore its original value after execution is finished. This is neccessery in order to set error status in diagnostic_area in case of trigger execution failure.
[27 Aug 2010 9:13]
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/commits/116966 3485 Dmitry Shulga 2010-08-27 Fixed bug #55421 - Protocol::end_statement(): Assertion `0' on multi-table UPDATE IGNORE. The problem was that if there was an active SELECT statement during trigger execution, an error risen during the execution may cause a crash. The fix is to temporary reset LEX::current_select before trigger execution and restore it afterwards. This way errors risen during the trigger execution are processed as if there was no active SELECT. @ mysql-test/r/trigger_notembedded.result added test case result for bug #55421. @ mysql-test/t/trigger_notembedded.test added test case for bug #55421. @ sql/sql_trigger.cc Reset thd->lex->current_select before start trigger execution and restore its original value after execution is finished. This is neccessery in order to set error status in diagnostic_area in case of trigger execution failure.
[7 Sep 2010 8:56]
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/commits/117678 3501 Dmitry Shulga 2010-09-07 Fixed bug #55421 - Protocol::end_statement(): Assertion `0' on multi-table UPDATE IGNORE. The problem was that if there was an active SELECT statement during trigger execution, an error risen during the execution may cause a crash. The fix is to temporary reset LEX::current_select before trigger execution and restore it afterwards. This way errors risen during the trigger execution are processed as if there was no active SELECT. @ mysql-test/r/trigger_notembedded.result added test case result for bug #55421. @ mysql-test/t/trigger_notembedded.test added test case for bug #55421. @ sql/sql_trigger.cc Reset thd->lex->current_select before start trigger execution and restore its original value after execution is finished. This is neccessery in order to set error status in diagnostic_area in case of trigger execution failure.
[10 Sep 2010 8:29]
Dmitry Shulga
Pushed to mysql-5.1-bugteam. Merged and pushed to mysql-5.5-merge.
[28 Sep 2010 15:39]
Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@sun.com-20100928153607-tdsxkdm5cmuym5sq) (version source revid:alik@sun.com-20100928153508-0saa6v93dinqx1u7) (merge vers: 5.6.1-m4) (pib:21)
[28 Sep 2010 15:41]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100928153646-pqp8o1a92mxtuj3h) (version source revid:alik@sun.com-20100928153532-lr3gtvnyp2en4y75) (pib:21)
[28 Sep 2010 15:44]
Bugs System
Pushed into mysql-5.5 5.5.7-rc (revid:alik@sun.com-20100928153459-4nudf4zgzlou4s7q) (version source revid:alik@sun.com-20100928153459-4nudf4zgzlou4s7q) (merge vers: 5.5.7-rc) (pib:21)
[1 Oct 2010 17:59]
Paul DuBois
Noted in 5.5.7, 5.6.1 changelogs. If there was an active SELECT statement, an error arising during trigger execution could cause a server crash. Setting report to Need Merge pending push to 5.1.x.
[3 Oct 2010 1:21]
Paul DuBois
Setting to Need Merge pending push to 5.1.x.
[7 Oct 2010 23:04]
Paul DuBois
Noted in 5.1.52 changelog.
[1 Nov 2010 19:00]
Bugs System
Pushed into mysql-5.1 5.1.53 (revid:build@mysql.com-20101101184443-o2olipi8vkaxzsqk) (version source revid:build@mysql.com-20101101184443-o2olipi8vkaxzsqk) (merge vers: 5.1.53) (pib:21)