Bug #11064 some read error not detected in replication on 64-bit platform
Submitted: 3 Jun 2005 9:13 Modified: 23 Jun 2005 18:09
Reporter: Tomas Ulin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:4.0 -> OS:
Assigned to: Tomas Ulin CPU Architecture:Any

[3 Jun 2005 9:13] Tomas Ulin
Description:
don't know how far it goes back,  seen it back to 4.1...
a one line fix...
sql_repl.cc
static int send_file(THD *thd)
...
uint packet_len;
Should be
   unsigned long packet_len;
bug shows up as a warning on 64-bit amd platform...
(compile warning)
if (net_flush(net) || (packet_len = my_net_read(net)) == packet_error)
second compare will _always_ be false on 64-bit because sizeof(uint) != sizeof(unsigned long)
since packet_error  is ~(unsigned long)0

How to repeat:
not sure when bug will show up

Suggested fix:
see description
[3 Jun 2005 9:16] 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/internals/25561
[21 Jun 2005 19:29] Tomas Ulin
4.0.?(next build), 4.1.13, 5.0.8
[23 Jun 2005 18:09] Mike Hillyer
Documented in 4.1.13 and 5.0.8 changelogs.