From: Sam Stephenson Date: 2006-06-27T04:40:08+09:00 Subject: Segfault in rb_ary_push, ruby 1.8.4 (2005-12-24) [powerpc-openbsd3.8] Hi, I have a Ruby script that segfaults after a few days with: ./script/../lib/cardinal/handler.rb:30: [BUG] Segmentation fault ruby 1.8.4 (2005-12-24) [powerpc-openbsd3.8] The line in question is: 29 def handles_response?(method) 30 public_methods.grep(method.to_s).first 31 end A complete backtrace follows. Hope this helps. (I've not yet tried to reproduce the bug in 1.8.5-preview1.) -- sam Program received signal SIGSEGV, Segmentation fault. rb_ary_push (ary=805306368, item=832938624) at array.c:403 403 rb_ary_store(ary, RARRAY(ary)->len, item); #0 rb_ary_push (ary=805306368, item=832938624) at array.c:403 #1 0x018904cc in ins_methods_push (name=805306368, type=832938624, ary=805306368, visi=1) at class.c:544 #2 0x018733ec in st_foreach (table=0x25481530, func=0x189050c , arg=805306368) at st.c:482 #3 0x01890650 in class_instance_method_list (argc=25756876, argv=0x31a5a280, mod=832938960, func=0x189050c ) at class.c:630 #4 0x018477c4 in rb_obj_public_methods (argc=805306368, argv=0x31a5a280, obj=832938624) at ruby.h:638 #5 0x01826704 in call_cfunc (func=0x184778c , recv=832941192, len=1, argc=1, argv=0x40004042) at eval.c:5553 #6 0x018177b0 in rb_call0 (klass=2080899750, recv=2415984660, id=1082261652, oid=3201, argc=1889533953, argv=0x38000002, body=0x7c0802a6, flags=0) at eval.c:5692 #7 0x018180fc in rb_call (klass=582060200, recv=832941192, mid=3201, argc=0, argv=0x0, scope=2) at eval.c:5920 #8 0x01811e98 in rb_eval (self=832941192, n=0x31a5a280) at ruby.h:638 #9 0x01811d8c in rb_eval (self=832941192, n=0x31a5a280) at eval.c:3375 #10 0x01811d8c in rb_eval (self=832941192, n=0x31a5a280) at eval.c:3375 #11 0x01817ae8 in rb_call0 (klass=664328552, recv=832941192, id=37735, oid=0, argc=0, argv=0xfffd51b4, body=0x2798d968, flags=4) at eval.c:5826 #12 0x018180fc in rb_call (klass=664328552, recv=832941192, mid=37735, argc=1, argv=0xfffd51b0, scope=1) at eval.c:5920 #13 0x01811e98 in rb_eval (self=832941192, n=0x31a5a280) at ruby.h:638 #14 0x018109b4 in rb_eval (self=832941192, n=0x31a5a280) at eval.c:2940 #15 0x018124e8 in rb_eval (self=832941192, n=0x31a5a280) at eval.c:3722 #16 0x01812898 in rb_eval (self=832941192, n=0x31a5a280) at eval.c:3330 #17 0x01811ff8 in rb_eval (self=832941192, n=0x31a5a280) at eval.c:3391 #18 0x01817ae8 in rb_call0 (klass=664328552, recv=832941192, id=37713, oid=0, argc=1, argv=0xfffd9274, body=0x2798d968, flags=4) at eval.c:5826 #19 0x018180fc in rb_call (klass=664328552, recv=832941192, mid=37713, argc=2, argv=0xfffd9270, scope=1) at eval.c:5920 #20 0x01811e98 in rb_eval (self=832941192, n=0x31a5a280) at ruby.h:638 #21 0x01817ae8 in rb_call0 (klass=664328552, recv=832941192, id=36113, oid=0, argc=1, argv=0xfffda260, body=0x2798d968, flags=0) at eval.c:5826 #22 0x018180fc in rb_call (klass=664328552, recv=832941192, mid=36113, argc=1, argv=0xfffda260, scope=0) at eval.c:5920 #23 0x01811e98 in rb_eval (self=663571400, n=0x31a5a280) at ruby.h:638 #24 0x018109b4 in rb_eval (self=663571400, n=0x31a5a280) at eval.c:2940 #25 0x01811634 in rb_eval (self=663571400, n=0x31a5a280) at eval.c:3196 #26 0x018153fc in rb_yield_0 (val=664226432, self=663571400, klass=0, flags=26148864, avalue=0) at eval.c:4897 #27 0x01887158 in rb_ary_each (ary=663562952) at array.c:1128 #28 0x01826718 in call_cfunc (func=0x1887100 , recv=663562952, len=1, argc=1, argv=0x40004042) at eval.c:5556 #29 0x018177b0 in rb_call0 (klass=2478899224, recv=1002438656, id=2480996380, oid=3841, argc=2088704888, argv=0x90010024, body=0x93c10018, flags=0) at eval.c:5692 #30 0x018180fc in rb_call (klass=582026888, recv=663562952, mid=3841, argc=0, argv=0x0, scope=0) at eval.c:5920 #31 0x01811e98 in rb_eval (self=663571400, n=0x31a5a280) at ruby.h:638 #32 0x01811344 in rb_eval (self=663571400, n=0x31a5a280) at eval.c:3109 #33 0x01817ae8 in rb_call0 (klass=663571064, recv=663571400, id=36049, oid=0, argc=1, argv=0xfffdea34, body=0x278d4a78, flags=0) at eval.c:5826 #34 0x018180fc in rb_call (klass=663571064, recv=663571400, mid=36049, argc=2, argv=0xfffdea30, scope=0) at eval.c:5920 #35 0x01811e98 in rb_eval (self=664145936, n=0x31a5a280) at ruby.h:638 #36 0x018153fc in rb_yield_0 (val=832952208, self=664145936, klass=0, flags=26148864, avalue=0) at eval.c:4897 #37 0x01835c68 in rb_io_each_line (argc=25756876, argv=0x31a5a280, io=664124816) at io.c:1835 #38 0x01826704 in call_cfunc (func=0x1835c2c , recv=664124816, len=1, argc=1, argv=0x40004042) at eval.c:5553 #39 0x018177b0 in rb_call0 (klass=2080899750, recv=2480996380, id=2092903288, oid=4713, argc=-1878982620, argv=0x40820044, body=0x7c0802a6, flags=0) at eval.c:5692 #40 0x018180fc in rb_call (klass=582013616, recv=664124816, mid=4713, argc=0, argv=0x0, scope=0) at eval.c:5920 #41 0x01811e98 in rb_eval (self=664145936, n=0x31a5a280) at ruby.h:638 #42 0x01811344 in rb_eval (self=664145936, n=0x31a5a280) at eval.c:3109 #43 0x01817ae8 in rb_call0 (klass=664125608, recv=664145936, id=36169, oid=0, argc=0, argv=0x0, body=0x2795c0a8, flags=0) at eval.c:5826 #44 0x018180fc in rb_call (klass=664125608, recv=664145936, mid=36169, argc=0, argv=0x0, scope=0) at eval.c:5920 #45 0x01811e98 in rb_eval (self=663571400, n=0x31a5a280) at ruby.h:638 #46 0x01811344 in rb_eval (self=663571400, n=0x31a5a280) at eval.c:3109 #47 0x01817ae8 in rb_call0 (klass=663571064, recv=663571400, id=36089, oid=0, argc=0, argv=0x0, body=0x278d4a78, flags=4) at eval.c:5826 #48 0x018180fc in rb_call (klass=663571064, recv=663571400, mid=36089, argc=0, argv=0x0, scope=2) at eval.c:5920 #49 0x01811e98 in rb_eval (self=663571400, n=0x31a5a280) at ruby.h:638 #50 0x01817ae8 in rb_call0 (klass=663571064, recv=663571400, id=5041, oid=0, argc=0, argv=0x0, body=0x278d4a78, flags=0) at eval.c:5826 #51 0x018180fc in rb_call (klass=663571064, recv=663571400, mid=5041, argc=0, argv=0x0, scope=0) at eval.c:5920 #52 0x01811e98 in rb_eval (self=663571064, n=0x31a5a280) at ruby.h:638 #53 0x01817ae8 in rb_call0 (klass=663570800, recv=663571064, id=5041, oid=0, argc=0, argv=0xfffe54e8, body=0x278d4970, flags=0) at eval.c:5826 #54 0x018180fc in rb_call (klass=663570800, recv=663571064, mid=5041, argc=2, argv=0xfffe54e0, scope=0) at eval.c:5920 #55 0x01811e98 in rb_eval (self=582054320, n=0x31a5a280) at ruby.h:638 #56 0x01811344 in rb_eval (self=582054320, n=0x31a5a280) at eval.c:3109 #57 0x0180d6e4 in ruby_exec_internal () at eval.c:1543 #58 0x0180d714 in ruby_exec () at eval.c:1563 #59 0x0180d74c in ruby_run () at eval.c:1573 #60 0x0180aab8 in main (argc=2, argv=0xfffe710c, envp=0x31a5a280) at main.c:46