Bug #3174
closedsegmentation fault at running Array method each
Description
=begin
Bug happens when using method each at a large array
/home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:26: [BUG] Segmentation fault
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
-- control frame ----------
c:0009 p:0046 s:0031 b:0023 l:000f14 d:000022 BLOCK /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:26
c:0008 p:---- s:0020 b:0020 l:000019 d:000019 FINISH
c:0007 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :each
c:0006 p:0153 s:0015 b:0015 l:000f14 d:000014 BLOCK /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:25
c:0005 p:---- s:0011 b:0011 l:000010 d:000010 FINISH
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :each
c:0003 p:0106 s:0006 b:0006 l:000f14 d:00163c EVAL /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:15
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000f14 d:000f14 TOP
/home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:26: [BUG] object allocation during garbage collection phase
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
-- control frame ----------
c:0009 p:0046 s:0031 b:0023 l:000f14 d:000022 BLOCK /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:26
c:0008 p:---- s:0020 b:0020 l:000019 d:000019 FINISH
c:0007 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :each
c:0006 p:0153 s:0015 b:0015 l:000f14 d:000014 BLOCK /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:25
c:0005 p:---- s:0011 b:0011 l:000010 d:000010 FINISH
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :each
c:0003 p:0106 s:0006 b:0006 l:000f14 d:00163c EVAL /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:15
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000f14 d:000f14 TOP
-- Ruby level backtrace information-----------------------------------------
/home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:26:in block (2 levels) in <main>' /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:25:in
each'
/home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:25:in block in <main>' /home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:15:in
each'
/home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:15:in `'
-- C level backtrace information -------------------------------------------
0xb77de340 /usr/lib/libruby.so.1.9(rb_vm_bugreport+0x60) [0xb77de340]
0xb76f9401 /usr/lib/libruby.so.1.9(+0x46401) [0xb76f9401]
0xb76f949a /usr/lib/libruby.so.1.9(rb_bug+0x3a) [0xb76f949a]
0xb770cadc /usr/lib/libruby.so.1.9(rb_newobj+0xdc) [0xb770cadc]
0xb76d4045 /usr/lib/libruby.so.1.9(+0x21045) [0xb76d4045]
0xb76d42b0 /usr/lib/libruby.so.1.9(+0x212b0) [0xb76d42b0]
0xb76d48be /usr/lib/libruby.so.1.9(rb_ary_new+0x1e) [0xb76d48be]
0xb77cdd86 /usr/lib/libruby.so.1.9(rb_make_backtrace+0x36) [0xb77cdd86]
0xb77de317 /usr/lib/libruby.so.1.9(rb_vm_bugreport+0x37) [0xb77de317]
0xb76f9401 /usr/lib/libruby.so.1.9(+0x46401) [0xb76f9401]
0xb76f949a /usr/lib/libruby.so.1.9(rb_bug+0x3a) [0xb76f949a]
0xb778498c /usr/lib/libruby.so.1.9(+0xd198c) [0xb778498c]
0xb783d40c [0xb783d40c]
0xb770b0f6 /usr/lib/libruby.so.1.9(+0x580f6) [0xb770b0f6]
0xb770b396 /usr/lib/libruby.so.1.9(+0x58396) [0xb770b396]
0xb77ca475 /usr/lib/libruby.so.1.9(rb_thread_mark+0x65) [0xb77ca475]
0xb770b2a3 /usr/lib/libruby.so.1.9(+0x582a3) [0xb770b2a3]
0xb77ca34d /usr/lib/libruby.so.1.9(+0x11734d) [0xb77ca34d]
0xb778af80 /usr/lib/libruby.so.1.9(st_foreach+0x50) [0xb778af80]
0xb77ca810 /usr/lib/libruby.so.1.9(rb_vm_mark+0x40) [0xb77ca810]
0xb770b2a3 /usr/lib/libruby.so.1.9(+0x582a3) [0xb770b2a3]
0xb770b90c /usr/lib/libruby.so.1.9(+0x5890c) [0xb770b90c]
0xb770c745 /usr/lib/libruby.so.1.9(+0x59745) [0xb770c745]
0xb779b34c /usr/lib/libruby.so.1.9(+0xe834c) [0xb779b34c]
0xb779b775 /usr/lib/libruby.so.1.9(+0xe8775) [0xb779b775]
0xb779b983 /usr/lib/libruby.so.1.9(rb_str_buf_append+0x73) [0xb779b983]
0xb779f5ee /usr/lib/libruby.so.1.9(rb_str_append+0x5e) [0xb779f5ee]
0xb77ce6e6 /usr/lib/libruby.so.1.9(+0x11b6e6) [0xb77ce6e6]
0xb77d410b /usr/lib/libruby.so.1.9(+0x12110b) [0xb77d410b]
0xb77db6f3 /usr/lib/libruby.so.1.9(rb_yield+0x1c3) [0xb77db6f3]
0xb76d3dd2 /usr/lib/libruby.so.1.9(rb_ary_each+0x52) [0xb76d3dd2]
0xb77cb26d /usr/lib/libruby.so.1.9(+0x11826d) [0xb77cb26d]
0xb77cb5f4 /usr/lib/libruby.so.1.9(+0x1185f4) [0xb77cb5f4]
0xb77d82d4 /usr/lib/libruby.so.1.9(+0x1252d4) [0xb77d82d4]
0xb77d0b3d /usr/lib/libruby.so.1.9(+0x11db3d) [0xb77d0b3d]
0xb77d410b /usr/lib/libruby.so.1.9(+0x12110b) [0xb77d410b]
0xb77db6f3 /usr/lib/libruby.so.1.9(rb_yield+0x1c3) [0xb77db6f3]
0xb76d3dd2 /usr/lib/libruby.so.1.9(rb_ary_each+0x52) [0xb76d3dd2]
0xb77cb26d /usr/lib/libruby.so.1.9(+0x11826d) [0xb77cb26d]
0xb77cb5f4 /usr/lib/libruby.so.1.9(+0x1185f4) [0xb77cb5f4]
0xb77d82d4 /usr/lib/libruby.so.1.9(+0x1252d4) [0xb77d82d4]
0xb77d0b3d /usr/lib/libruby.so.1.9(+0x11db3d) [0xb77d0b3d]
0xb77d410b /usr/lib/libruby.so.1.9(+0x12110b) [0xb77d410b]
0xb77d437b /usr/lib/libruby.so.1.9(rb_iseq_eval_main+0xab) [0xb77d437b]
0xb76fb7a7 /usr/lib/libruby.so.1.9(ruby_exec_node+0xb7) [0xb76fb7a7]
0xb76fcdb6 /usr/lib/libruby.so.1.9(ruby_run_node+0x56) [0xb76fcdb6]
0x80486a8 ruby(main+0x68) [0x80486a8]
0xb7567b86 /lib/libc.so.6(__libc_start_main+0xe6) [0xb7567b86]
0x80485a1 ruby() [0x80485a1]
[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
=end
Files
Updated by matz (Yukihiro Matsumoto) almost 14 years ago
=begin
Hi,
In message "Re: [ruby-core:29621] [Bug #3174] segmentation fault at running Array method each"
on Mon, 19 Apr 2010 16:42:42 +0900, Ingo Meierhoff redmine@ruby-lang.org writes:
|Bug #3174: segmentation fault at running Array method each
|http://redmine.ruby-lang.org/issues/show/3174
|Bug happens when using method each at a large array
|
|/home/teddy/daten/workspace/tsm_administration/scripts/MIGRATION_crash.rb:26: [BUG] Segmentation fault
|ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
Can we see the error reproducing program (and input data)?
matz.
=end
Updated by nobu (Nobuyoshi Nakada) almost 14 years ago
- Status changed from Open to Feedback
=begin
Seems like a third party's issue.
What extension libraries do you use?
=end
Updated by ingo (Ingo M) almost 14 years ago
- File reproduce_crash.rb reproduce_crash.rb added
=begin
I'm using the pg gem (0.9.0) to copy data from one database to another
with the attached script I was able to reproduce the error
=end
Updated by tenderlovemaking (Aaron Patterson) almost 14 years ago
- File reproduce_crash.rb reproduce_crash.rb added
=begin
I was able to run the script (with slight modifications) from Ruby 1.9.2 trunk and had no crashes. I've attached my version of the script.
Here is the output from my run:
$ ruby reproduce_crash.rb
create table
NOTICE: table "crash_table" does not exist, skipping
NOTICE: table "crash_table" does not exist, skipping
fill table
queries
server_a : Session : 250000
server_b : Session : 250000
server_c : Session : 250000
server_d : Session : 250000
server_e : Session : 250000
$ ruby -v
ruby 1.9.2dev (2010-04-17 trunk 27378) [x86_64-darwin10.2.0]
$
=end
Updated by ingo (Ingo M) almost 14 years ago
=begin
if you would like to reproduce it with 1.9.1p378 you have to ensure that your postgres db is fast enough
(for this reason I used in postgres.conf:
fsync = off
synchronous_commit = off
wal_writer_delay = 2s
)
until now I was not able to reproduce the error using version 1.9.2 so it seems to be fixed
or my system is not fast enough
$ ruby -v
ruby 1.9.2dev (2010-04-22 trunk 27435) [i686-linux]
=end
Updated by jeremyevans0 (Jeremy Evans) over 4 years ago
- Description updated (diff)
- Status changed from Feedback to Closed