From: Inaba Hiroto <inaba / st.rim.or.jp>
Subject: [ruby-dev:2747] Re: convert Perl's t/regexp.t to ruby
Date: Tue, 26 May 1998 01:49:22 +0900

> From: matz / netlab.co.jp (Yukihiro Matsumoto)
> Subject: [ruby-dev:2740] Re: convert Perl's t/regexp.t to ruby
> Date: Mon, 25 May 1998 13:06:35 +0900

> > ありがとうございます.怪しい点は発見できましたので,次のリリー
> > スでは対応できるような気がします.ちょっと理解できない部分が
> > あったので,確実に,というわけにはいかないのですが.
> 
> はい、次のリリースで確認してまた報告します。

遅れましてすみません。

残念ですがまだSEGVします。前よりかなり先まで進むんですが。
今回は、backtraceだけを見るとGCのルーチンは通ってないです。
以下ログです。途中を省略しました

% gdb /usr/local/src/lang/ruby-1.1b9_23/ruby
GDB is free software and you are welcome to 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.
GDB 4.16 (sparc-sun-solaris2.4), 
Copyright 1996 Free Software Foundation, Inc...
(gdb) run perl_regexp_t0.rb /usr/local/src/lang/perl5.004_65/t/op/re_tests
Starting program: /usr/local/src/lang/ruby-1.1b9_23/ruby perl_regexp_t0.rb /usr/local/src/lang/perl5.004_65/t/op/re_tests
1..442
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
		:
ok 313
ok 314
ok 315
ok 316
ok 317
ok 318
ok 319
ok 320
ok 321

Program received signal SIGSEGV, Segmentation fault.
0x4a854 in re_match (bufp=0x0, string_arg=0x11afa2 "", size=10, pos=0, 
    regs=0x11b0b8) at regex.c:3487
3487			  if (*d++ != *p++) goto fail;
(gdb) where
#0  0x4a854 in re_match (bufp=0x0, string_arg=0x11afa2 "", size=10, pos=0, 
    regs=0x11b0b8) at regex.c:3487
#1  0x48b8c in re_search (bufp=0xeaa80, string=0x11af98 "aaaaaaaaaa", size=10, 
    startpos=0, range=10, regs=0x11b0b8) at regex.c:2533
#2  0x41774 in reg_search (reg=569944, str=570808, start=0, reverse=0)
    at re.c:434
#3  0x41fbc in reg_match (re=569944, str=570808) at re.c:723
#4  0x1ded8 in rb_call0 (klass=757504, recv=569944, id=328, argc=1, 
    argv=0xefffdc80, body=0xb8dc8, nosuper=1) at eval.c:3301
#5  0x1ea34 in rb_call (klass=757504, recv=569944, mid=328, argc=1, 
    argv=0xefffdc80, scope=1) at eval.c:3571
#6  0x1eb98 in rb_funcall (recv=569944, mid=328, n=1) at eval.c:3645
#7  0x1b86c in rb_eval (self=792016, node=0x8b228) at eval.c:2289
#8  0x1b1a0 in rb_eval (self=792016, node=0x8b1f8) at eval.c:2069
#9  0x198a0 in rb_eval (self=792016, node=0x8b0a8) at eval.c:1580
#10 0x181dc in eval_node (self=792016) at eval.c:913
#11 0x1f144 in eval (self=792016, src=570016, scope=4, file=0x631e0 "(eval)", 
    line=0) at eval.c:3828
#12 0x1f380 in f_eval (argc=0, argv=0xefffe750, self=792016) at eval.c:3892
#13 0x1df04 in rb_call0 (klass=795592, recv=792016, id=3577, argc=1, 
    argv=0xefffe750, body=0xc0e80, nosuper=1) at eval.c:3304
#14 0x1ea34 in rb_call (klass=795592, recv=792016, mid=3577, argc=1, 
    argv=0xefffe750, scope=1) at eval.c:3571
#15 0x1aa78 in rb_eval (self=792016, node=0xb2378) at eval.c:1969
#16 0x198a0 in rb_eval (self=792016, node=0xb2330) at eval.c:1580
#17 0x1a270 in rb_eval (self=792016, node=0xb11c0) at eval.c:1830
#18 0x198a0 in rb_eval (self=792016, node=0xb1190) at eval.c:1580
#19 0x19c6c in rb_eval (self=792016, node=0xb1028) at eval.c:1689
#20 0x198a0 in rb_eval (self=792016, node=0xb0ff8) at eval.c:1580
#21 0x181dc in eval_node (self=792016) at eval.c:913
#22 0x18298 in ruby_run () at eval.c:943
#23 0x170f0 in main (argc=3, argv=0xeffff54c, envp=0xeffff55c) at main.c:32
(gdb) quit
The program is running.  Quit anyway (and kill it)? (y or n) y
% /usr/local/src/lang/ruby-1.1b9_23/ruby -v
ruby 1.1b9_23(98/05/26) [sparc-solaris2.4]
--
			   稲葉 浩人 (inaba / st.rim.or.jp)