| Bug #29390 | too complex interpreted program crashes data nodes | ||
|---|---|---|---|
| Submitted: | 27 Jun 2007 16:22 | Modified: | 5 Nov 2007 22:12 |
| Reporter: | Hartmut Holzgraefe | ||
| Status: | Closed | ||
| Category: | Server: Cluster | Severity: | S1 (Critical) |
| Version: | 5.1 | OS: | Linux (x86 32bit) |
| Assigned to: | Pekka Nousiainen | Target Version: | 5.1.23 |
[27 Jun 2007 16:22]
Hartmut Holzgraefe
[3 Aug 2007 18:41]
Magnus Blaudd
Small test file
Attachment: ndb_ms.test (application/octet-stream, text), 77.21 KiB.
[3 Aug 2007 18:49]
Magnus Blaudd
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 11: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 16: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 20: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 14:53]
Bugs System
Pushed into 6.0.4-alpha
[5 Nov 2007 14:56]
Bugs System
Pushed into 5.1.23-rc
[5 Nov 2007 14:58]
Bugs System
Pushed into 5.0.52
[5 Nov 2007 22: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.
