Project

General

Profile

Bug #3394

spec/rubyspec/core/array/product_spec.rb SEGV

Added by akr (Akira Tanaka) over 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
Backport:
[ruby-dev:41540]

Description

=begin
と、いうわけで、とりあえず spec/rubyspec/core/array/product_spec.rb は
SEGV するようです。

(RUBY_DEBUG のためコンパイルでは RUBY_DEBUG_ENV マクロをつけてあります。)

% RUBY_DEBUG=gc_stress ./ruby spec/mspec/bin/mspec-run -f s
spec/rubyspec/core/array/product_spec.rb

Array#product

  • returns converted arguments using :to_ary
  • returns the expected result
  • has no required argument
  • returns an empty array when the argument is an empty array

Array#product when given a block

  • yields all combinations in turn/home/ruby/tcio/ruby/spec/rubyspec/core/array/product_spec.rb:31: [BUG] Segmentation fault ruby 1.9.3dev (2010-06-05 trunk 28178) [i686-linux]

-- control frame ----------
c:0038 p:---- s:0124 b:0124 l:000123 d:000123 CFUNC :product
c:0037 p:0021 s:0119 b:0119 l:0026fc d:000118 BLOCK
/home/ruby/tcio/ruby/spec/rubyspec/core/array/product_spec.rb:31
c:0036 p:---- s:0116 b:0116 l:000115 d:000115 FINISH
c:0035 p:---- s:0114 b:0114 l:000113 d:000113 CFUNC :instance_eval
c:0034 p:0017 s:0111 b:0111 l:000110 d:000110 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:68
c:0033 p:0021 s:0105 b:0105 l:000092 d:000104 BLOCK
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:179
c:0032 p:---- s:0102 b:0102 l:000101 d:000101 FINISH
c:0031 p:---- s:0100 b:0100 l:000095 d:000099 IFUNC
c:0030 p:---- s:0098 b:0098 l:000097 d:000097 CFUNC :each
c:0029 p:---- s:0096 b:0096 l:000095 d:000095 CFUNC :all?
c:0028 p:0053 s:0093 b:0093 l:000092 d:000092 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:179
c:0027 p:0101 s:0087 b:0087 l:000076 d:000086 BLOCK
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:207
c:0026 p:---- s:0082 b:0082 l:000081 d:000081 FINISH
c:0025 p:---- s:0080 b:0080 l:000079 d:000079 CFUNC :each
c:0024 p:0127 s:0077 b:0077 l:000076 d:000076 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:199
c:0023 p:0011 s:0074 b:0074 l:000065 d:000073 BLOCK
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:228
c:0022 p:---- s:0071 b:0071 l:000070 d:000070 FINISH
c:0021 p:---- s:0069 b:0069 l:000068 d:000068 CFUNC :each
c:0020 p:0216 s:0066 b:0066 l:000065 d:000065 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:228
c:0019 p:0109 s:0063 b:0063 l:000062 d:000062 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:37
c:0018 p:0029 s:0056 b:0056 l:000055 d:000055 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/object.rb:11
c:0017 p:0065 s:0049 b:0049 l:0026fc d:0026fc TOP
/home/ruby/tcio/ruby/spec/rubyspec/core/array/product_spec.rb:4
c:0016 p:---- s:0047 b:0047 l:000046 d:000046 FINISH
c:0015 p:---- s:0045 b:0045 l:000044 d:000044 CFUNC :load
c:0014 p:0018 s:0041 b:0041 l:002110 d:000040 BLOCK
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:56
c:0013 p:---- s:0039 b:0039 l:000038 d:000038 FINISH
c:0012 p:---- s:0037 b:0037 l:000036 d:000036 CFUNC :instance_eval
c:0011 p:0017 s:0034 b:0034 l:000033 d:000033 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:68
c:0010 p:0081 s:0028 b:0028 l:002110 d:001220 BLOCK
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:56
c:0009 p:---- s:0025 b:0025 l:000024 d:000024 FINISH
c:0008 p:---- s:0023 b:0023 l:000022 d:000022 CFUNC :each
c:0007 p:0055 s:0020 b:0020 l:002110 d:002110 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:50
c:0006 p:0023 s:0016 b:0016 l:000015 d:000015 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:42
c:0005 p:0063 s:0013 b:0013 l:000012 d:000012 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/commands/mspec-run.rb:87
c:0004 p:0098 s:0010 b:0010 l:000009 d:000009 METHOD
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/utils/script.rb:217
c:0003 p:0067 s:0006 b:0006 l:0007ec d:00122c EVAL spec/mspec/bin/mspec-run:8
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0007ec d:0007ec TOP


-- Ruby level backtrace information ----------------------------------------
spec/mspec/bin/mspec-run:8:in <main>'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/utils/script.rb:217:in
main'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/commands/mspec-run.rb:87:in run'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:42:in
process'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:50:in files'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:50:in
each'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:56:in block in files'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:68:in
protect'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:68:in instance_eval'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:56:in
block
(2 levels) in files'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:56:in load'
/home/ruby/tcio/ruby/spec/rubyspec/core/array/product_spec.rb:4:in
'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/object.rb:11:in describe'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:37:in
describe'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:228:in process'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:228:in
each'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:228:in
block in process'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:199:in
process'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:199:in each'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:207:in
block in process'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:179:in protect'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:179:in
all?'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:179:in each'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/context.rb:179:in
block in protect'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:68:in protect'
/home/ruby/tcio/ruby/spec/mspec/lib/mspec/runner/mspec.rb:68:in
instance_eval'
/home/ruby/tcio/ruby/spec/rubyspec/core/array/product_spec.rb:31:in
block (4 levels) in <top (required)>'
/home/ruby/tcio/ruby/spec/rubyspec/core/array/product_spec.rb:31:in
product'

-- C level backtrace information -------------------------------------------
./ruby(rb_vm_bugreport+0x73) [0x8158622]
./ruby [0x818d693]
./ruby(rb_bug+0x36) [0x818d6ee]
./ruby [0x80eedd7]
[0xb7f06410]
./ruby(rb_ary_entry+0x4d) [0x8166daf]
./ruby [0x8170c17]
./ruby [0x814d731]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby [0x81546ef]
./ruby [0x81544d8]
./ruby [0x8152ab9]
./ruby [0x8152c09]
./ruby(rb_obj_instance_eval+0x51) [0x8152d77]
./ruby [0x814d731]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby [0x81546ef]
./ruby [0x815477d]
./ruby [0x81519b5]
./ruby(rb_yield_values2+0x18) [0x8151a73]
./ruby [0x818777d]
./ruby [0x814564d]
./ruby [0x8154722]
./ruby [0x815477d]
./ruby [0x81519b5]
./ruby(rb_yield+0x3a) [0x815198b]
./ruby(rb_ary_each+0x7c) [0x816857b]
./ruby [0x814d747]
./ruby [0x8150672]
./ruby [0x8151744]
./ruby [0x8151697]
./ruby [0x8151e32]
./ruby(rb_iterate+0xd4) [0x8151c79]
./ruby(rb_block_call+0x3f) [0x8151e77]
./ruby [0x8187814]
./ruby [0x814d747]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby [0x81546ef]
./ruby [0x815477d]
./ruby [0x81519b5]
./ruby(rb_yield+0x3a) [0x815198b]
./ruby(rb_ary_each+0x7c) [0x816857b]
./ruby [0x814d747]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby [0x81546ef]
./ruby [0x815477d]
./ruby [0x81519b5]
./ruby(rb_yield+0x3a) [0x815198b]
./ruby(rb_ary_each+0x7c) [0x816857b]
./ruby [0x814d747]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby(rb_iseq_eval+0x2b) [0x8156189]
./ruby [0x8191265]
./ruby [0x819146a]
./ruby [0x814d731]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby [0x81546ef]
./ruby [0x81544d8]
./ruby [0x8152ab9]
./ruby [0x8152c09]
./ruby(rb_obj_instance_eval+0x51) [0x8152d77]
./ruby [0x814d731]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby [0x81546ef]
./ruby [0x815477d]
./ruby [0x81519b5]
./ruby(rb_yield+0x3a) [0x815198b]
./ruby(rb_ary_each+0x7c) [0x816857b]
./ruby [0x814d747]
./ruby [0x814d609]
./ruby [0x814cbdd]
./ruby [0x81487ca]
./ruby [0x81559e9]
./ruby(rb_iseq_eval_main+0x2b) [0x81561c2]
./ruby [0x805edb8]
./ruby(ruby_exec_node+0x1c) [0x805eec1]
./ruby(ruby_run_node+0x3b) [0x805ee95]
./ruby(main+0x74) [0x805d908]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7d26455]
./ruby [0x805d801]

[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
--
[田中 哲][たなか あきら][Tanaka Akira]
=end

History

#1

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r28184.
Akira, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF