From: TADA Tadashi Date: 2005-09-30T10:31:43+09:00 Subject: [ruby-list:41199] ruby 1.8.3がtDiary 2.0.2でSEGV ただただしです。 「tDiary 2.0.2をruby 1.8.3上で動かすとSegmentation faultになる」という報 告をあちこちで受けてまして、原因を探ろうとしたんですがGCに行き当たってし まいお手上げです。確実に再現する環境も特定できていませんが、アドバイスい ただけますか。 gdbでbacktrace取ってみたんですけど、こんな感じでいいんでしょうか。OSは Debian sargeです: ---- ここから ---- Program received signal SIGSEGV, Segmentation fault. gc_mark_children (ptr=18494968, lev=13) at gc.c:753 753 if (obj->as.basic.flags == 0) return; /* free cell */ (gdb) bt #0 gc_mark_children (ptr=18494968, lev=13) at gc.c:753 #1 0x0806ea47 in gc_mark_children (ptr=1076451708, lev=12) at gc.c:855 #2 0x0806e358 in mark_entry (key=12521, value=66, lev=66) at gc.c:648 #3 0x080af9f7 in st_foreach (table=0x81e6f40, func=0x806e340 , arg=11) at st.c:496 #4 0x0806e385 in mark_tbl (tbl=0x0, lev=66) at gc.c:658 #5 0x0806e63e in gc_mark_children (ptr=1076452708, lev=11) at gc.c:910 #6 0x0806e358 in mark_entry (key=2937, value=66, lev=66) at gc.c:648 #7 0x080af9f7 in st_foreach (table=0x81e6fd0, func=0x806e340 , arg=10) at st.c:496 #8 0x0806e385 in mark_tbl (tbl=0x0, lev=66) at gc.c:658 #9 0x0806e64d in gc_mark_children (ptr=1076452628, lev=10) at gc.c:911 #10 0x0806e61a in gc_mark_children (ptr=1076448548, lev=9) at gc.c:905 #11 0x0806e358 in mark_entry (key=10373, value=66, lev=66) at gc.c:648 #12 0x080af9f7 in st_foreach (table=0x81e4b88, func=0x806e340 , arg=8) at st.c:496 #13 0x0806e385 in mark_tbl (tbl=0x0, lev=66) at gc.c:658 #14 0x0806e64d in gc_mark_children (ptr=1076457388, lev=8) at gc.c:911 #15 0x0806e358 in mark_entry (key=10293, value=66, lev=66) at gc.c:648 #16 0x080af9f7 in st_foreach (table=0x80fc5c0, func=0x806e340 , arg=7) at st.c:496 #17 0x0806e385 in mark_tbl (tbl=0x0, lev=66) at gc.c:658 #18 0x0806e64d in gc_mark_children (ptr=1075658016, lev=7) at gc.c:911 #19 0x0806e358 in mark_entry (key=2937, value=66, lev=66) at gc.c:648 #20 0x080af9f7 in st_foreach (table=0x80fc8c8, func=0x806e340 , arg=6) at st.c:496 #21 0x0806e385 in mark_tbl (tbl=0x0, lev=66) at gc.c:658 #22 0x0806e64d in gc_mark_children (ptr=1075657956, lev=6) at gc.c:911 #23 0x0806e61a in gc_mark_children (ptr=1075657996, lev=5) at gc.c:905 #24 0x0806e358 in mark_entry (key=2937, value=66, lev=66) at gc.c:648 #25 0x080af9f7 in st_foreach (table=0x80fca60, func=0x806e340 , arg=4) at st.c:496 #26 0x0806e385 in mark_tbl (tbl=0x0, lev=66) at gc.c:658 #27 0x0806e64d in gc_mark_children (ptr=1075657916, lev=4) at gc.c:911 #28 0x0806e61a in gc_mark_children (ptr=1075648416, lev=3) at gc.c:905 #29 0x0806e61a in gc_mark_children (ptr=1075648436, lev=2) at gc.c:905 #30 0x0806e61a in gc_mark_children (ptr=1076030388, lev=1) at gc.c:905 #31 0x0806e313 in mark_locations_array (x=0xbfff6f58, n=0) at gc.c:626 #32 0x0806f11e in rb_gc_mark_frame (frame=0xbfff6ea0) at gc.c:1268#33 0x0806f2cb in garbage_collect () at gc.c:1336 #34 0x0806df35 in rb_newobj () at gc.c:391 #35 0x0808553b in rb_class_allocate_instance (klass=66) at object.c:1580 #36 0x08068751 in call_cfunc (func=0x8085530 , recv=1076103968, len=0, argc=0, argv=0x0) at eval.c:5536 #37 0x0805c40a in rb_call0 (klass=1075657956, recv=1076103968, id=1, oid=66, argc=0, argv=0x0, body=0x401d3c80, flags=2) at eval.c:5672 #38 0x0805ccf5 in rb_call (klass=1075657956, recv=1076103968, mid=1, argc=0, argv=0x0, scope=1) at eval.c:5900 #39 0x0805d024 in vafuncall (recv=1076103968, mid=66, n=0, ar=0xbfff6934) at ruby.h:638 #40 0x0805d0ac in rb_funcall (recv=66, mid=66, n=66) at eval.c:5994 #41 0x080854dc in rb_obj_alloc (klass=1076103968) at object.c:1568 #42 0x0807ec43 in r_object0 (arg=0xbfff6cf0, proc=0, ivp=0x0, extmod=4) ---Type to continue, or q to quit--- at marshal.c:1272 #43 0x0807ee57 in r_object (arg=0x42) at marshal.c:1356 #44 0x0807e7db in r_object0 (arg=0xbfff6cf0, proc=0, ivp=0xbfff6cf0, extmod=4) at marshal.c:1170 #45 0x0807ee57 in r_object (arg=0x42) at marshal.c:1356 #46 0x0807e0e3 in r_ivar (obj=1075659940, arg=0xbfff6cf0) at marshal.c:967 #47 0x0807e549 in r_object0 (arg=0xbfff6cf0, proc=0, ivp=0xbfff6cf0, extmod=4) at marshal.c:1022 #48 0x0807ee57 in r_object (arg=0x42) at marshal.c:1356 #49 0x0807eda9 in r_object0 (arg=0xbfff6cf0, proc=0, ivp=0x401d4530, extmod=21) at marshal.c:1184 #50 0x0807ee57 in r_object (arg=0x42) at marshal.c:1356 #51 0x0807eda9 in r_object0 (arg=0xbfff6cf0, proc=0, ivp=0x4022e510, extmod=4294967295) at marshal.c:1184 #52 0x0807ee57 in r_object (arg=0x42) at marshal.c:1356 #53 0x0805bd19 in rb_ensure (b_proc=0x807ee60 , data1=3221187824, e_proc=0x807ee70 , data2=3221187824) at eval.c:5342 #54 0x0807effe in marshal_load (argc=66, argv=0x42) at marshal.c:1429 #55 0x0806874a in call_cfunc (func=0x807ee90 , recv=1075590076, len=0, argc=0, argv=0xbfff6f58) at eval.c:5533 #56 0x0805c40a in rb_call0 (klass=1075590016, recv=1075590076, id=9537, oid=66, argc=1, argv=0xbfff6f58, body=0x401c331c, flags=0) at eval.c:5672 #57 0x0805ccf5 in rb_call (klass=1075590016, recv=1075590076, mid=9537, argc=1, argv=0xbfff6f58, scope=0) at eval.c:5900 #58 0x08057d6f in rb_eval (self=1076031228, n=0x42) at ruby.h:638 #59 0x0805c723 in rb_call0 (klass=1076036508, recv=1076031228, id=9537, oid=66, argc=0, argv=0xbfff778c, body=0x402af688, flags=-1073776756) at eval.c:5806 #60 0x0805ccf5 in rb_call (klass=1076036508, recv=1076031228, mid=9537, argc=1, argv=0xbfff7788, scope=1) at eval.c:5900 #61 0x08057d6f in rb_eval (self=1076031228, n=0x42) at ruby.h:638 #62 0x080576ec in rb_eval (self=1076031228, n=0x42) at eval.c:3562 #63 0x0805653c in rb_eval (self=1076031228, n=0x42) at eval.c:2842 #64 0x08057562 in rb_eval (self=1076031228, n=0x42) at eval.c:3236 #65 0x0805c723 in rb_call0 (klass=1076036508, recv=1076031228, id=11145, oid=66, argc=0, argv=0x0, body=0x402b02e0, flags=0) at eval.c:5806 #66 0x0805ccf5 in rb_call (klass=1076036508, recv=1076031228, mid=11145, argc=0, argv=0x0, scope=0) at eval.c:5900 #67 0x08057d6f in rb_eval (self=1076324868, n=0x42) at ruby.h:638 #68 0x0805714e in rb_eval (self=1076324868, n=0x42) at eval.c:3100 #69 0x0805741a in rb_eval (self=1076324868, n=0x42) at eval.c:3187 #70 0x0805c723 in rb_call0 (klass=1076452708, recv=1076324868, id=12345, oid=66, argc=0, argv=0xbfffa7b0, body=0x401a4a5c, flags=-1073764436) at eval.c:5806 #71 0x0805ccf5 in rb_call (klass=1076452708, recv=1076324868, mid=12345, argc=2, argv=0xbfffa7a8, scope=1) at eval.c:5900 #72 0x08057d6f in rb_eval (self=1076324868, n=0x42) at ruby.h:638 #73 0x0805c723 in rb_call0 (klass=1076452708, recv=1076324868, id=12337, oid=66, argc=0, argv=0xbfffaff0, body=0x401a7e64, flags=-1073762320) at eval.c:5806 #74 0x0805ccf5 in rb_call (klass=1076452708, recv=1076324868, mid=12337, argc=2, argv=0xbfffafe8, scope=0) at eval.c:5900 #75 0x08057d6f in rb_eval (self=1076323848, n=0x42) at ruby.h:638 #76 0x08057619 in rb_eval (self=1076323848, n=0x42) at eval.c:3542 #77 0x0805c723 in rb_call0 (klass=1076291548, recv=1076323848, id=11145, oid=66, argc=0, argv=0xbfffbe9c, body=0x40272594, flags=-1073758564) at eval.c:5806 ---Type to continue, or q to quit--- #78 0x0805ccf5 in rb_call (klass=1076291548, recv=1076323848, mid=11145, argc=1, argv=0xbfffbe98, scope=0) at eval.c:5900 #79 0x08057d6f in rb_eval (self=1076324868, n=0x42) at ruby.h:638 #80 0x0805714e in rb_eval (self=1076324868, n=0x42) at eval.c:3100 #81 0x0805653c in rb_eval (self=1076324868, n=0x42) at eval.c:2842 #82 0x0805c723 in rb_call0 (klass=1076448708, recv=1076324868, id=2961, oid=66, argc=0, argv=0xbfffd614, body=0x4021a8dc, flags=-1073752556) at eval.c:5806 #83 0x0805ccf5 in rb_call (klass=1076448708, recv=1076324868, mid=2961, argc=3, argv=0xbfffd608, scope=1) at eval.c:5900 #84 0x0805d1ee in rb_funcall2 (recv=0, mid=66, argc=66, argv=0x42) at ruby.h:638 #85 0x0805f918 in rb_obj_call_init (obj=66, argc=66, argv=0x42) at eval.c:7372 #86 0x080855ac in rb_class_new_instance (argc=66, argv=0x42, klass=66) at object.c:1606 #87 0x0806874a in call_cfunc (func=0x8085580 , recv=1076448708, len=0, argc=0, argv=0xbfffd608) at eval.c:5533 #88 0x0805c40a in rb_call0 (klass=1075657976, recv=1076448708, id=3369, oid=66, argc=3, argv=0xbfffd608, body=0x401d2a9c, flags=0) at eval.c:5672 #89 0x0805ccf5 in rb_call (klass=1075657976, recv=1076448708, mid=3369, argc=3, argv=0xbfffd608, scope=0) at eval.c:5900 #90 0x08057d6f in rb_eval (self=1075652976, n=0x42) at ruby.h:638 #91 0x08057619 in rb_eval (self=1075652976, n=0x42) at eval.c:3542 #92 0x0805741a in rb_eval (self=1075652976, n=0x42) at eval.c:3187 #93 0x0805741a in rb_eval (self=1075652976, n=0x42) at eval.c:3187 #94 0x0805e80c in rb_load (fname=1075589376, wrap=0) at eval.c:6685 #95 0x0805f254 in rb_require_safe (fname=1075589476, safe=0) at eval.c:7006 #96 0x08068722 in call_cfunc (func=0x805ece0 , recv=1075652976, len=0, argc=0, argv=0xbffff438) at eval.c:5530 #97 0x0805c40a in rb_call0 (klass=1075657876, recv=1075652976, id=9545, oid=66, argc=1, argv=0xbffff438, body=0x401c47a8, flags=2) at eval.c:5672 #98 0x0805ccf5 in rb_call (klass=1075657876, recv=1075652976, mid=9545, argc=1, argv=0xbffff438, scope=1) at eval.c:5900 #99 0x08057d6f in rb_eval (self=1075652976, n=0x42) at ruby.h:638 #100 0x0805418d in ruby_exec_internal () at eval.c:1543 #101 0x080541c6 in ruby_exec () at eval.c:1563 #102 0x080541f0 in ruby_run () at eval.c:1573 #103 0x08052335 in main (argc=66, argv=0x42, envp=0xbffffc0c) at main.c:46 ---- ここまで ---- ━━━━━━━━━━━━━━━━━━━ ただただし ♪ツッコミは、短く鋭く愛を込めて。 ━━━━━━━━━━━━━━━━━━━