From: Shugo Maeda Date: 2005-05-23T11:43:14+09:00 Subject: [ruby-dev:26206] repeated syntax errors causes SEGV This is a multi-part message in MIME format. --------------030201040008010204030503 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit 前田です。 添付のスクリプトでSegmentation Faultが発生するようです。 $ ruby-cvs /tmp/test.rb (eval):2: [BUG] Segmentation fault ruby 1.9.0 (2005-05-22) [i686-linux] zsh: abort ruby-cvs /tmp/test.rb $ ruby-cvs_1_8 /tmp/test.rb (eval):2: [BUG] Segmentation fault ruby 1.8.3 (2005-05-22) [i686-linux] zsh: abort ruby-cvs_1_8 /tmp/test.rb 参考までにvalgrindの出力も付けておきます。 $ RUBY=ruby-cvs valgrind-ruby /tmp/test.rb ==30511== Memcheck, a memory error detector for x86-linux. ==30511== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==30511== Using valgrind-2.4.0, a program supervision framework for x86-linux. ==30511== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==30511== For more details, rerun with: -v ==30511== ==30511== Invalid read of size 4 ==30511== at 0x1B990FFA: onig_free_body (regcomp.c:4571) ==30511== by 0x1B9910C5: onig_free (regcomp.c:4587) ==30511== by 0x1B9516D0: obj_free (gc.c:1165) ==30511== by 0x1B951537: gc_sweep (gc.c:1053) ==30511== by 0x1B951AEB: garbage_collect (gc.c:1399) ==30511== by 0x1B9504A8: rb_newobj (gc.c:393) ==30511== by 0x1B9A4EC8: str_alloc (string.c:67) ==30511== by 0x1B9A4F4B: str_new (string.c:89) ==30511== by 0x1B9A4FE1: rb_str_new (string.c:105) ==30511== by 0x1B92CFA8: rb_exc_new (error.c:323) ==30511== by 0x1B92D014: rb_exc_new2 (error.c:331) ==30511== by 0x1B92FA7A: err_append (error.c:1615) ==30511== Address 0x1BDBAFE0 is 0 bytes inside a block of size 384 free'd ==30511== at 0x1B904B04: free (vg_replace_malloc.c:152) ==30511== by 0x1B950146: ruby_xfree (gc.c:178) ==30511== by 0x1B9910CD: onig_free (regcomp.c:4588) ==30511== by 0x1B986D2A: make_regexp (re.c:661) ==30511== by 0x1B988101: rb_reg_initialize (re.c:1415) ==30511== by 0x1B9882DE: rb_reg_compile (re.c:1460) ==30511== by 0x1B9766D2: parser_yyparse (parse.y:3551) ==30511== by 0x1B977A74: yycompile (parse.y:4480) ==30511== by 0x1B977D81: rb_compile_string (parse.y:4558) ==30511== by 0x1B93C8EA: compile (eval.c:6166) ==30511== by 0x1B93CE68: eval (eval.c:6247) ==30511== by 0x1B93D191: rb_f_eval (eval.c:6366) ==30511== ==30511== Invalid free() / delete / delete[] ==30511== at 0x1B904B04: free (vg_replace_malloc.c:152) ==30511== by 0x1B950146: ruby_xfree (gc.c:178) ==30511== by 0x1B991097: onig_free_body (regcomp.c:4581) ==30511== by 0x1B9910C5: onig_free (regcomp.c:4587) ==30511== by 0x1B9516D0: obj_free (gc.c:1165) ==30511== by 0x1B951537: gc_sweep (gc.c:1053) ==30511== by 0x1B951AEB: garbage_collect (gc.c:1399) ==30511== by 0x1B9504A8: rb_newobj (gc.c:393) ==30511== by 0x1B9A4EC8: str_alloc (string.c:67) ==30511== by 0x1B9A4F4B: str_new (string.c:89) ==30511== by 0x1B9A4FE1: rb_str_new (string.c:105) ==30511== by 0x1B92CFA8: rb_exc_new (error.c:323) ==30511== Address 0x1BDBB190 is 0 bytes inside a block of size 134 free'd ==30511== at 0x1B904B04: free (vg_replace_malloc.c:152) ==30511== by 0x1B950146: ruby_xfree (gc.c:178) ==30511== by 0x1B991097: onig_free_body (regcomp.c:4581) ==30511== by 0x1B9910C5: onig_free (regcomp.c:4587) ==30511== by 0x1B986D2A: make_regexp (re.c:661) ==30511== by 0x1B988101: rb_reg_initialize (re.c:1415) ==30511== by 0x1B9882DE: rb_reg_compile (re.c:1460) ==30511== by 0x1B9766D2: parser_yyparse (parse.y:3551) ==30511== by 0x1B977A74: yycompile (parse.y:4480) ==30511== by 0x1B977D81: rb_compile_string (parse.y:4558) ==30511== by 0x1B93C8EA: compile (eval.c:6166) ==30511== by 0x1B93CE68: eval (eval.c:6247) -- 前田 修吾 --------------030201040008010204030503 Content-Type: text/plain; name="test.rb" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="test.rb" cyA9IDw8RU9GCmZvbygoaCBAeCA9PgogICAgPC9kaXY+CiAgICA8ZGl2PgogICAgICA8ZGl2 PgogICAgICAgIDwlPSBiYXIgKS50b19zKTsgYmF6ICJcbiIKcXV1eCAiPC9kaXY+XG4iCkVP RgoxMDAwLnRpbWVzIGRvCiAgYmVnaW4KICAgIGV2YWwocykKICByZXNjdWUgU3ludGF4RXJy b3IKICBlbmQKZW5kCg== --------------030201040008010204030503--