Bug #75930 Wrong key with short signals
Submitted: 17 Feb 2015 11:24 Modified: 13 Mar 2015 12:27
Reporter: Mikael Ronström Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:7.4.4 OS:Any
Assigned to: CPU Architecture:Any

[17 Feb 2015 11:24] Mikael Ronström
Description:
Using the short signals instead of long signals the copying to short signals is done
via the GSIReader class. This class uses memcpy to copy data. However the copying is
sometimes done from one signal to the same signal with overlapping memory.

How to repeat:
testBasic --forceshortreqs -n PkUpdate T2
Only so far been reproduced on an Intel NUC running Oracle Linux 7.

Suggested fix:
Replace memcpy by memmove in GSIReader

Also add new macros NDB_MEMCPY that enables checks in debug mode
[2 Mar 2015 20:04] Mikael Ronström
Posted by developer:
 
Pushed in 7.1 and onwards
[13 Mar 2015 12:27] Jon Stephens
Documented fix as follows in the NDB 7.1.35, 7.2.20, 7.3.9, and 7.4.5 changelogs:

    When reading and copying transporter short signal data, it was
    possible for the data to be copied back to the same signal with
    overlapping memory.

Closed.