Bug #29390 | too complex interpreted program crashes data nodes | ||
---|---|---|---|
Submitted: | 27 Jun 2007 14:22 | Modified: | 5 Nov 2007 21:12 |
Reporter: | Hartmut Holzgraefe | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S1 (Critical) |
Version: | 5.1 | OS: | Linux (x86 32bit) |
Assigned to: | Pekka Nousiainen | CPU Architecture: | Any |
[27 Jun 2007 14:22]
Hartmut Holzgraefe
[3 Aug 2007 16:41]
Magnus Blåudd
Small test file
Attachment: ndb_ms.test (application/octet-stream, text), 77.21 KiB.
[3 Aug 2007 16:49]
Magnus Blåudd
Had a look at this problem and created a small test case(with a large query). The query will create a scan on a table with an IN an non indexed column - thus creating many ATTRINFO signals. With a number of values in th IN that is just above the limit Dbtc will actually return error 207(ZLENGTH_ERROR) but when increasing the number of values the crash will occur in DbtupExecQuery.cpp The max number of words in ATTRINFO should be limited to a 16 bit value and thus the static buffer should be enough. But it wraps around somehow. Both the NdbApi, Dbtc and all the other blocks receiving the ATTRINFOs should check this limit. Also noted that the ATTRINFO are copied into the buffer for each record in the scan - oops! Although I think that is actually by design.
[4 Oct 2007 9:32]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34882 ChangeSet@1.2485, 2007-10-04 11:32:49+02:00, pekka@sama.ndb.mysql.com +10 -0 ndb - bug#29390: if ScanFilter is too large, abort or optionally discard it
[14 Oct 2007 14:17]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/35527 ChangeSet@1.2486, 2007-10-14 16:17:39+02:00, pekka@sama.ndb.mysql.com +1 -0 ndb - bug#29390: fix mem leak introduced in previous cset
[15 Oct 2007 18:02]
Jon Stephens
Documented in mysql-5.1-ndb-6.3.4 changelog as: Interpeted programs of sufficient size and complexity could cause all cluster data nodes to shut down due to buffer overruns. Left status as Patch Pending.
[5 Nov 2007 13:53]
Bugs System
Pushed into 6.0.4-alpha
[5 Nov 2007 13:56]
Bugs System
Pushed into 5.1.23-rc
[5 Nov 2007 13:58]
Bugs System
Pushed into 5.0.52
[5 Nov 2007 21:12]
Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at http://dev.mysql.com/doc/en/installing-source.html Documented fix in 5.0.52, 5.1.23, and 6.0.4 changelogs. Closed.