Issue #9274 has been updated by nobu (Nobuyoshi Nakada).


That patch was incomplete.
A value of the recursion keys hashes is an object ID or a hash of paired IDs.
They can't be distinguished with the patch.

I'd thought about it, but my machines got broken and I haven't have enough time.
----------------------------------------
Bug #9274: A lot of SystemStackError on Windows 8.1 with MSVC 2013
https://bugs.ruby-lang.org/issues/9274#change-43835

Author: phasis68 (Heesob Park)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.1.0dev (2013-12-20 trunk 44301) [x64-mswin64_120]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


I can see a lot of SystemStackError: stack level too deep as a result of test-all on Windows 8.1 with VC++ 2013 64 bit compiler.

C:\work\ruby-2.1.0-r44304>ver

Microsoft Windows [Version 6.3.9600]

C:\work\ruby-2.1.0-r44304>cl
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.


  1) Failure:
TestThread#test_recursive_outer [C:/work/ruby-2.1.0-r44304/test/ruby/test_thread.rb:491]:
Exception raised:
<#<SystemStackError: stack level too deep>>.

  2) Failure:
TestRecursion#test_recursive_outer [C:/work/ruby-2.1.0-r44304/test/-ext-/test_recursion.rb:28]:
Exception raised:
<#<SystemStackError: stack level too deep>>.

  3) Failure:
TestRecursion#test_recursive [C:/work/ruby-2.1.0-r44304/test/-ext-/test_recursion.rb:19]:
[RuntimeError] exception expected, not
Class: <SystemStackError>
Message: <"stack level too deep">
---Backtrace---
C:/work/ruby-2.1.0-r44304/test/-ext-/test_recursion.rb:16
---------------


 12) Failure:
TestMarshal#test_class_nonascii [C:/work/ruby-2.1.0-r44304/lib/test/unit/assertions.rb:250]:
[ruby-core:24882].
Exception raised:
<#<SystemStackError: stack level too deep>>.

 13) Failure:
TestArray#test_join2 [C:/work/ruby-2.1.0-r44304/test/ruby/test_array.rb:1953]:
[ruby-core:24150].
[ArgumentError] exception expected, not
Class: <SystemStackError>
Message: <"stack level too deep">
---Backtrace---
C:/work/ruby-2.1.0-r44304/test/ruby/test_array.rb:1953
---------------

 15) Failure:
TestComparable#test_inversed_compare [C:/work/ruby-2.1.0-r44304/lib/rake/ext/time.rb:12]:
[ruby-core:52305] [Bug #7870].
Exception raised:
<#<SystemStackError: stack level too deep>>.

 16) Failure:
TestComparable#test_no_cmp [C:/work/ruby-2.1.0-r44304/test/ruby/test_comparable.rb:83]:
[ruby-core:57736] [Bug #9003].
Exception raised:
<#<SystemStackError: stack level too deep>>.

 17) Failure:
TestHash::TestSubHash#test_recursive_hash_value_struct [C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1124]:
[ruby-core:58567] [Bug #9151].
Exception raised:
<#<SystemStackError: stack level too deep>>.

 18) Failure:
TestHash#test_recursive_hash_value_struct [C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1124]:
[ruby-core:58567] [Bug #9151].
Exception raised:
<#<SystemStackError: stack level too deep>>.

 19) Error:
TestHash::TestSubHash#test_recursive_hash_value_array_hash:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1172

 20) Error:
TestHash#test_recursive_hash_value_array_hash:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1172

 21) Error:
TestHash#test_recursive_hash_value_hash_array:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1185

 22) Error:
TestHash#test_dup_will_rehash:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:117

 23) Error:
TestHash#test_recursive_key:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1110

 24) Error:
TestHash::TestSubHash#test_dup_will_rehash:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:117

 25) Error:
TestHash::TestSubHash#test_recursive_hash_value_array:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1154

 26) Error:
TestHash#test_recursive_hash_value_array:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1154

 27) Error:
TestHash::TestSubHash#test_recursive_hash_value_hash_array:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1185

 28) Error:
TestEnumerator#test_inspect:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_enumerator.rb:405

 29) Error:
TestHash::TestSubHash#test_recursive_key:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_hash.rb:1110

 30) Error:
TestIO#test_puts_recursive_array:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_io.rb:55

 31) Error:
TestIO#test_puts_recursive_ary:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_io.rb:2848

 32) Error:
Psych_Unit_Tests#test_circular_references:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/psych/test_yaml.rb:1207

 33) Error:
Psych::TestStruct#test_self_referential_struct:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/minitest/unit.rb:230

 34) Error:
Psych::TestSet#test_set_self_reference:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/minitest/unit.rb:230

 35) Error:
Psych::TestSafeLoad#test_explicit_recursion:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/minitest/unit.rb:230

 36) Error:
Psych::TestOmap#test_self_referential:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/minitest/unit.rb:230

 37) Error:
Psych::TestHash#test_self_referential:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/minitest/unit.rb:230

 38) Error:
Psych::TestArray#test_self_referential:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/minitest/unit.rb:230

 39) Error:
PPTestModule::PPCycleTest#test_withinspect:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/test_pp.rb:140

 40) Error:
PPTestModule::PPCycleTest#test_struct:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/test_pp.rb:140

 41) Error:
TestObject#test_inspect:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_object.rb:706

 42) Error:
TestObjectSpace#test_each_object:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_objectspace.rb:97

 43) Error:
TestRange#test_comparison_when_recursive:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/test/unit/assertions.rb:250

 44) Error:
TestRange#test_cyclic_range_inspect:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_range.rb:328

 45) Error:
PPTestModule::PPCycleTest#test_object:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/test_pp.rb:146

 46) Error:
PPTestModule::PPCycleTest#test_hash:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/test_pp.rb:132

 47) Error:
TestStruct::SubStruct#test_comparison_when_recursive:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/test/unit/assertions.rb:250

 48) Error:
TestStruct::SubStruct#test_inspect:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_struct.rb:121

 49) Error:
TestStruct::TopStruct#test_comparison_when_recursive:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/lib/test/unit/assertions.rb:250

 50) Error:
TestStruct::TopStruct#test_inspect:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/ruby/test_struct.rb:121

 51) Error:
PPTestModule::PPCycleTest#test_array:
SystemStackError: stack level too deep
    C:/work/ruby-2.1.0-r44304/test/test_pp.rb:125

Same results with ruby-2.1.0-rc1.



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