From: Aaron Patterson Date: 2010-05-04T01:41:34+09:00 Subject: [ruby-core:29974] Re: [Bug #3241] gem update --system Segmentation fault --Dxnq1zWXvFF0Q93v Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, May 03, 2010 at 08:55:14PM +0900, Yusuke ENDOH wrote: > Hi, >=20 > Thank you for your report, but I cannot reproduce on > ruby 1.9.2dev (2010-05-03 trunk 27592) [i686-linux]. >=20 > Can you confirm if it is reproduced without rvm? > And, could you post gdb backtrace information? I think this is a duplicate of [ruby-core:29874]. I've been able to get the same stack trace with this program: GC.stress =3D true require 'nokogiri' It seems to only happen when requiring gems. Here is the trace I get: $ ruby test.rb /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:210: [BUG] Segmentation fault ruby 1.9.2dev (2010-05-04 trunk 27602) [x86_64-darwin10.3.0] -- control frame ---------- c:0015 p:---- s:0042 b:0042 l:000041 d:000041 CFUNC :replace c:0014 p:0045 s:0038 b:0038 l:000037 d:000037 METHOD /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:210 c:0013 p:0018 s:0032 b:0032 l:000023 d:000031 BLOCK /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:214 c:0012 p:---- s:0029 b:0029 l:000028 d:000028 FINISH c:0011 p:---- s:0027 b:0027 l:000026 d:000026 CFUNC :each_value c:0010 p:3812 s:0024 b:0024 l:000023 d:000023 CLASS /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:213 c:0009 p:0009 s:0022 b:0022 l:000021 d:000021 TOP /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:5 c:0008 p:---- s:0020 b:0020 l:000019 d:000019 FINISH c:0007 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :require c:0006 p:0011 s:0014 b:0014 l:000013 d:000013 TOP /Users/apatterson/.local/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.1/lib/nokogi= ri.rb:4 c:0005 p:---- s:0012 b:0012 l:000011 d:000011 FINISH c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC :require c:0003 p:0029 s:0006 b:0006 l:001858 d:0008a8 EVAL test.rb:3 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:001858 d:001858 TOP =20 --------------------------- -- Ruby level backtrace information ---------------------------------------- test.rb:3:in `
' test.rb:3:in `require' /Users/apatterson/.local/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.1/lib/nokogi= ri.rb:4:in `' /Users/apatterson/.local/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.1/lib/nokogi= ri.rb:4:in `require' /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:5:in `' /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:213= :in `' /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:213= :in `each_value' /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:214= :in `block in ' /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:210= :in `expand' /Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:210= :in `replace' -- C level backtrace information ------------------------------------------- [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html Abort trap Here is a gdb stack trace: (gdb) run test.rb Starting program: /Users/apatterson/git/ruby/ruby test.rb Reading symbols for shared libraries ++... done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: 13 at address: 0x0000000000000000 gc_mark_children (objspace=3D0x100838000, ptr=3D34166728751539572, lev=3D14) at gc.c:1531 1531 if (obj->as.basic.flags =3D=3D 0) return; /* free cell */ (gdb) bt #0 gc_mark_children (objspace=3D0x100838000, ptr=3D34166728751539572, lev=3D14) at gc.c:1531 #1 0x0000000100051fc1 in mark_keyvalue (key=3D, value=3D4303785960, data=3D) at gc.c:1512 #2 0x0000000100103700 in st_foreach (table=3D0x10062ca20, func=3D0x100051df0 , arg=3D140734799784320) at st.c:778 #3 0x0000000100050a71 in gc_mark_children (objspace=3D0x100838000, ptr=3D4303789040, lev=3D13) at gc.c:1403 #4 0x00000001000517e9 in mark_entry (key=3D, value=3D, data=3D) at gc.c:1512 #5 0x0000000100103700 in st_foreach (table=3D0x100635800, func=3D0x100051710 , arg=3D140734799784656) at st.c:778 #6 0x0000000100050d9c in mark_tbl [inlined] () at /Users/apatterson/git/ruby/gc.c:1360 #7 0x0000000100050d9c in gc_mark_children (objspace=3D0x100838000, ptr=3D4303789440, lev=3D12) at gc.c:1684 #8 0x00000001000517e9 in mark_entry (key=3D, value=3D, data=3D) at gc.c:1512 #9 0x0000000100103700 in st_foreach (table=3D0x100303030, func=3D0x100051710 , arg=3D140734799784992) at st.c:778 #10 0x0000000100050d9c in mark_tbl [inlined] () at /Users/apatterson/git/ruby/gc.c:1360 #11 0x0000000100050d9c in gc_mark_children (objspace=3D0x100838000, ptr=3D4303986000, lev=3D11) at gc.c:1684 #12 0x00000001000517e9 in mark_entry (key=3D, value=3D, data=3D) at gc.c:1512 #13 0x000000010010368f in st_foreach (table=3D0x100303860, func=3D0x100051710 , arg=3D140734799785328) at st.c:747 #14 0x0000000100050d9c in mark_tbl [inlined] () at /Users/apatterson/git/ruby/gc.c:1360 #15 0x0000000100050d9c in gc_mark_children (objspace=3D0x100838000, ptr=3D4303985640, lev=3D10) at gc.c:1684 #16 0x00000001000517e9 in mark_entry (key=3D, value=3D, data=3D) at gc.c:1512 #17 0x000000010010368f in st_foreach (table=3D0x100303d20, func=3D0x100051710 , arg=3D140734799785664) at st.c:747 #18 0x0000000100050d9c in mark_tbl [inlined] () at /Users/apatterson/git/ruby/gc.c:1360 #19 0x0000000100050d9c in gc_mark_children (objspace=3D0x100838000, ptr=3D4303985480, lev=3D9) at gc.c:1684 #20 0x000000010005002f in gc_mark_children (objspace=3D0x100838000, ptr=3D4303985680, lev=3D8) at gc.c:1512 #21 0x000000010005002f in gc_mark_children (objspace=3D0x100838000, ptr=3D4303985920, lev=3D7) at gc.c:1512 #22 0x00000001000517e9 in mark_entry (key=3D, value=3D, data=3D) at gc.c:1512 #23 0x000000010010368f in st_foreach (table=3D0x100303600, func=3D0x100051710 , arg=3D140734799786480) at st.c:747 #24 0x0000000100050d9c in mark_tbl [inlined] () at /Users/apatterson/git/ruby/gc.c:1360 #25 0x0000000100050d9c in gc_mark_children (objspace=3D0x100838000, ptr=3D4303985720, lev=3D6) at gc.c:1684 #26 0x00000001000517e9 in mark_entry (key=3D, value=3D, data=3D) at gc.c:1512 #27 0x000000010010368f in st_foreach (table=3D0x100303ac0, func=3D0x100051710 , arg=3D140734799786816) at st.c:747 #28 0x0000000100050d9c in mark_tbl [inlined] () at /Users/apatterson/git/ruby/gc.c:1360 #29 0x0000000100050d9c in gc_mark_children (objspace=3D0x100838000, ptr=3D4303985560, lev=3D5) at gc.c:1684 #30 0x000000010005002f in gc_mark_children (objspace=3D0x100838000, ptr=3D4303915000, lev=3D4) at gc.c:1512 #31 0x000000010005002f in gc_mark_children (objspace=3D0x100838000, ptr=3D4303915040, lev=3D3) at gc.c:1512 #32 0x000000010005002f in gc_mark_children (objspace=3D0x100838000, ptr=3D4303915080, lev=3D2) at gc.c:1512 #33 0x000000010005002f in gc_mark_children (objspace=3D0x100838000, ptr=3D4303910560, lev=3D1) at gc.c:1512 #34 0x000000010005338a in garbage_collect (objspace=3D0x100838000) at gc.c:1512 #35 0x00000001000536f8 in rb_newobj_from_heap (objspace=3D0x100838000) at gc.c:1012 #36 0x000000010010a8c6 in str_alloc [inlined] () at /Users/apatterson/git/ruby/string.c:378 #37 0x000000010010a8c6 in str_new4 (klass=3D4303977360, str=3D4312208560) at string.c:657 #38 0x000000010010ae77 in rb_str_new_frozen (orig=3D4312208560) at string.c:710 #39 0x000000010010b368 in str_replace_shared (str2=3D4303785960, str=3D) at string.c:617 #40 0x000000010010b4cb in str_replace (str=3D4303785960, str2=3D) at string.c:876 #41 0x0000000100111a9f in rb_str_replace (str=3D4303785960, str2=3D4312208560) at string.c:3771 #42 0x0000000100166757 in vm_call_cfunc [inlined] () at /Users/apatterson/git/ruby/vm_insnhelper.c:377 #43 0x0000000100166757 in vm_call_method (th=3D0x100301a40, cfp=3D0x1004ffb30, num=3D1, blockptr=3D0x1, flag=3D0, id=3D, me=3D0x100311910, recv=3D4303785960) at vm_insnhelper.c:500 #44 0x0000000100169763 in vm_exec_core (th=3D0x100301a40, initial=3D) at insns.def:999 #45 0x00000001001710d3 in vm_exec (th=3D0x100301a40) at vm.c:1133 #46 0x0000000100173319 in rb_yield (val=3D4303785960) at vm.c:556 #47 0x0000000100055702 in each_value_i (key=3D4303785960, value=3D4312208560) at hash.c:1195 #48 0x0000000100055b28 in hash_foreach_iter (key=3D4303786120, value=3D, arg=3D0x7fff5fbfe0a0) at hash.c:163 #49 0x0000000100103700 in st_foreach (table=3D0x10062ca20, func=3D0x100055b00 , arg=3D140734799798432) at st.c:778 #50 0x00000001000561da in hash_foreach_call (arg=3D) at hash.c:196 #51 0x000000010003bd0f in rb_ensure (b_proc=3D0x1000561c0 , data1=3D140734799798432, e_proc=3D0x100056140 , data2=3D4303789040) at eval.c:742 #52 0x0000000100059480 in rb_hash_each_value (hash=3D4303789040) at hash.c:213 #53 0x0000000100166757 in vm_call_cfunc [inlined] () at /Users/apatterson/git/ruby/vm_insnhelper.c:377 #54 0x0000000100166757 in vm_call_method (th=3D0x100301a40, cfp=3D0x1004ffc90, num=3D0, blockptr=3D0x1004ffcb9, flag=3D0, id=3D, me=3D0x100341400, recv=3D4303789040) at vm_insnhelper.c:500 #55 0x0000000100169763 in vm_exec_core (th=3D0x100301a40, initial=3D) at insns.def:999 #56 0x00000001001710d3 in vm_exec (th=3D0x100301a40) at vm.c:1133 #57 0x0000000100171542 in rb_iseq_eval (iseqval=3D4303879080) at vm.c:1360 #58 0x000000010003f0ec in rb_load_internal (fname=3D4303879240, wrap=3D) at load.c:302 #59 0x000000010004042c in rb_require_safe (fname=3D4303879440, safe=3D0) at load.c:594 #60 0x0000000100166757 in vm_call_cfunc [inlined] () at /Users/apatterson/git/ruby/vm_insnhelper.c:377 #61 0x0000000100166757 in vm_call_method (th=3D0x100301a40, cfp=3D0x1004ffdf0, num=3D1, blockptr=3D0x1, flag=3D8, id=3D, me=3D0x10036e5e0, recv=3D4303980440) at vm_insnhelper.c:500 #62 0x0000000100169763 in vm_exec_core (th=3D0x100301a40, initial=3D) at insns.def:999 #63 0x00000001001710d3 in vm_exec (th=3D0x100301a40) at vm.c:1133 #64 0x0000000100171542 in rb_iseq_eval (iseqval=3D4303904320) at vm.c:1360 #65 0x000000010003f0ec in rb_load_internal (fname=3D4303907520, wrap=3D) at load.c:302 #66 0x000000010004042c in rb_require_safe (fname=3D4303910680, safe=3D0) at load.c:594 #67 0x0000000100166757 in vm_call_cfunc [inlined] () at /Users/apatterson/git/ruby/vm_insnhelper.c:377 #68 0x0000000100166757 in vm_call_method (th=3D0x100301a40, cfp=3D0x1004ffef8, num=3D1, blockptr=3D0x1, flag=3D8, id=3D, me=3D0x10036e5e0, recv=3D4303980440) at vm_insnhelper.c:500 #69 0x0000000100169763 in vm_exec_core (th=3D0x100301a40, initial=3D) at insns.def:999 #70 0x00000001001710d3 in vm_exec (th=3D0x100301a40) at vm.c:1133 #71 0x00000001001713c0 in rb_iseq_eval_main (iseqval=3D4303751480) at vm.c:1374 #72 0x000000010003c392 in ruby_exec_internal (n=3D0x100860938) at eval.c:214 #73 0x000000010003eccc in ruby_exec_node [inlined] () at /Users/apatterson/git/ruby/eval.c:261 #74 0x000000010003eccc in ruby_run_node (n=3D) at eval.c:254 #75 0x000000010000178f in main (argc=3D2, argv=3D0x7fff5fbff740) at main.c:35 (gdb) --=20 Aaron Patterson http://tenderlovemaking.com/ --Dxnq1zWXvFF0Q93v Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) iQEcBAEBAgAGBQJL3vywAAoJEJUxcLy0/6/GriMIAIB3s/ml09RtzNYy2RtytPZq Cs4VYsH5m+TkisxSD9jxYeYjJ632Nqkf/i0ZLSnE/75wiVXSeqdGNmPfApH07eS9 c/UtGDdgNZYAp8uUK+4EGlgyeD7lBAfMk0oqJ8U91a1GuCyuQ6y8x/Ebhu+qRk6K +JwO8YYnEwY2+OFqgUzFjfYHYbIKIW6wvDq7X6XqwPtNCvECcHi4FS9Hpu8Cz58R IY4VXhzQlOtMoRfSkw/NdRWD03cEfaVZJtBaSiRm6AAHKb5HX46p4HN20THXY+NE GYqJ2vhOxNiA2h7UxTV7Edg6pDWBdhQQQmunAx8t0ycBy6J+Cdk0a4d1Ucwj6Bk= =uX/H -----END PGP SIGNATURE----- --Dxnq1zWXvFF0Q93v--