From: gotoken@... (GOTO Kentaro) Date: 1999-07-02T07:51:13+09:00 Subject: [ruby-dev:7273] [BUG] regex.c ごとけんです 息抜きに Ruby しようと思ったら、バグに当たってしまいました。 % ruby -ve '(" "*4680).scan(/((?!\\).*)+/)' ruby 1.3.4-990625 [i386-freebsd2.2.6] /tmp/rbn23789:1: [BUG] Segmentation fault Abort % btだけつけます (__; -- gotoken (gdb) set arg -ve '(" "*4680).scan(/((?!\\).*)+/)' (gdb) run Starting program: /home/chaos/gotoken/bin/ruby -ve '(" "*4680).scan(/((?!\\).*)+/)' ruby 1.3.4-990625 [i386-freebsd2.2.6] Program received signal SIGSEGV, Segmentation fault. ruby_re_match (bufp=0xc1d00, string_arg=0xd4000 ' ' ..., size=4680, pos=0, regs=0xc3a90) at regex.c:3580 3580 if (ismbchar(*d)) { (gdb) p d $1 = (unsigned char *) 0x0 (gdb) bt #0 ruby_re_match (bufp=0xc1d00, string_arg=0xd4000 ' ' ..., size=4680, pos=0, regs=0xc3a90) at regex.c:3580 #1 0x421d1 in ruby_re_search (bufp=0xc1d00, string=0xd4000 ' ' ..., size=4680, startpos=0, range=4680, regs=0xc3a90) at regex.c:3035 #2 0x396b4 in rb_reg_search (reg=629312, str=629172, pos=0, reverse=0) at re.c:539 #3 0x4d1e0 in scan_once (str=629172, pat=629312, start=0xefbfd328) at string.c:2381 #4 0x4d2b6 in rb_str_scan (str=629172, pat=629312) at string.c:2417 #5 0x8d65 in call_cfunc (func=0x4d27c , recv=629172, len=1, argc=1, argv=0xefbfd454) at eval.c:3630 #6 0x9232 in rb_call0 (klass=671372, recv=629172, id=4089, argc=1, argv=0xefbfd454, body=0xa361c, nosuper=1) at eval.c:3763 #7 0x98a4 in rb_call (klass=671372, recv=629172, mid=4089, argc=1, argv=0xefbfd454, scope=0) at eval.c:3957 #8 0x5834 in rb_eval (self=675532, node=0x99a04) at eval.c:2165 #9 0x289c in eval_node (self=675532) at eval.c:967 #10 0x2a08 in ruby_run () at eval.c:1003 #11 0x1611 in main (argc=3, argv=0xefbfd710, envp=0xefbfd720) at main.c:39