From: ts Date: 2005-10-13T19:38:53+09:00 Subject: Re: ruby 1.8.3 (2005-09-21) [i486-linux] sisu segfault >>>>> "n" == nobuyoshi nakada 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? Well, rb_bug() called in fixpos() moulon% ruby $HOME/local/r18/bin/sisu 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% and with the debugger Breakpoint 2, rb_node_newnode (type=75776, a0=136813313, a1=136813313, a2=136813313) at parse.y:4478 4478 fprintf(stderr, "node 0x%x file %s line %d\n", n,ruby_sourcefile, (gdb) n node 0xb7e2293c file /home/msys/decoux/local/r18/lib/ruby/site_ruby/1.8/sisu/0.27/param.rb line 302 4481 n->u1.value = a0; (gdb) b rb_gc_mark_parser Breakpoint 3 at 0x808a586: file parse.y, line 5766. (gdb) c Continuing. Breakpoint 3, rb_gc_mark_parser () at parse.y:5766 5766 if (!ruby_in_compile) return; (gdb) p *parser_heap $1 = {flags = 61540415, nd_file = 0x8279b01 "/home/msys/decoux/local/r18/lib/ruby/site_ruby/1.8/sisu/0.27/param.rb", u1 = { node = 0x82828f8, id = 136849656, value = 136849656, cfunc = 0x82828f8, tbl = 0x82828f8}, u2 = { node = 0x0, id = 0, argc = 0, value = 0}, u3 = {node = 0x0, id = 0, state = 0, entry = 0x0, cnt = 0, value = 0}} (gdb) u3.cnt == 0 and the nodes are not marked (gdb) c Continuing. /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] Program received signal SIGABRT, Aborted. 0xb7e799e7 in raise () from /lib/tls/libc.so.6 (gdb) Continuing. /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] (gdb) Guy Decoux