List:Commits« Previous MessageNext Message »
From:Dmitry Shulga Date:November 10 2010 6:04am
Subject:bzr push into mysql-5.1-bugteam branch (Dmitry.Shulga:3500 to 3501) Bug#57386
View as plain text  
 3501 Dmitry Shulga	2010-11-10
      Fixed Bug#57386 - main.execution_constants segfault on MIPS64EL.
     @ sql/item_func.cc
        Item_func::fix_fields modified: increased minimal required stack
        size in call to check_stack_overrun().

    modified:
      sql/item_func.cc
 3500 Davi Arnaut	2010-11-09
      Bug#57210: remove pstack
      
      Quoting from the bug report:
      
      The pstack library has been included in MySQL since version
      4.0.0. It's useless and should be removed.
      
      Details: According to its own documentation, pstack only works
      on Linux on x86 in 32 bit mode and requires LinuxThreads and a
      statically linked binary. It doesn't really support any Linux
      from 2003 or later and doesn't work on any other OS.
      
      The --enable-pstack option is thus deprecated and has no effect.

    removed:
      pstack/
      pstack/Makefile.am
      pstack/aout/
      pstack/aout/Makefile.am
      pstack/aout/aout64.h
      pstack/aout/stab.def
      pstack/aout/stab_gnu.h
      pstack/bucomm.c
      pstack/bucomm.h
      pstack/budbg.h
      pstack/debug.c
      pstack/debug.h
      pstack/demangle.h
      pstack/filemode.c
      pstack/ieee.c
      pstack/ieee.h
      pstack/libiberty.h
      pstack/linuxthreads.c
      pstack/linuxthreads.h
      pstack/pstack.c
      pstack/pstack.h
      pstack/pstacktrace.h
      pstack/rddbg.c
      pstack/stabs.c
    modified:
      BUILD/compile-pentium-mysqlfs-debug
      Makefile.am
      README
      configure.in
      include/mysql_embed.h
      sql/Makefile.am
      sql/mysqld.cc
=== modified file 'sql/item_func.cc'
--- a/sql/item_func.cc	2010-10-05 08:11:56 +0000
+++ b/sql/item_func.cc	2010-11-10 05:49:37 +0000
@@ -157,7 +157,14 @@ Item_func::fix_fields(THD *thd, Item **r
   used_tables_cache= not_null_tables_cache= 0;
   const_item_cache=1;
 
-  if (check_stack_overrun(thd, STACK_MIN_SIZE, buff))
+  /*
+    Use stack limit of STACK_MIN_SIZE * 2 since
+    on some platforms a recursive call to fix_fields
+    requires more than STACK_MIN_SIZE bytes (e.g. for
+    MIPS, it takes about 22kB to make one recursive
+    call to Item_func::fix_fields())
+  */
+  if (check_stack_overrun(thd, STACK_MIN_SIZE * 2, buff))
     return TRUE;				// Fatal error if flag is set!
   if (arg_count)
   {						// Print purify happy


Attachment: [text/bzr-bundle] bzr/dmitry.shulga@oracle.com-20101110054937-qqndtntsaes91tpl.bundle
Thread
bzr push into mysql-5.1-bugteam branch (Dmitry.Shulga:3500 to 3501) Bug#57386Dmitry Shulga10 Nov