[#29911] [Bug #3231] Digest Does Not Build — Charlie Savage <redmine@...>

Bug #3231: Digest Does Not Build

19 messages 2010/05/01

[#29920] [Feature #3232] Loops (while/until) should return last statement value if any, like if/unless — Benoit Daloze <redmine@...>

Feature #3232: Loops (while/until) should return last statement value if any, like if/unless

9 messages 2010/05/01

[#29997] years in Time.utc — Xavier Noria <fxn@...>

Does anyone have a precise statement about the years supported by

13 messages 2010/05/04

[#30010] [Bug #3248] extension 'tk' is finding tclConfig.sh and tkConfig.sh incorrectly — Luis Lavena <redmine@...>

Bug #3248: extension 'tk' is finding tclConfig.sh and tkConfig.sh incorrectly

9 messages 2010/05/05

[#30226] [Bug #3288] Segmentation fault - activesupport-3.0.0.beta3/lib/active_support/callbacks.rb:88 — Szymon Jeż <redmine@...>

Bug #3288: Segmentation fault - activesupport-3.0.0.beta3/lib/active_support/callbacks.rb:88

10 messages 2010/05/13

[#30358] tk doesn't startup well in doze — Roger Pack <rogerdpack2@...>

Currently with 1.9.x and tk 8.5,the following occurs

12 messages 2010/05/22

[ruby-core:29974] Re: [Bug #3241] gem update --system Segmentation fault

From: Aaron Patterson <aaron@...>
Date: 2010-05-03 16:41:34 UTC
List: ruby-core #29974
On Mon, May 03, 2010 at 08:55:14PM +0900, Yusuke ENDOH wrote:
> Hi,
> 
> Thank you for your report, but I cannot reproduce on
> ruby 1.9.2dev (2010-05-03 trunk 27592) [i686-linux].
> 
> 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 = 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/nokogiri.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   
---------------------------
-- Ruby level backtrace information
----------------------------------------
test.rb:3:in `<main>'
test.rb:3:in `require'
/Users/apatterson/.local/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.1/lib/nokogiri.rb:4:in
`<top (required)>'
/Users/apatterson/.local/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.1/lib/nokogiri.rb:4:in
`require'
/Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:5:in
`<top (required)>'
/Users/apatterson/.local/lib/ruby/1.9.1/x86_64-darwin10.3.0/rbconfig.rb:213:in
`<module:RbConfig>'
/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 <module:RbConfig>'
/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=0x100838000, ptr=34166728751539572, lev=14)
at gc.c:1531
1531      if (obj->as.basic.flags == 0) return;       /* free cell */
(gdb) bt
#0  gc_mark_children (objspace=0x100838000, ptr=34166728751539572,
lev=14) at gc.c:1531
#1  0x0000000100051fc1 in mark_keyvalue (key=<value temporarily
unavailable, due to optimizations>, value=4303785960, data=<value
temporarily unavailable, due to optimizations>) at gc.c:1512
#2  0x0000000100103700 in st_foreach (table=0x10062ca20,
func=0x100051df0 <mark_keyvalue>, arg=140734799784320) at st.c:778
#3  0x0000000100050a71 in gc_mark_children (objspace=0x100838000,
ptr=4303789040, lev=13) at gc.c:1403
#4  0x00000001000517e9 in mark_entry (key=<value temporarily
unavailable, due to optimizations>, value=<value temporarily
unavailable, due to optimizations>, data=<value temporarily unavailable,
due to optimizations>) at gc.c:1512
#5  0x0000000100103700 in st_foreach (table=0x100635800,
func=0x100051710 <mark_entry>, arg=140734799784656) 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=0x100838000,
ptr=4303789440, lev=12) at gc.c:1684
#8  0x00000001000517e9 in mark_entry (key=<value temporarily
unavailable, due to optimizations>, value=<value temporarily
unavailable, due to optimizations>, data=<value temporarily unavailable,
due to optimizations>) at gc.c:1512
#9  0x0000000100103700 in st_foreach (table=0x100303030,
func=0x100051710 <mark_entry>, arg=140734799784992) 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=0x100838000,
ptr=4303986000, lev=11) at gc.c:1684
#12 0x00000001000517e9 in mark_entry (key=<value temporarily
unavailable, due to optimizations>, value=<value temporarily
unavailable, due to optimizations>, data=<value temporarily unavailable,
due to optimizations>) at gc.c:1512
#13 0x000000010010368f in st_foreach (table=0x100303860,
func=0x100051710 <mark_entry>, arg=140734799785328) 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=0x100838000,
ptr=4303985640, lev=10) at gc.c:1684
#16 0x00000001000517e9 in mark_entry (key=<value temporarily
unavailable, due to optimizations>, value=<value temporarily
unavailable, due to optimizations>, data=<value temporarily unavailable,
due to optimizations>) at gc.c:1512
#17 0x000000010010368f in st_foreach (table=0x100303d20,
func=0x100051710 <mark_entry>, arg=140734799785664) 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=0x100838000,
ptr=4303985480, lev=9) at gc.c:1684
#20 0x000000010005002f in gc_mark_children (objspace=0x100838000,
ptr=4303985680, lev=8) at gc.c:1512
#21 0x000000010005002f in gc_mark_children (objspace=0x100838000,
ptr=4303985920, lev=7) at gc.c:1512
#22 0x00000001000517e9 in mark_entry (key=<value temporarily
unavailable, due to optimizations>, value=<value temporarily
unavailable, due to optimizations>, data=<value temporarily unavailable,
due to optimizations>) at gc.c:1512
#23 0x000000010010368f in st_foreach (table=0x100303600,
func=0x100051710 <mark_entry>, arg=140734799786480) 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=0x100838000,
ptr=4303985720, lev=6) at gc.c:1684
#26 0x00000001000517e9 in mark_entry (key=<value temporarily
unavailable, due to optimizations>, value=<value temporarily
unavailable, due to optimizations>, data=<value temporarily unavailable,
due to optimizations>) at gc.c:1512
#27 0x000000010010368f in st_foreach (table=0x100303ac0,
func=0x100051710 <mark_entry>, arg=140734799786816) 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=0x100838000,
ptr=4303985560, lev=5) at gc.c:1684
#30 0x000000010005002f in gc_mark_children (objspace=0x100838000,
ptr=4303915000, lev=4) at gc.c:1512
#31 0x000000010005002f in gc_mark_children (objspace=0x100838000,
ptr=4303915040, lev=3) at gc.c:1512
#32 0x000000010005002f in gc_mark_children (objspace=0x100838000,
ptr=4303915080, lev=2) at gc.c:1512
#33 0x000000010005002f in gc_mark_children (objspace=0x100838000,
ptr=4303910560, lev=1) at gc.c:1512
#34 0x000000010005338a in garbage_collect (objspace=0x100838000) at
gc.c:1512
#35 0x00000001000536f8 in rb_newobj_from_heap (objspace=0x100838000) at
gc.c:1012
#36 0x000000010010a8c6 in str_alloc [inlined] () at
/Users/apatterson/git/ruby/string.c:378
#37 0x000000010010a8c6 in str_new4 (klass=4303977360, str=4312208560) at
string.c:657
#38 0x000000010010ae77 in rb_str_new_frozen (orig=4312208560) at
string.c:710
#39 0x000000010010b368 in str_replace_shared (str2=4303785960,
str=<value temporarily unavailable, due to optimizations>) at
string.c:617
#40 0x000000010010b4cb in str_replace (str=4303785960, str2=<value
temporarily unavailable, due to optimizations>) at string.c:876
#41 0x0000000100111a9f in rb_str_replace (str=4303785960,
str2=4312208560) 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=0x100301a40,
cfp=0x1004ffb30, num=1, blockptr=0x1, flag=0, id=<value temporarily
unavailable, due to optimizations>, me=0x100311910, recv=4303785960) at
vm_insnhelper.c:500
#44 0x0000000100169763 in vm_exec_core (th=0x100301a40, initial=<value
temporarily unavailable, due to optimizations>) at insns.def:999
#45 0x00000001001710d3 in vm_exec (th=0x100301a40) at vm.c:1133
#46 0x0000000100173319 in rb_yield (val=4303785960) at vm.c:556
#47 0x0000000100055702 in each_value_i (key=4303785960,
value=4312208560) at hash.c:1195
#48 0x0000000100055b28 in hash_foreach_iter (key=4303786120,
value=<value temporarily unavailable, due to optimizations>,
arg=0x7fff5fbfe0a0) at hash.c:163
#49 0x0000000100103700 in st_foreach (table=0x10062ca20,
func=0x100055b00 <hash_foreach_iter>, arg=140734799798432) at st.c:778
#50 0x00000001000561da in hash_foreach_call (arg=<value temporarily
unavailable, due to optimizations>) at hash.c:196
#51 0x000000010003bd0f in rb_ensure (b_proc=0x1000561c0
<hash_foreach_call>, data1=140734799798432, e_proc=0x100056140
<hash_foreach_ensure>, data2=4303789040) at eval.c:742
#52 0x0000000100059480 in rb_hash_each_value (hash=4303789040) 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=0x100301a40,
cfp=0x1004ffc90, num=0, blockptr=0x1004ffcb9, flag=0, id=<value
temporarily unavailable, due to optimizations>, me=0x100341400,
recv=4303789040) at vm_insnhelper.c:500
#55 0x0000000100169763 in vm_exec_core (th=0x100301a40, initial=<value
temporarily unavailable, due to optimizations>) at insns.def:999
#56 0x00000001001710d3 in vm_exec (th=0x100301a40) at vm.c:1133
#57 0x0000000100171542 in rb_iseq_eval (iseqval=4303879080) at vm.c:1360
#58 0x000000010003f0ec in rb_load_internal (fname=4303879240,
wrap=<value temporarily unavailable, due to optimizations>) at
load.c:302
#59 0x000000010004042c in rb_require_safe (fname=4303879440, safe=0) 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=0x100301a40,
cfp=0x1004ffdf0, num=1, blockptr=0x1, flag=8, id=<value temporarily
unavailable, due to optimizations>, me=0x10036e5e0, recv=4303980440) at
vm_insnhelper.c:500
#62 0x0000000100169763 in vm_exec_core (th=0x100301a40, initial=<value
temporarily unavailable, due to optimizations>) at insns.def:999
#63 0x00000001001710d3 in vm_exec (th=0x100301a40) at vm.c:1133
#64 0x0000000100171542 in rb_iseq_eval (iseqval=4303904320) at vm.c:1360
#65 0x000000010003f0ec in rb_load_internal (fname=4303907520,
wrap=<value temporarily unavailable, due to optimizations>) at
load.c:302
#66 0x000000010004042c in rb_require_safe (fname=4303910680, safe=0) 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=0x100301a40,
cfp=0x1004ffef8, num=1, blockptr=0x1, flag=8, id=<value temporarily
unavailable, due to optimizations>, me=0x10036e5e0, recv=4303980440) at
vm_insnhelper.c:500
#69 0x0000000100169763 in vm_exec_core (th=0x100301a40, initial=<value
temporarily unavailable, due to optimizations>) at insns.def:999
#70 0x00000001001710d3 in vm_exec (th=0x100301a40) at vm.c:1133
#71 0x00000001001713c0 in rb_iseq_eval_main (iseqval=4303751480) at
vm.c:1374
#72 0x000000010003c392 in ruby_exec_internal (n=0x100860938) 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=<value temporarily
unavailable, due to optimizations>) at eval.c:254
#75 0x000000010000178f in main (argc=2, argv=0x7fff5fbff740) at
main.c:35
(gdb)

-- 
Aaron Patterson
http://tenderlovemaking.com/

In This Thread