Project

General

Profile

Bug #3174

segmentation fault at running Array method each

Added by ingo (Ingo M) over 9 years ago. Updated about 8 years ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
ruby -v:
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
[ruby-core:29621]

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

reproduce_crash.rb (1.01 KB) reproduce_crash.rb ingo (Ingo M), 04/19/2010 08:49 PM
reproduce_crash.rb (1.03 KB) reproduce_crash.rb modified script tenderlovemaking (Aaron Patterson), 04/20/2010 02:25 AM

History

#1

Updated by matz (Yukihiro Matsumoto) over 9 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

#2

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Status changed from Open to Feedback

=begin
Seems like a third party's issue.
What extension libraries do you use?
=end

#3

Updated by ingo (Ingo M) over 9 years ago

=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

#4

Updated by tenderlovemaking (Aaron Patterson) over 9 years ago

=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

#5

Updated by ingo (Ingo M) about 9 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

Also available in: Atom PDF