[MDEV-22936] Assertion `m_curr_row <= m_rows_end' failed in Rows_log_event::unpack_current_row (debug) | ERROR 1105 (HY000): Unknown error (optimized builds) | Got error 171 "The event was corrupt, leading to illegal data being read Created: 2020-06-18 Updated: 2023-11-28 |
|
| Status: | Confirmed |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Affects Version/s: | 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1 |
| Fix Version/s: | 10.4, 10.5, 10.6, 10.11, 11.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Roel Van de Paar | Assignee: | Andrei Elkin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | affects-tests | ||
| Description |
|
Note: --log-bin option is not required.
Leads to:
Bug confirmed present in: Bug confirmed not present in: |
| Comments |
| Comment by Roel Van de Paar [ 2020-06-19 ] | |||||||||||||||||||||||||||||
|
Variation 1: t1 does not exist (changed table name)
Variation 2: ERROR 1105 (HY000): Uknown error (changed table def)
ERROR 1105 (HY000): Unknown error in variation 2 is also reproducible on optimized builds:
| |||||||||||||||||||||||||||||
| Comment by Sachin Setiya (Inactive) [ 2020-06-22 ] | |||||||||||||||||||||||||||||
|
Hi Roel I tried this variation
To me binlog looks corrupt | |||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2020-07-21 ] | |||||||||||||||||||||||||||||
|
Hi sachin.setiya.007. I did not generate those statements; they were taken from an MTR test. I cannot locate which one, in spite of an extensive search. Irrespective where they came from though, these statements crash/error the server in various ways as described. I also tried to convert the entries back to normal SQL commands using `mysqlbinlog --base64-output=decode-rows -vv`, but as the binlog format is binary which does not allow editing (and the commands are BINLOG commands already), this was not possible. Also, the fact that the second command does not fail in variation 1 means it is at least partially interpreted as referring to t1. Perhaps gdb or strace may assist in shedding some more light. Final thought; even if the log were corrupt, the server should be able handle the corruption? | |||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2023-01-13 ] | |||||||||||||||||||||||||||||
|
Replaying the testcase against an optimized build (but not debug), InnoDB reports the event as being corrupt:
| |||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2023-02-03 ] | |||||||||||||||||||||||||||||
|
Related to this,
Produces:
| |||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2023-06-26 ] | |||||||||||||||||||||||||||||
|
Various other testcases seen in connection with similar errors (including MariaDB error code: 1030 and 1610 and Got error 171)
| |||||||||||||||||||||||||||||
| Comment by Ramesh Sivaraman [ 2023-11-14 ] | |||||||||||||||||||||||||||||
|
Another test case with slightly different stack.
Leads to
|