[#15625] rb_hash_initialize — Takaaki Tateishi <ttate@...>

立石です.

22 messages 2002/01/04
[#15627] Re: rb_hash_initialize — matz@... (Yukihiro Matsumoto) 2002/01/04

まつもと ゆきひろです

[#15628] Re: rb_hash_initialize — Takaaki Tateishi <ttate@...> 2002/01/04

立石です.

[#15685] undefined method `inherited' for false (NameError) — WATANABE Hirofumi <eban@...>

わたなべです。

13 messages 2002/01/15
[#15686] Re: undefined method `inherited' for false (NameError) — nobu.nakada@... 2002/01/15

なかだです。

[#15757] 文字列→整数変換 — nobu.nakada@...

なかだです。

30 messages 2002/01/25

[#15830] [ 提案 ] puts, print 等を IO から分離 — UENO Katsuhiro <unnie@...>

うえのです。

14 messages 2002/01/31

[ruby-dev:15819] Re: racc fails on alpha-freebsd

From: Minero Aoki <aamine@...>
Date: 2002-01-31 03:53:04 UTC
List: ruby-dev #15819
あおきです。

  In mail "[ruby-dev:15812] Re: racc fails on alpha-freebsd"
    matz@ruby-lang.org (Yukihiro Matsumoto) wrote:

> まつもと ゆきひろです

> |Racc が Alpha で落ちるという話の続きですが、完全なスタック
> |トレースをいただけたので張り付けます。なにかわかるでしょうか?
> 
> これ?

パッチをあてたら落ちる場所が変わったそうです。手強い。
スタックトレース添付。

# 直接やりとりしてもらったほうがいいでしょうか?
-------------------------------------------------------------------
青木峰郎

Program received signal SIGSEGV, Segmentation fault.
rb_gc_mark (ptr=0x2a73d7f02123540c) at gc.c:452
452         if (obj->as.basic.flags == 0) return;       /* free cell */
(gdb) bt

#0  rb_gc_mark (ptr=0x2a73d7f02123540c) at gc.c:452
#1  0x160275338 in rb_gc_mark (ptr=0x2a73d7f02123540c) at gc.c:602
#2  0x160274b14 in mark_locations_array (x=0x1fffdf6a0, n=16501) at gc.c:378
#3  0x160274b94 in rb_gc_mark_locations (start=0x2a73d7f02123540c, end=0x47)
    at gc.c:397
#4  0x160275ed8 in rb_gc () at gc.c:1009
#5  0x160274908 in rb_newobj () at gc.c:324
#6  0x1602c8e40 in rb_str_new3 (str=4833937384) at string.c:85
#7  0x16025bf30 in rb_eval (self=4833826384, n=0x47) at eval.c:2860
#8  0x16025aa40 in rb_eval (self=4833826384, n=0x47) at eval.c:2522
#9  0x16025a7a0 in rb_eval (self=4833826384, n=0x47) at eval.c:2509
#10 0x1602590a0 in rb_eval (self=4833826384, n=0x47) at eval.c:2011
#11 0x16025e710 in rb_yield_0 (val=163, self=4833826384, klass=0, acheck=0)
    at eval.c:3601
#12 0x16025e9e0 in rb_yield (val=3059025998262785036) at eval.c:3687
#13 0x160243c88 in rb_ary_each (ary=4833871704) at array.c:630
#14 0x160260624 in call_cfunc (func=0x160243c40 <rb_ary_each>, 
    recv=4833871704, len=537935872, argc=0, argv=0x0) at eval.c:4227
#15 0x160260e1c in rb_call0 (klass=4833268472, recv=4833871704, id=3569, 
    argc=0, argv=0x0, body=0x12015cb50, nosuper=1) at eval.c:4361
#16 0x160261804 in rb_call (klass=4833268472, recv=4833871704, mid=3569, 
    argc=0, argv=0x0, scope=0) at eval.c:4581
#17 0x16025acb4 in rb_eval (self=4833826384, n=0x47) at eval.c:2530
#18 0x160259b20 in rb_eval (self=4833826384, n=0x47) at eval.c:2262
#19 0x1602590a0 in rb_eval (self=4833826384, n=0x47) at eval.c:2011
#20 0x160261314 in rb_call0 (klass=4834391864, recv=4833826384, id=14545, 
    argc=0, argv=0x1fffe4528, body=0x1202014e0, nosuper=0) at eval.c:4488
#21 0x160261804 in rb_call (klass=4834391864, recv=4833826384, mid=14545, 
    argc=3, argv=0x1fffe4510, scope=1) at eval.c:4581
#22 0x16025acb4 in rb_eval (self=4833826384, n=0x47) at eval.c:2530
#23 0x160261314 in rb_call0 (klass=4834391864, recv=4833826384, id=14409, 
    argc=0, argv=0x1fffe59c0, body=0x120203a88, nosuper=0) at eval.c:4488
#24 0x160261804 in rb_call (klass=4834391864, recv=4833826384, mid=14409, 
    argc=3, argv=0x1fffe59a8, scope=1) at eval.c:4581
#25 0x16025acb4 in rb_eval (self=4833826384, n=0x47) at eval.c:2530
#26 0x1602590a0 in rb_eval (self=4833826384, n=0x47) at eval.c:2011
#27 0x160261314 in rb_call0 (klass=4834391864, recv=4833826384, id=14305, 
    argc=0, argv=0x1fffe7e90, body=0x120235240, nosuper=0) at eval.c:4488
#28 0x160261804 in rb_call (klass=4834391864, recv=4833826384, mid=14305, 
    argc=1, argv=0x1fffe7e88, scope=1) at eval.c:4581
#29 0x16025acb4 in rb_eval (self=4833826384, n=0x47) at eval.c:2530
#30 0x1602590a0 in rb_eval (self=4833826384, n=0x47) at eval.c:2011
#31 0x160261314 in rb_call0 (klass=4834391864, recv=4833826384, id=8801, 
    argc=0, argv=0x1fffea308, body=0x1202410e0, nosuper=0) at eval.c:4488
#32 0x160261804 in rb_call (klass=4834391864, recv=4833826384, mid=8801, 
    argc=1, argv=0x1fffea300, scope=0) at eval.c:4581
#33 0x16025acb4 in rb_eval (self=4834253504, n=0x47) at eval.c:2530
#34 0x160261314 in rb_call0 (klass=4834186104, recv=4834253504, id=6185, 
    argc=0, argv=0x1fffeb780, body=0x120249290, nosuper=0) at eval.c:4488
#35 0x160261804 in rb_call (klass=4834186104, recv=4834253504, mid=6185, 
    argc=1, argv=0x1fffeb778, scope=0) at eval.c:4581
#36 0x16025acb4 in rb_eval (self=4833311152, n=0x47) at eval.c:2530
#37 0x16025e710 in rb_yield_0 (val=4, self=4833311152, klass=0, acheck=0)
    at eval.c:3601
#38 0x16025a018 in rb_eval (self=4833866384, n=0x47) at eval.c:2344
#39 0x1602590a0 in rb_eval (self=4833866384, n=0x47) at eval.c:2011
#40 0x160261314 in rb_call0 (klass=4834383264, recv=4833866384, id=9257, 
    argc=0, argv=0x1fffeefd8, body=0x12013a618, nosuper=0) at eval.c:4488
#41 0x160261804 in rb_call (klass=4834383264, recv=4833866384, mid=9257, 
    argc=2, argv=0x1fffeefc8, scope=0) at eval.c:4581
#42 0x16025acb4 in rb_eval (self=4833311152, n=0x47) at eval.c:2530
#43 0x160259b20 in rb_eval (self=4833311152, n=0x47) at eval.c:2262
#44 0x1602590a0 in rb_eval (self=4833311152, n=0x47) at eval.c:2011
#45 0x16025e710 in rb_yield_0 (val=4833866384, self=4833311152, klass=0, 
    acheck=0) at eval.c:3601
#46 0x16025a018 in rb_eval (self=4833866384, n=0x47) at eval.c:2344
#47 0x16025e710 in rb_yield_0 (val=4833865224, self=4833866384, klass=0, 
    acheck=0) at eval.c:3601
#48 0x16025e9e0 in rb_yield (val=3059025998262785036) at eval.c:3687
#49 0x16025fcc0 in rb_ensure (b_proc=0x16025e9c0 <rb_yield>, data1=4833865224, 
    e_proc=0x16027e180 <rb_io_close>, data2=4833865224) at eval.c:4019
#50 0x16027f9a8 in rb_file_s_open (argc=540034144, argv=0x1ffff3f98, 
    klass=4833865224) at io.c:1754
#51 0x160260660 in call_cfunc (func=0x16027f800 <rb_file_s_open>, 
    recv=4833242072, len=537935872, argc=0, argv=0x0) at eval.c:4233
#52 0x160260e1c in rb_call0 (klass=4833242032, recv=4833242072, id=6369, 
    argc=2, argv=0x1ffff3f98, body=0x120153d98, nosuper=1) at eval.c:4361
#53 0x160261804 in rb_call (klass=4833242032, recv=4833242072, mid=6369, 
    argc=2, argv=0x1ffff3f98, scope=0) at eval.c:4581
#54 0x16025acb4 in rb_eval (self=4833866384, n=0x47) at eval.c:2530
#55 0x160259b20 in rb_eval (self=4833866384, n=0x47) at eval.c:2262
#56 0x160261314 in rb_call0 (klass=4834383264, recv=4833866384, id=2857, 
    argc=0, argv=0x1ffff6970, body=0x12013cbe8, nosuper=0) at eval.c:4488
#57 0x160261804 in rb_call (klass=4834383264, recv=4833866384, mid=2857, 
    argc=3, argv=0x1ffff6958, scope=1) at eval.c:4581
#58 0x160261cb8 in rb_funcall2 (recv=35, mid=0, argc=537935872, 
    argv=0x1fffdd7b8) at eval.c:4665
#59 0x160264d84 in rb_obj_call_init (obj=4833866384, argc=3, argv=0x1ffff6958)
    at eval.c:5685
#60 0x160264e44 in rb_class_new_instance (argc=538899088, argv=0x1ffff6958, 
    klass=0) at eval.c:5701
#61 0x160260660 in call_cfunc (func=0x160264dc0 <rb_class_new_instance>, 
    recv=4834383264, len=537935872, argc=0, argv=0x0) at eval.c:4233
#62 0x160260e1c in rb_call0 (klass=4833319392, recv=4834383264, id=3169, 
    argc=3, argv=0x1ffff6958, body=0x120167bb8, nosuper=1) at eval.c:4361
#63 0x160261804 in rb_call (klass=4833319392, recv=4834383264, mid=3169, 
    argc=3, argv=0x1ffff6958, scope=0) at eval.c:4581
#64 0x16025acb4 in rb_eval (self=4833311152, n=0x47) at eval.c:2530
#65 0x160259b20 in rb_eval (self=4833311152, n=0x47) at eval.c:2262
#66 0x1602590a0 in rb_eval (self=4833311152, n=0x47) at eval.c:2011
#67 0x160261314 in rb_call0 (klass=4833319472, recv=4833311152, id=8769, 
    argc=0, argv=0x1ffff9e10, body=0x12013d6b0, nosuper=0) at eval.c:4488
#68 0x160261804 in rb_call (klass=4833319472, recv=4833311152, mid=8769, 
    argc=3, argv=0x1ffff9df8, scope=1) at eval.c:4581
#69 0x16025acb4 in rb_eval (self=4833311152, n=0x47) at eval.c:2530
#70 0x1602590a0 in rb_eval (self=4833311152, n=0x47) at eval.c:2011
#71 0x160261314 in rb_call0 (klass=4833319472, recv=4833311152, id=8665, 
    argc=0, argv=0x1ffffc2c0, body=0x12014d330, nosuper=0) at eval.c:4488
#72 0x160261804 in rb_call (klass=4833319472, recv=4833311152, mid=8665, 
    argc=3, argv=0x1ffffc2a8, scope=1) at eval.c:4581
#73 0x16025acb4 in rb_eval (self=4833311152, n=0x47) at eval.c:2530
#74 0x16025a0a4 in rb_eval (self=4833311152, n=0x47) at eval.c:2354
#75 0x160261314 in rb_call0 (klass=4833319472, recv=4833311152, id=8609, 
    argc=0, argv=0x0, body=0x12014e8e8, nosuper=0) at eval.c:4488
#76 0x160261804 in rb_call (klass=4833319472, recv=4833311152, mid=8609, 
    argc=0, argv=0x0, scope=2) at eval.c:4581
#77 0x16025acb4 in rb_eval (self=4833311152, n=0x47) at eval.c:2530
#78 0x160256064 in eval_node (self=4833311152, node=0x12014b5f8) at eval.c:1060
#79 0x160256594 in ruby_run () at eval.c:1190
#80 0x120000e50 in main (argc=3, argv=0x1fffffad0, envp=0x0) at main.c:50
(gdb) frame

#0  rb_gc_mark (ptr=0x2a73d7f02123540c) at gc.c:452
452         if (obj->as.basic.flags == 0) return;       /* free cell */
(gdb) print obj

$1 = (RVALUE *) 0x2a73d7f02123540c
(gdb) print *obj
$6 = {as = {free = {flag = 0, next = 0x0}, basic = {flags = 0, klass = 0}, 
    object = {basic = {flags = 0, klass = 0}, iv_tbl = 0x0}, klass = {basic = {
        flags = 0, klass = 0}, iv_tbl = 0x0, m_tbl = 0x0, super = 0}, 
    flonum = {basic = {flags = 0, klass = 0}, value = 0}, string = {basic = {
        flags = 0, klass = 0}, len = 0, ptr = 0x0, orig = 0}, array = {
      basic = {flags = 0, klass = 0}, len = 0, capa = 0, ptr = 0x0}, regexp = {
      basic = {flags = 0, klass = 0}, ptr = 0x0, len = 0, str = 0x0}, hash = {
      basic = {flags = 0, klass = 0}, tbl = 0x0, iter_lev = 0, ifnone = 0}, 
    data = {basic = {flags = 0, klass = 0}, dmark = 0, dfree = 0, data = 0x0}, 
    rstruct = {basic = {flags = 0, klass = 0}, len = 0, ptr = 0x0}, bignum = {
      basic = {flags = 0, klass = 0}, sign = 0 '\000', len = 0, digits = 0x0}, 
    file = {basic = {flags = 0, klass = 0}, fptr = 0x0}, node = {flags = 0, 
      nd_file = 0x0, u1 = {node = 0x0, id = 0, value = 0, cfunc = 0, 
        tbl = 0x0}, u2 = {node = 0x0, id = 0, argc = 0, value = 0}, u3 = {
        node = 0x0, id = 0, state = 0, entry = 0x0, cnt = 0, value = 0}}, 
    match = {basic = {flags = 0, klass = 0}, str = 0, regs = 0x0}, varmap = {
      super = {flags = 0, klass = 0}, id = 0, val = 0, next = 0x0}, scope = {
      super = {flags = 0, klass = 0}, local_tbl = 0x0, local_vars = 0x0, 
      flag = 0}}}
(gdb) print obj->as

$2 = {free = {flag = 0, next = 0x0}, basic = {flags = 0, klass = 0}, object = {
    basic = {flags = 0, klass = 0}, iv_tbl = 0x0}, klass = {basic = {
      flags = 0, klass = 0}, iv_tbl = 0x0, m_tbl = 0x0, super = 0}, flonum = {
    basic = {flags = 0, klass = 0}, value = 0}, string = {basic = {flags = 0, 
      klass = 0}, len = 0, ptr = 0x0, orig = 0}, array = {basic = {flags = 0, 
      klass = 0}, len = 0, capa = 0, ptr = 0x0}, regexp = {basic = {flags = 0, 
      klass = 0}, ptr = 0x0, len = 0, str = 0x0}, hash = {basic = {flags = 0, 
      klass = 0}, tbl = 0x0, iter_lev = 0, ifnone = 0}, data = {basic = {
      flags = 0, klass = 0}, dmark = 0, dfree = 0, data = 0x0}, rstruct = {
    basic = {flags = 0, klass = 0}, len = 0, ptr = 0x0}, bignum = {basic = {
      flags = 0, klass = 0}, sign = 0 '\000', len = 0, digits = 0x0}, file = {
    basic = {flags = 0, klass = 0}, fptr = 0x0}, node = {flags = 0, 
    nd_file = 0x0, u1 = {node = 0x0, id = 0, value = 0, cfunc = 0, tbl = 0x0}, 
    u2 = {node = 0x0, id = 0, argc = 0, value = 0}, u3 = {node = 0x0, id = 0, 
      state = 0, entry = 0x0, cnt = 0, value = 0}}, match = {basic = {
      flags = 0, klass = 0}, str = 0, regs = 0x0}, varmap = {super = {
      flags = 0, klass = 0}, id = 0, val = 0, next = 0x0}, scope = {super = {
      flags = 0, klass = 0}, local_tbl = 0x0, local_vars = 0x0, flag = 0}}
(gdb) info registers 
v0             0x0      0
t0             0x0      0
t1             0x23     35
t2             0x0      0
t3             0x120104000      4832903168
t4             0x0      0
t5             0x2      2
t6             0xcccccccccccccccd       -3689348814741910323
t7             0x160411e00      5909847552
s0             0x2a73d7f02123540c       3059025998262785036
s1             0x63     99
s2             0x1603ee9d4      5909703124
s3             0x2      2
s4             0x1fffdd7a8      8589793192
s5             0x14b    331
fp             0x1fffdc4b8      8589788344
a0             0x2a73d7f02123540c       3059025998262785036
a1             0x47     71
a2             0x0      0
a3             0x1      1
a4             0x1fffdd7b8      8589793208
a5             0x12015ed38      4833275192
t8             0x12015ed38      4833275192
t9             0x120200e28      4833938984
t10            0x2261   8801
t11            0x11a    282
ra             0x160275338      5908157240
t12            0x160274dc0      5908155840
at             0x160801b30      5913975600
gp             0x1603f9a50      5909748304
sp             0x1fffdc440      8589788224
zero           0x0      0
pc             0x160274e00      5908155904
vfp            0x1fffdc460      8589788256
(gdb) x/i 0x160274e00
0x160274e00 <rb_gc_mark+64>:    ldq     t1,0(s0)
(gdb) disassemble rb_gc_mark
Dump of assembler code for function rb_gc_mark:
0x160274dc0 <rb_gc_mark>:       ldah    gp,24(t12)
0x160274dc4 <rb_gc_mark+4>:     lda     gp,19600(gp)
0x160274dc8 <rb_gc_mark+8>:     subq    sp,0x20,sp
0x160274dcc <rb_gc_mark+12>:    stq     ra,0(sp)
0x160274dd0 <rb_gc_mark+16>:    stq     s0,8(sp)
0x160274dd4 <rb_gc_mark+20>:    stq     s1,16(sp)
0x160274dd8 <rb_gc_mark+24>:    stq     s2,24(sp)
0x160274ddc <rb_gc_mark+28>:    mov     a0,s0
0x160274de0 <rb_gc_mark+32>:    and     s0,0x3,t2
0x160274de4 <rb_gc_mark+36>:    bne     t2,0x160274df0 <rb_gc_mark+48>
0x160274de8 <rb_gc_mark+40>:    andnot  s0,0x4,t0
0x160274dec <rb_gc_mark+44>:    bne     t0,0x160274df8 <rb_gc_mark+56>
0x160274df0 <rb_gc_mark+48>:    mov     0x2,t0
0x160274df4 <rb_gc_mark+52>:    br      0x160274dfc <rb_gc_mark+60>
0x160274df8 <rb_gc_mark+56>:    clr     t0
0x160274dfc <rb_gc_mark+60>:    bne     t0,0x16027561c <rb_gc_mark+2140>
0x160274e00 <rb_gc_mark+64>:    ldq     t1,0(s0)
0x160274e04 <rb_gc_mark+68>:    beq     t1,0x16027561c <rb_gc_mark+2140>
0x160274e08 <rb_gc_mark+72>:    and     t1,0x40,t0
0x160274e0c <rb_gc_mark+76>:    bne     t0,0x16027561c <rb_gc_mark+2140>
0x160274e10 <rb_gc_mark+80>:    or      t1,0x40,t1
0x160274e14 <rb_gc_mark+84>:    stq     t1,0(s0)
0x160274e18 <rb_gc_mark+88>:    bne     t2,0x160274e40 <rb_gc_mark+128>
0x160274e1c <rb_gc_mark+92>:    andnot  s0,0x4,t0
0x160274e20 <rb_gc_mark+96>:    beq     t0,0x160274e40 <rb_gc_mark+128>
0x160274e24 <rb_gc_mark+100>:   srl     t1,0x9,t0
0x160274e28 <rb_gc_mark+104>:   blbc    t0,0x160274e40 <rb_gc_mark+128>
0x160274e2c <rb_gc_mark+108>:   mov     s0,a0
0x160274e30 <rb_gc_mark+112>:   ldq     t12,-28592(gp)
0x160274e34 <rb_gc_mark+116>:   jsr     ra,(t12),0x16027a400 <env_inspect+320>
0x160274e38 <rb_gc_mark+120>:   ldah    gp,24(ra)
0x160274e3c <rb_gc_mark+124>:   lda     gp,19480(gp)
0x160274e40 <rb_gc_mark+128>:   ldq     s1,0(s0)
0x160274e44 <rb_gc_mark+132>:   and     s1,0x3f,t1
0x160274e48 <rb_gc_mark+136>:   cmpeq   t1,0xa,t0
0x160274e4c <rb_gc_mark+140>:   bne     t0,0x160274e70 <rb_gc_mark+176>
0x160274e50 <rb_gc_mark+144>:   cmpule  t1,0xa,t0
0x160274e54 <rb_gc_mark+148>:   beq     t0,0x160274e64 <rb_gc_mark+164>
0x160274e58 <rb_gc_mark+152>:   cmpeq   t1,0x1,t0
0x160274e5c <rb_gc_mark+156>:   bne     t0,0x160274e70 <rb_gc_mark+176>
0x160274e60 <rb_gc_mark+160>:   br      0x160275330 <rb_gc_mark+1392>
0x160274e64 <rb_gc_mark+164>:   cmpeq   t1,0x3f,t0
0x160274e68 <rb_gc_mark+168>:   bne     t0,0x160274e84 <rb_gc_mark+196>
0x160274e6c <rb_gc_mark+172>:   br      0x160275330 <rb_gc_mark+1392>
0x160274e70 <rb_gc_mark+176>:   ldq     a0,-16600(gp)

In This Thread