Heikki,

Thanks for the patch.  As I'm going on vacation tomorrow, I'll give it a 
try next week and let you know if I find anything.

--shak

Heikki Tuuri wrote:

>Hi!
>
>It turned out that the bug indeed was connected with a 32-bit signed integer
>wrap-over if the buffer pool on a 32-bit computer is bigger than 2 GB.
>
>The following patch may fix the problem, but better test first if there are
>also other similar wrap-overs which I did not notice.
>
>Best regards,
>
>Heikki
>Innobase Oy
>
>--- 1.4/innobase/include/buf0buf.ic Tue Dec  4 16:14:52 2001
>+++ 1.5/innobase/include/buf0buf.ic Wed Jun 26 21:42:32 2002
>@@ -209,7 +209,7 @@
>
>  ut_ad((ulint)ptr >= (ulint)frame_zero);
>
>- block = buf_pool_get_nth_block(buf_pool, (ptr - frame_zero)
>+ block = buf_pool_get_nth_block(buf_pool, ((ulint)(ptr - frame_zero))
>  >> UNIV_PAGE_SIZE_SHIFT);
>  ut_a(block >= buf_pool->blocks);
>  ut_a(block < buf_pool->blocks + buf_pool->max_size);
>@@ -236,7 +236,7 @@
>
>  ut_ad((ulint)ptr >= (ulint)frame_zero);
>
>- block = buf_pool_get_nth_block(buf_pool, (ptr - frame_zero)
>+ block = buf_pool_get_nth_block(buf_pool, ((ulint)(ptr - frame_zero))
>  >> UNIV_PAGE_SIZE_SHIFT);
>  ut_a(block >= buf_pool->blocks);
>  ut_a(block < buf_pool->blocks + buf_pool->max_size);
>
>----- Original Message -----
>From: "Heikki Tuuri" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Wednesday, June 26, 2002 4:42 PM
>Subject: Re: innodb bug
>
>
>  
>
>>Shakeel,
>>
>>this may be something with 32-bit unsigned integer / signed integer
>>arithmetic. I assume mysqld runs in the 32-bit mode?
>>
>>Are you able to compile mysqld yourself? You could add the following to
>>    
>>
>line
>  
>
>>214 of mysql/innobase/include/buf0buf.ic
>>
>>...
>>if (block < buf_pool->blocks) {
>>    printf("Values %lu, %lu, %lu, %lu\n", (ulint)(ptr - frame_zero),
>>(ulint)((ptr - frame_zero) >> UNIV_PAGE_SIZE_SHIFT),
>>                           (ulint)block, (ulint)(buf_pool->blocks),
>>(ulint)ptr, (ulint)frame_zero);
>>}
>>...
>>
>>Regards,
>>
>>Heikki
>>Innobase Oy
>>
>>----- Original Message -----
>>From: "Shakeel Sorathia" <[EMAIL PROTECTED]>
>>Newsgroups: mailing.database.mysql
>>Sent: Wednesday, June 26, 2002 1:19 AM
>>Subject: innodb bug
>>
>>
>>    
>>
>>>I've been having a problem with innodb lately.  We just upgraded one of
>>>our machine to have 4 GB of ram in it.  However, whenever I make the
>>>innodb_buffer_pool_size greater then 2048M  It crashes with the
>>>following in the error log.  It's 3.23.51 running on a Solaris 8
>>>Ultrasparc II machine with 4 GB ram.  Is the limit 2gb of ram, or is
>>>there something that I'm doing wrong?  Thanks for the help!
>>>
>>>--shak
>>>
>>>020625 12:57:14  mysqld started
>>>InnoDB: Assertion failure in thread 1 in file ../include/buf0buf.ic line
>>>      
>>>
>>214
>>    
>>
>>>InnoDB: We intentionally generate a memory trap.
>>>InnoDB: Send a detailed bug report to [EMAIL PROTECTED]
>>>mysqld got signal 11;
>>>This could be because you hit a bug. It is also possible that this
>>>      
>>>
>binary
>  
>
>>>or one of the libraries it was linked agaist is corrupt, improperly
>>>      
>>>
>built,
>  
>
>>>or misconfigured. This error can also be caused by malfunctioning
>>>      
>>>
>>hardware.
>>    
>>
>>>We will try our best to scrape up some info that will hopefully help
>>>diagnose
>>>the problem, but since we have already crashed, something is definitely
>>>wrong
>>>and this may fail
>>>
>>>key_buffer_size=8388600
>>>record_buffer=131072
>>>sort_buffer=1048568
>>>max_used_connections=0
>>>max_connections=1024
>>>threads_connected=0
>>>It is possible that mysqld could use up to
>>>key_buffer_size + (record_buffer + sort_buffer)*max_connections =
>>>      
>>>
>1187831
>  
>
>>K
>>    
>>
>>>bytes of memory
>>>Hope that's ok, if not, decrease some variables in the equation
>>>
>>>020625 12:57:54  mysqld ended
>>>
>>>--
>>>  Shakeel Sorathia
>>>Systems Administrator
>>>   (213) 739-5348
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>Before posting, please check:
>>>   http://www.mysql.com/manual.php   (the manual)
>>>   http://lists.mysql.com/           (the list archive)
>>>
>>>To request this thread, e-mail <[EMAIL PROTECTED]>
>>>To unsubscribe, e-mail
>>>      
>>>
>><[EMAIL PROTECTED]>
>>    
>>
>>>Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>>>
>>>      
>>>
>
>
>
>---------------------------------------------------------------------
>Before posting, please check:
>   http://www.mysql.com/manual.php   (the manual)
>   http://lists.mysql.com/           (the list archive)
>
>To request this thread, e-mail <[EMAIL PROTECTED]>
>To unsubscribe, e-mail <[EMAIL PROTECTED]>
>Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>
>  
>

-- 
  Shakeel Sorathia
Systems Administrator
   (213) 739-5348



---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to