From: Katsuyuki Komatsu Date: 1999-08-06T23:42:11+09:00 Subject: [ruby-dev:7553] make test failure on sunos 小松です。 ruby-1.3.7ですが、SunOS 4.1.4でmake testが失敗してしまいました。 % uname -s -r SunOS 4.1.4-JL % env CFLAGS='-g -Wall' --with-readline-dir=/usr/local --with-make-prog=gmake --enable-shared sparc-sunos4.1.4 …… % make …… % ./ruby -v ruby 1.3.7 (1999-08-06) [sparc-sunos4.1.4] % make test (eval):1: [BUG] Segmentation fault test failed % gdb ruby core GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or 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. This GDB was configured as "sparc-sun-sunos4.1.4"... Core was generated by `ruby'. Program terminated with signal 6, Abort. Reading symbols from /tmp_mnt/home/atropos/src/ruby-1.3.7/sunos-debug/./libruby.so.1.3.7...done. Reading symbols from /usr/lib/libdl.so.1.0...done. Reading symbols from /usr/lib/libc.so.101.9...done. #0 0xef69c8f8 in kill () from /usr/lib/libc.so.101.9 (gdb) where #0 0xef69c8f8 in kill () from /usr/lib/libc.so.101.9 #1 0xef6b525c in abort () from /usr/lib/libc.so.101.9 #2 0xef709038 in rb_bug (fmt=0xef7d0168 "Segmentation fault") at ../error.c:154 #3 0xef78a004 in sigsegv (sig=11) at ../signal.c:377 #4 #5 0xef78db4c in st_lookup (table=0x0, key=0xef7c1128 "bcdefgGkloOprRsSuwWxXz", value=0xefffe554) at ../st.c:216 #6 0xef7a2028 in rb_mark_generic_ivar (obj=4017885480) at ../variable.c:789 #7 0xef72daac in rb_gc_mark (ptr=0xef7c1128) at ../gc.c:414 #8 0xef72ddc0 in L167 () at ../gc.c:555 #9 0xef72ee84 in rb_gc_mark_frame (frame=0xeffff0f0) at ../gc.c:851 #10 0xef72ef48 in rb_gc () at ../gc.c:909 #11 0xef72d6e4 in rb_newobj () at ../gc.c:279 #12 0xef75f5d0 in rb_node_newnode (type=NODE_CALL, a0=0x10b08, a1=0x14d, a2=0x10a00) at parse.y:3436 #13 0xef760548 in aryset (recv=0x10b08, idx=0x10a00) at parse.y:3720 #14 0xef754ee4 in L430 () at parse.y:532 #15 0xef758d54 in yycompile (f=0xef7bfe38 "(eval)") at parse.y:1751 #16 0xef759008 in rb_compile_string (f=0xef7bfe38 "(eval)", s=70496, line=1) at parse.y:1798 #17 0xef71bd04 in compile (src=70496, file=0xef7bfe38 "(eval)", line=1) at ../eval.c:4184 #18 0xef71c1ac in eval (self=303536, src=70496, scope=70736, file=0xef7bfe38 "(eval)", line=1) at ../eval.c:4252 #19 0xef71c6b8 in rb_f_eval (argc=2, argv=0xeffff378, self=303536) at ../eval.c:4322 #20 0xef7196c0 in L1075 () at ../eval.c:3665 #21 0xef71a5a8 in rb_call0 (klass=307760, recv=303536, id=3561, argc=2, argv=0xeffff378, body=0x49940, nosuper=1) at ../eval.c:3804 #22 0xef71b45c in rb_call (klass=307760, recv=303536, mid=3561, argc=2, argv=0xeffff378, scope=1) at ../eval.c:3998 #23 0xef7128e0 in L813 () at ../eval.c:2177 #24 0xef7104c0 in L813 () at ../eval.c:1739 #25 0xef70d6b0 in eval_node (self=303536) at ../eval.c:986 #26 0xef70d888 in ruby_run () at ../eval.c:1022 #27 0x22c8 in main (argc=2, argv=0xeffff944, envp=0xeffff950) at ../main.c:39 (gdb) up #1 0xef6b525c in abort () from /usr/lib/libc.so.101.9 (gdb) up #2 0xef709038 in rb_bug (fmt=0xef7d0168 "Segmentation fault") at ../error.c:154 154 abort(); (gdb) up #3 0xef78a004 in sigsegv (sig=11) at ../signal.c:377 377 rb_bug("Segmentation fault"); (gdb) up #4 (gdb) up #5 0xef78db4c in st_lookup (table=0x0, key=0xef7c1128 "bcdefgGkloOprRsSuwWxXz", value=0xefffe554) at ../st.c:216 216 hash_val = do_hash(key, table); (gdb) up #6 0xef7a2028 in rb_mark_generic_ivar (obj=4017885480) at ../variable.c:789 789 if (st_lookup(generic_iv_tbl, obj, &tbl)) { (gdb) up #7 0xef72daac in rb_gc_mark (ptr=0xef7c1128) at ../gc.c:414 414 rb_mark_generic_ivar((VALUE)obj); (gdb) up #8 0xef72ddc0 in L167 () at ../gc.c:555 555 rb_gc_mark(obj->as.basic.klass); (gdb) up #9 0xef72ee84 in rb_gc_mark_frame (frame=0xeffff0f0) at ../gc.c:851 851 rb_gc_mark(frame->cbase); (gdb) up #10 0xef72ef48 in rb_gc () at ../gc.c:909 909 rb_gc_mark_frame(frame); (gdb) up #11 0xef72d6e4 in rb_newobj () at ../gc.c:279 279 else rb_gc(); (gdb) up #12 0xef75f5d0 in rb_node_newnode (type=NODE_CALL, a0=0x10b08, a1=0x14d, a2=0x10a00) at parse.y:3436 3436 parse.y: No such file or directory. (gdb) up #13 0xef760548 in aryset (recv=0x10b08, idx=0x10a00) at parse.y:3720 3720 in parse.y (gdb) up #14 0xef754ee4 in L430 () at parse.y:532 532 in parse.y (gdb) up #15 0xef758d54 in yycompile (f=0xef7bfe38 "(eval)") at parse.y:1751 1751 in parse.y (gdb) up #16 0xef759008 in rb_compile_string (f=0xef7bfe38 "(eval)", s=70496, line=1) at parse.y:1798 1798 in parse.y (gdb) up #17 0xef71bd04 in compile (src=70496, file=0xef7bfe38 "(eval)", line=1) at ../eval.c:4184 4184 node = rb_compile_string(file, src, line); (gdb) up #18 0xef71c1ac in eval (self=303536, src=70496, scope=70736, file=0xef7bfe38 "(eval)", line=1) at ../eval.c:4252 4252 compile(src, file, line); (gdb) up #19 0xef71c6b8 in rb_f_eval (argc=2, argv=0xeffff378, self=303536) at ../eval.c:4322 4322 return eval(self, src, scope, file, line); (gdb) up #20 0xef7196c0 in L1075 () at ../eval.c:3665 3665 return (*func)(argc, argv, recv); (gdb) up #21 0xef71a5a8 in rb_call0 (klass=307760, recv=303536, id=3561, argc=2, argv=0xeffff378, body=0x49940, nosuper=1) at ../eval.c:3804 3804 result = call_cfunc(body->nd_cfnc, recv, len, argc, argv); (gdb) up #22 0xef71b45c in rb_call (klass=307760, recv=303536, mid=3561, argc=2, argv=0xeffff378, scope=1) at ../eval.c:3998 3998 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF); (gdb) up #23 0xef7128e0 in L813 () at ../eval.c:2177 2177 result = rb_call(CLASS_OF(self),self,node->nd_mid,argc,argv,1); (gdb) up #24 0xef7104c0 in L813 () at ../eval.c:1739 1739 rb_eval(self, node->nd_head); (gdb) up #25 0xef70d6b0 in eval_node (self=303536) at ../eval.c:986 986 return rb_eval(self, tree); (gdb) up #26 0xef70d888 in ruby_run () at ../eval.c:1022 1022 eval_node(ruby_top_self); (gdb) up #27 0x22c8 in main (argc=2, argv=0xeffff944, envp=0xeffff950) at ../main.c:39 39 ruby_run(); (gdb) up Initial frame selected; you cannot go up. (gdb) quit % ./ruby ../sample/test.rb assignment ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 condition ok 1 ok 2 if/unless ok 1 ok 2 ok 3 case ok 1 ok 2 ok 3 ok 4 ok 5 while/until ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 exception ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 array ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 hash ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 iterator ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 bignum ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 string & char ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 ok 46 ok 47 ok 48 ok 49 ok 50 ok 51 asignment ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 call ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 proc ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 signal ok 1 ok 2 eval ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 (eval):1: [BUG] Segmentation fault Abort (core dumped) % -- 小松克行 / Katsuyuki Komatsu