Bug #52746 | innodb purge thread crashed with table containing prefix indexed blobs | ||
---|---|---|---|
Submitted: | 11 Apr 2010 17:47 | Modified: | 20 Jun 2010 17:34 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB Plugin storage engine | Severity: | S1 (Critical) |
Version: | 5.1.45 + 1.0.6 plugin, 5.1.47 + 1.0.7 plugin | OS: | Any |
Assigned to: | Marko Mäkelä | CPU Architecture: | Any |
[11 Apr 2010 17:47]
Shane Bester
[11 Apr 2010 18:09]
MySQL Verification Team
start server with --innodb-file-per-table --innodb-file-format=barracuda, import this sql and wait for purge thread to run
Attachment: bug52746.sql.bz2 (application/octet-stream, text), 103.76 KiB.
[11 Apr 2010 18:50]
Valeriy Kravchuk
Verified just as described with recent 5.1.47 + plugin 1.0.7 on Mac OS X: ... 100411 21:47:49 InnoDB Plugin 1.0.7 started; log sequence number 231734120 100411 21:47:49 [Note] Event Scheduler: Loaded 0 events 100411 21:47:49 [Note] /Users/openxs/dbs/5.1/libexec/mysqld: ready for connections. Version: '5.1.47-debug' socket: '/tmp/mysql.sock' port: 3306 Source distribution 100411 21:47:50 InnoDB: Assertion failure in thread 2960240640 in file trx/trx0rec.c line 1082 InnoDB: Failing assertion: ignore_prefix || !col->ord_part || dfield_get_len(dfield) >= REC_MAX_INDEX_COL_LEN + BTR_EXTERN_FIELD_REF_SIZE InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html InnoDB: about forcing recovery. 100411 21:47:50 - mysqld got signal 6 ; ...
[13 Apr 2010 12:19]
Marko Mäkelä
The assertion fails to account for ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, which can be as small as 2 * BTR_EXTERN_FIELD_REF_SIZE. I will review the code for similar assertions.
[5 May 2010 15:18]
Bugs System
Pushed into 5.1.47 (revid:joro@sun.com-20100505145753-ivlt4hclbrjy8eye) (version source revid:kristofer.pettersson@sun.com-20100503172109-f9hracq5pqsaomb1) (merge vers: 5.1.47) (pib:16)
[10 May 2010 6:13]
Marko Mäkelä
Suggested description of this bug for the manual: "A too strict assertion could fail during the purge of delete-marked records in DYNAMIC or COMPRESSED tables that contain column prefix indexes." This was fixed by relaxing the assertion.
[12 May 2010 19:14]
Paul DuBois
Noted in 5.1.47 changelog.
[28 May 2010 5:57]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100524190136-egaq7e8zgkwb9aqi) (version source revid:alik@sun.com-20100512070920-xgpmqeytp0gc183c) (pib:16)
[28 May 2010 6:25]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100524190941-nuudpx60if25wsvx) (version source revid:alik@sun.com-20100507093037-7cykrx1n73v0tetc) (merge vers: 6.0.14-alpha) (pib:16)
[28 May 2010 6:53]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100524185725-c8k5q7v60i5nix3t) (version source revid:alexey.kopytov@sun.com-20100507164602-8w09samq3mpvbxbn) (merge vers: 5.5.5-m3) (pib:16)
[30 May 2010 0:05]
Paul DuBois
Noted in 5.5.5, 6.0.14 changelogs.
[17 Jun 2010 11:59]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:martin.skold@mysql.com-20100616204905-jxjg342w35ks9vfy) (merge vers: 5.1.47-ndb-7.0.16) (pib:16)
[17 Jun 2010 12:39]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:martin.skold@mysql.com-20100615090726-jotpykke96le59w5) (merge vers: 5.1.47-ndb-6.2.19) (pib:16)
[17 Jun 2010 13:25]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:martin.skold@mysql.com-20100616120453-jh7wr05z1vf7r8pm) (merge vers: 5.1.47-ndb-6.3.35) (pib:16)