List:Commits« Previous MessageNext Message »
From:Olav Sandstaa Date:June 8 2008 6:52am
Subject:commit into mysql-6.0-falcon:mysql-6.0-falcon branch (olav:2694) Bug#36745
View as plain text  
#At bzr+ssh://

 2694 Olav Sandstaa	2008-06-08
      Fix to the second of the memory alignment issues in Bug#36745 falcon crash on
      The problem that caused crashes on SPARC running in 64 bit mode was due a memory
aligment issue
      when "nodes" were allocated in the DeferredIndex::initialSpace. Memory is allocated
in the
      initialSpace starting from the end of the memory area. Since the end of the
initialSpace was not
      aligned on an address boundary this resulted in that memory allocated from it was
not aligned and thus
      crashed on Solaris when running in 64 bit mot on SPARC. Fixed this by ensuring that
the size
      of the initialSpace is "8 byte memory aligned" (increased the size of it from 500
bytes to 512 bytes).

per-file comments:
    Increased the size of initialSpace from 500 to 512 bytes to ensure that objects
    from it gets an address that is memory aligned also on 64 bit platforms.

=== modified file 'storage/falcon/DeferredIndex.h'
--- a/storage/falcon/DeferredIndex.h	2008-03-11 16:15:47 +0000
+++ b/storage/falcon/DeferredIndex.h	2008-06-08 06:52:51 +0000
@@ -111,7 +111,7 @@
 	DIHunk			*hunks;
 	DINode			*minValue;
 	DINode			*maxValue;
-	UCHAR			initialSpace[500];
+	UCHAR			initialSpace[512];
 	UCHAR			*base;
 	void			*root;
 	uint			currentHunkOffset;

commit into mysql-6.0-falcon:mysql-6.0-falcon branch (olav:2694) Bug#36745Olav Sandstaa8 Jun