こんにちは、鄭です。 # ここ3週間ばかり忙しくて、先月末の石塚さんのmindexの件もお返事できずに # 不義理してます。_o_ Yukihiro Matsumoto writes: > そうですか.残念です.今まで報告された症状に合致するものはな > いようです.行番号から推測すると正規表現のマッチ関連のようで > すが…. ruby 1.1c0 ですが、Solaris 2.5.1 と Sun の c コンパイラで同じような症状が 出ています。 (gcc だとちゃんとコンパイルできるのですが。) 以下、ちょっと長いですが、log です。 # お役にたちますように、、、、 % ./configure --without-gcc creating cache ./config.cache checking host system type... sparc-sun-solaris2.5.1 checking for gcc... cc checking whether the C compiler (cc ) works... yes checking whether the C compiler (cc ) is a cross-compiler... no checking whether we are using GNU C... no checking how to run the C preprocessor... cc -E checking for bison... bison -y 途中省略 checking whether OS depend dynamic link works... yes creating config.h updating cache ./config.cache creating ./config.status creating Makefile creating ext/extmk.rb % gmake cc -g -I. -I/usr/local/include -c array.c "array.c", line 791: warning: argument #4 is incompatible with prototype: prototype: pointer to function(pointer to const void, pointer to const void) returning int : "/usr/include/stdlib.h", line 97 argument : pointer to function(pointer to ulong, pointer to ulong) returning int cc -g -I. -I/usr/local/include -c bignum.c 途中省略 cc -g -I. -I/usr/local/include -c gc.c "gc.c", line 689: warning: operands have incompatible pointer types: op "==" cc -g -I. -I/usr/local/include -c glob.c 途中省略 cc -g -I. -I/usr/local/include -c io.c "io.c", line 1330: warning: statement not reached cc -g -I. -I/usr/local/include -c marshal.c 途中省略 cc -g -I. -I/usr/local/include -c regex.c "regex.c", line 196: warning: assignment type mismatch: pointer to uchar "=" pointer to char "regex.c", line 851: warning: assignment type mismatch: pointer to uchar "=" pointer to char cc -g -I. -I/usr/local/include -c ruby.c 途中省略 cc -g -I. -I/usr/local/include -c sprintf.c "sprintf.c", line 611: warning: identifier redeclared: fmt_setup current : function() returning void previous: function(pointer to char, char, int, int, int) returning void : "sprintf.c", line 16 "sprintf.c", line 613: warning: Prototype mismatch in arg 2 for function fmt_setup: function : old style declaration char promoted to int prototype: char cc -g -I. -I/usr/local/include -c st.c 途中省略 cc -g -I. -I/usr/local/include main.o array.o bignum.o class.o compar.o dir.o dln.o enum.o error.o eval.o file.o fnmatch.o gc.o glob.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o setenv.o flock.o dmyext.o -ldl -lcrypt -lm -o miniruby extmk.rb:38: [BUG] Segmentation fault gmake: *** [all] Abort (core dumped) % dbx miniruby ext/core Reading symbolic information for miniruby core file header read successfully Reading symbolic information for rtld /usr/lib/ld.so.1 Reading symbolic information for libdl.so.1 Reading symbolic information for libc.so.1 Reading symbolic information for libc_psr.so.1 program terminated by signal ABRT (Abort) Current function is Bug 154 abort(); (dbx) where [1] kill(0x0, 0x6, 0x0, 0x0, 0xffffffff, 0x162e58), at 0xef7740d8 [2] abort(0xefffd960, 0xefffdda8, 0x15a474, 0x0, 0x0, 0x1), at 0xef73a57c =>[3] Bug(fmt = 0x15a474 "Segmentation fault", ...), line 154 in "error.c" [4] sigsegv(sig = 11), line 332 in "signal.c" ---- called from signal handler with signal 11 (SIGSEGV) ------ [5] calculate_must_string(start = 0x1c7858 "^B^A^Ffunc: ^V^A^A^K^C", end = 0x1c78ad ""), line 920 in "regex.c" [6] re_compile_pattern(pattern = 0x1c5db0 "^func: ([\w_]+) (yes|no)", size = 24U, bufp = 0x1c6d00), line 2027 in "regex.c" [7] make_regexp(s = 0x1c5db0 "^func: ([\w_]+) (yes|no)", len = 24, flag = 0), line 324 in "re.c" [8] reg_new_1(klass = 1671296U, s = 0x1c5db0 "^func: ([\w_]+) (yes|no)", len = 24, options = 0), line 656 in "re.c" [9] reg_new(s = 0x1c5db0 "^func: ([\w_]+) (yes|no)", len = 24, flag = 0), line 671 in "re.c" [10] parse_regx(term = 47, paren = 47), line 2013 in "parse.y" [11] yylex(), line 2762 in "parse.y" [12] yyparse(), line 387 in "bison.simple" [13] yycompile(f = 0xefffeffd "extmk.rb"), line 1651 in "parse.y" [14] compile_file(f = 0xefffeffd "extmk.rb", file = 1648928U, start = 2), line 1682 in "parse.y" [15] load_file(fname = 0xefffeffd "extmk.rb", script = 1), line 579 in "ruby.c" [16] proc_options(argcp = 0xefffed7c, argvp = 0xefffed80), line 430 in "ruby.c" [17] ruby_process_options(argc = 3, argv = 0xefffeeac), line 804 in "ruby.c" [18] ruby_options(argc = 3, argv = 0xefffeeac), line 894 in "eval.c" [19] main(argc = 3, argv = 0xefffeeac, envp = 0xefffeebc), line 31 in "main.c" (dbx) display bufp bufp = 0x1c6d00 (dbx) display *bufp bufp = 0x1c6d00 *bufp = { buffer = 0x1c7858 "^B^A^Ffunc: ^V^A^A^K^C" allocated = 128 used = 85 fastmap = 0x1c7750 "" must = (nil) options = 0 re_nsub = 3 fastmap_accurate = '\0' can_be_null = '\0' } -- ┌─鄭 明毅───────────────────┐ └──tei / harmony.co.jp──tei@mirage.linc.or.jp─┘