Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.13
-
None
Description
This error is essentially the same as MDEV-20726, except that is still happens for me. I'm running mariadb server version 10.4.13-MariaDB-1:10.4.13+maria~bionic.
Here is a very short example which reproduces the error (Careful - crashes the server and prevents it from restarting!)
CREATE TABLE `Foo` |
(
|
`Bar` char(2) CHARACTER SET utf8, |
KEY `Bar` (`Bar`(1)) |
) ENGINE = InnoDB;
|
|
ALTER TABLE `Foo` MODIFY `Bar` char(2) CHARACTER SET utf8mb4; |
|
INSERT INTO Foo VALUES ('a'); |
At this point the server crashes and cannot restart, always crashing again with the error message "InnoDB: Failing assertion: !(prefix_len % mbmaxlen)".
Observations: The error only occurs if the index is a prefix index. It also doesn't occur if the collation is changed in the ALTER TABLE - going from utf8_bin to utf8mb4_bin triggers the bug, as does going from utf8_general_ci to utf8mb4_general_ci, but when going from utf8_general_ci to utf8mb4_bin it does not occur.
Attachments
Issue Links
- is duplicated by
-
MDEV-22898 SQL query always crashes on INSERT IGNORE
-
- Closed
-
-
MDEV-24419 Galera crash after ALTER TABLE convert to utf8mb4: Assertion failure in file data0type.cc line 67
-
- Closed
-
- relates to
-
MDEV-20726 InnoDB: Assertion failure in file data0type.cc line 67
-
- Closed
-
-
MDEV-23964 MariaDB 10.5.4 and 10.5.6 replica keeps crashing when the a 10.2.x master run a `ALTER TABLE CHARACTER utf8mb4`
-
- Closed
-
I can repeat a debug assertion failure, even after recently fixing
MDEV-22771.10.4 b1538f4d60bf30de00417a7c3f948d2de654fcb3
mysqld: /mariadb/10.4/storage/innobase/data/data0type.cc:64: ulint dtype_get_at_most_n_mbchars(ulint, ulint, ulint, ulint, ulint, const char *): Assertion `!mbmaxlen || !(prefix_len % mbmaxlen)' failed.