------art_9412_33315840.1129243371884
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

TS:Guy, thanks again:
the latest build,
ruby 1.8.3 (2005-10-13)
with sisu, is fine.
Ralph

On 10/13/05, ts <decoux / moulon.inra.fr> wrote:
>
> >>>>> "n" == nobuyoshi nakada <nobuyoshi.nakada / ge.com> writes:
>
> n> If the size is indivisible by sizeof(YYSTYPE), it shouldn't be
> n> for the parser stack, I guessed. This is wrong assumption?
>
> Another way to see it
>
> moulon% ruby $HOME/local/r18/bin/sisu
> rb_parser_malloc size 2403 YYSTYPE 4
> file /home/msys/decoux/local/r18/lib/ruby/1.8/date/format.rb line 554
> rb_parser_malloc size 2403 YYSTYPE 4
> file /home/msys/decoux/local/r18/lib/ruby/site_ruby/1.8/sisu/0.27/param.rb
> line 117
> node 0xb7e2293c file
> /home/msys/decoux/local/r18/lib/ruby/site_ruby/1.8/sisu/0.27/param.rb line
> 302
> /home/msys/decoux/local/r18/lib/ruby/site_ruby/1.8/sisu/0.27/param.rb:342:
> [BUG] orig 0xb7e2293c
> ruby 1.8.3 (2005-10-12) [i686-linux]
>
> Aborted
> moulon%
>
> see the value 2403
>
> # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
>
> /* The size of an array large to enough to hold all stacks, each with
> N elements. */
> # define YYSTACK_BYTES(N) \
> ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
> + YYSTACK_GAP_MAXIMUM)
>
>
> YYSTACK_GAP_MAXIMUM is precisely 3
>
> moulon% gdb ruby
> GNU gdb 6.3-debian
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i386-linux"...Using host libthread_db library
> "/lib/tls/libthread_db.so.1".
>
> (gdb) set li 32
> (gdb) b rb_parser_malloc
> Breakpoint 1 at 0x8089967: file parse.y, line 6126.
> (gdb) r $HOME/local/r18/bin/sisu
> Starting program: /i/home/msys/decoux/ruby/cvs/ruby/ruby
> $HOME/local/r18/bin/sisu
>
> Breakpoint 1, rb_parser_malloc (size=2403) at parse.y:6126
> 6126 NODE *n = NEWHEAP(HEAPCNT(1, size));
> (gdb) up
> #1 0x0808ce33 in ruby_yyparse () at parse.c:3845
> 3845 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
> (gdb)
>
>
>
> Guy Decoux
>
> --
SiSU: http://www.jus.uio.no/sisu

------art_9412_33315840.1129243371884--