| Bug #53622 | null bitmask read incorrectly in mysqlbinlog | ||
|---|---|---|---|
| Submitted: | 13 May 2010 17:02 | Modified: | 24 May 2010 22:36 |
| Reporter: | Andrew Hutchings | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Cluster: Replication | Severity: | S3 (Non-critical) |
| Version: | mysql-5.1-telco-6.3 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[13 May 2010 17:02]
Andrew Hutchings
[24 May 2010 21:45]
Andrew Hutchings
I think I found the problem, in ha_ndbcluster.cc:
#ifdef WORDS_BIGENDIAN
/* lsw is stored first */
Uint32 *buf= (Uint32 *)(*value).rec->aRef();
field_bit->Field_bit::store((((longlong)*buf)
& 0x000000000FFFFFFFFLL)
|
((((longlong)*(buf+1)) << 32)
& 0xFFFFFFFF00000000LL),
TRUE);
#else
The first byte mask is one byte too long (has an extra 0 in it). This would logically cause the corruption we are seeing.
[24 May 2010 21:58]
Andrew Hutchings
ignore me, that is bit field processing (although still may be an unrelated bug)
