[ruby-core:75396] [Ruby trunk Bug#9683] Segmentation fault when using default proc feature in ruby Hash object

From: shibata.hiroshi@...
Date: 2016-05-07 00:03:44 UTC
List: ruby-core #75396
Issue #9683 has been updated by Hiroshi SHIBATA.

Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.2: REQUIRED, 2.3: DONTNEED, 2.4: DONTNEED

I tried to following code with latest stable versions.

```rb
a = Hash.new {|h,k| h[k] += 1}
begin; a[1]; rescue SystemStackError; end
a[1]
```

```
ruby 2.1.10p492 (2016-04-22 revision 54691) [x86_64-darwin15.0]

ruby 2.2.6p320 (2016-04-26 revision 54784) [x86_64-darwin15]
9683.rb:1:in `yield': stack level too deep (SystemStackError)
        from 9683.rb:1:in `block in <main>'
        from 9683.rb:1:in `yield'
        from 9683.rb:1:in `block in <main>'
        from 9683.rb:1:in `yield'
        from 9683.rb:1:in `block in <main>'
        from 9683.rb:1:in `yield'
        from 9683.rb:1:in `block in <main>'
        from 9683.rb:1:in `yield'
         ... 8719 levels...
        from 9683.rb:1:in `yield'
        from 9683.rb:1:in `block in <main>'
        from 9683.rb:2:in `yield'
        from 9683.rb:2:in `<main>'
ruby 2.3.2p118 (2016-05-06 revision 54924) [x86_64-darwin15]

ruby 2.4.0dev (2016-05-06 trunk 54925) [x86_64-darwin15]

```

I got `SystemStackError` only Ruby 2.2 . Does Anyone know related commits?


----------------------------------------
Bug #9683: Segmentation fault when using default proc feature in ruby Hash object
https://bugs.ruby-lang.org/issues/9683#change-58519

* Author: Eran Barak Levi
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
* Backport: 2.2: REQUIRED, 2.3: DONTNEED, 2.4: DONTNEED
----------------------------------------

➜  bruno-v2 rvm:(ruby-2.1.0) git:(master) ✗ uname -a
Darwin erans-mbp.intkontera.com 13.1.0 Darwin Kernel Version 13.1.0: Thu Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64
➜  bruno-v2 rvm:(ruby-2.1.0) git:(master) ✗ rvm -v
rvm 1.25.19 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
➜  bruno-v2 rvm:(ruby-2.1.0) git:(master) ✗ ruby -v                                                                            
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
➜  bruno-v2 rvm:(ruby-2.1.0) git:(master) ✗ ruby -e "a = Hash.new {|h,k| h[k] += 1};a[1]" 2> output                      
[1]    24934 segmentation fault  ruby -e "a = Hash.new {|h,k| h[k] += 1};a[1]" 2> output

more information in the attached files

---Files--------------------------------
ruby_2014-03-27-153720_Erans-MacBook-Pro.crash (45.3 KB)
output (489 KB)
9683.patch (1.31 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next