Bug #39127 Backup fails on PowerMac platform
Submitted: 29 Aug 2008 16:50 Modified: 29 Sep 2008 17:28
Reporter: Chuck Bell Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Backup Severity:S1 (Critical)
Version:6.0.8 OS:Mac OS X (Darwin PPC)
Assigned to: Chuck Bell CPU Architecture:Any
Triage: D3 (Medium) / R1 (None/Negligible) / E1 (None/Negligible)

[29 Aug 2008 16:50] Chuck Bell
Description:
The backup system crashes the server when a backup is run. This can be seen on the powermacg5 pushbuild machine.

The error is located @si_logs.cc line#48:

  m_op_hist.backup_id= backup_log->get_next_backup_id();

Results show that while backup_log is a valid object, the error occurs when accessing the get_next_backup_id() method. It isn't accessible. 

How to repeat:
Build on powermacg5 or equivalent.
Run backup.

Suggested fix:
Work is needed to further diagnose the problem as the code is not build with debug in pushbuild.
[1 Sep 2008 18:31] Sveta Smirnova
Thank you for the report.

I can not repeat described behavior with current 6.0 tree compiled with help of BUILD/compile-pentium-debug-max. Please indicate which tree so you use and how you compiled it.
[10 Sep 2008 20:08] Chuck Bell
We are using the bzr_mysql-6.0-backup tree compiled for the powermacg5 platform.
[10 Sep 2008 21:46] Chuck Bell
Narrowed the problem to the call to int8store() in log.cc @ line #3595. Problem seems to be that write_id is ulonglong and a local variable. Possible fix is to make it uchar * and allocate memory.
[11 Sep 2008 13:19] Chuck Bell
Problem identified and fix prepared.
[11 Sep 2008 14:35] Chuck Bell
The solution should also consider the name changes introduced in WL#4296. Specifically, the patch should remove the old tables and allow the new log files (tables) to be created.

ref:

online_backup became backup_history
online_backup_progress became backup_progress
[11 Sep 2008 14:36] Chuck Bell
Ignore last post. Wrong bug report. oops. :|
[11 Sep 2008 18:22] 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/53852

2693 Chuck Bell	2008-09-11
      BUG#39127 Backup fails on PowerMac platform 
      
      The PowerMacG5 platform does not reference the variables used in the int8store() macro as 
      originally written. The address of write_id is invalid forcing the system to crash.
      
      This patch fixes the problem by using pointers to allocated memory for the int8store()
      and uint8korr() as type uchar * instead of ulonglong.
[12 Sep 2008 6:57] Jørgen Løland
Good to push.
[12 Sep 2008 12:09] Øystein Grøvlen
Patch approved.  Good to push.
[12 Sep 2008 12:15] 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/53971

2693 Chuck Bell	2008-09-11
      BUG#39127 Backup fails on PowerMac platform 
      
      The PowerMacG5 platform does not reference the variables used in the int8store() macro as 
      originally written. The address of write_id is invalid forcing the system to crash.
      
      This patch fixes the problem by using pointers to allocated memory for the int8store()
      and uint8korr() as type uchar * instead of ulonglong.
[28 Sep 2008 19:24] Øystein Grøvlen
Pushed to 6.0 main for 6.0.8
[29 Sep 2008 17:28] Paul Dubois
Noted in 6.0.8 changelog.

BACKUP DATABASE failed on PowerMac platforms due to type casting
problems.