Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
11.8.8
-
None
-
Not for Release Notes
Description
On a debug build, in one session:
CREATE SERVER v0 FOREIGN DATA WRAPPER mysql OPTIONS (HOST 'h');
FLUSH TABLES WITH READ LOCK;
DROP SERVER v0;
Result:
mariadbd: /home/mysql/mariadb/sql/sql_error.cc:357:
void Diagnostics_area::set_ok_status(ulonglong, ulonglong,
const char *):
Assertion `!is_set() || (m_status == DA_OK_BULK &&
is_bulk_op())' failed.
… got signal 6 ;
- Diagnostics_area::set_ok_status(...) sql/sql_error.cc:357
- mysql_execute_command(THD*, bool)
ALTER SERVER v0 OPTIONS (HOST 'h') instead of DROP SERVER
triggers the same assertion.
Preconditions (each matters):
- The server must exist — DROP SERVER IF EXISTS <nonexistent>
under the read lock does not crash (it bails before the write). - The global read lock is the trigger — without FLUSH TABLES
WITH READ LOCK, DROP SERVER v0 succeeds.
Attachments
Issue Links
- duplicates
-
MDEV-31842 Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed on [DROP|ALTER] SERVER
-
- Confirmed
-