[MDEV-25460] Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status in my_ok from mysql_sql_stmt_prepare Created: 2021-04-20 Updated: 2023-04-08 Resolved: 2021-12-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Prepared Statements |
| Affects Version/s: | 10.2, 10.3, 10.4, 10.5, 10.6, 10.7 |
| Fix Version/s: | 10.2.42, 10.3.33, 10.4.23, 10.5.14, 10.6.6, 10.7.2 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Roel Van de Paar | Assignee: | Rucha Deodhar |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | affects-tests | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
Ref
Leads to:
Bug confirmed present in: Bug (or feature/syntax) confirmed not present in: Issue also confirmed present in a3e3225cd3b816d47621e749e21a71b6a864a96a (10.6, debug, build 15 April 2021) |
| Comments |
| Comment by Sergei Golubchik [ 2021-04-20 ] | |||||||||||||||||||||||||
|
What error do you see in non-debug builds? | |||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2021-04-22 ] | |||||||||||||||||||||||||
|
| |||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2021-04-22 ] | |||||||||||||||||||||||||
|
IMO this should be treated for the non-debug error. It clearly doesn't belong there, and when the error is gone, the diagnostics area failure will disappear anyway. | |||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2021-04-22 ] | |||||||||||||||||||||||||
|
rucha174, it seems that this error "Cannot switch out of the row-based binary log format when the session has open temporary tables" is wrong here. An assertion in Diagnostics_area still needs to be fixed, but after you find out where the return value is ignored, please, try to create a test case for that line but with a different error message. | |||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2021-04-22 ] | |||||||||||||||||||||||||
|
Once the diagnostics area bug is fixed, it would be good to spawn another report for the wrong handling of binlog_format in SET STATEMENT, so that's it's not forgotten. It's a valid use case, but it seems to work in a very odd and buggy way – there are more different errors and even diagnostics area assertions around it, for example one can easily get a failure in set_error_status instead:
So, I'm afraid any regression test based on binlog_format will be contaminated, it would be better to come up with a different variable (if SET STATEMENT remains important after the analysis). | |||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2021-08-29 ] | |||||||||||||||||||||||||
|
Leads to:
Bug confirmed present in: Bug (or feature/syntax) confirmed not present in: | |||||||||||||||||||||||||
| Comment by Rucha Deodhar [ 2021-12-20 ] | |||||||||||||||||||||||||
|
Patch: https://github.com/MariaDB/server/commit/0f2b7bc3337441794979945192ea0aa7ca12bef7 | |||||||||||||||||||||||||
| Comment by Oleksandr Byelkin [ 2021-12-21 ] | |||||||||||||||||||||||||
|
OK to push | |||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2023-04-08 ] | |||||||||||||||||||||||||
|
Created MDEV-31026 for the earlier additional testcase by Elena. |