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