[#58730] [ruby-trunk - misc #9188][Open] r43870 make benchmark/bm_so_k_nucleotide.rb slow — "authorNari (Narihiro Nakamura)" <authorNari@...>

17 messages 2013/12/01

[#58732] [ruby-trunk - Bug #9189][Open] Build failure on Windows in case of nonascii TEMP environment. — "phasis68 (Heesob Park)" <phasis@...>

11 messages 2013/12/01

[#58750] [ruby-trunk - Feature #9190][Open] Expose serial helper macros — "simeonwillbanks (Simeon Willbanks)" <sfw@...>

13 messages 2013/12/01

[#58756] [ruby-trunk - Bug #9192][Open] Inconsistent comparison between Float and BigDecimal — "vatsu (Gustavo Sales)" <vatsu21@...>

18 messages 2013/12/02

[#58797] [ruby-trunk - Bug #9198][Open] Segfault in TestException#test_machine_stackoverflow — "vo.x (Vit Ondruch)" <v.ondruch@...>

11 messages 2013/12/02

[#58833] [ruby-trunk - Bug #9205][Open] Assertion failed: heap_pages_deferred_final == 0 — "phasis68 (Heesob Park)" <phasis@...>

11 messages 2013/12/03

[#58866] [ruby-trunk - misc #9215][Open] Maintenance Policy for Future Releases (2.1.0 & beyond) — "hone (Terence Lee)" <hone02@...>

17 messages 2013/12/05

[#58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows — "mpelzsherman (Michael Pelz-Sherman)" <mpelzsherman@...>

15 messages 2013/12/05

[#58948] [ruby-trunk - Bug #9226][Open] Getting method `inspect' called on unexpected T_NODE object (0x000000025ddea8 flags=0x109089c klass=0x0) (NotImplementedError) from Hash#inspect — "myronmarston (Myron Marston)" <myron.marston@...>

11 messages 2013/12/07

[#59032] [ruby-trunk - Bug #9239][Open] Array#to_h ignores flat arrays — "sawa (Tsuyoshi Sawada)" <sawadatsuyoshi@...>

15 messages 2013/12/10

[#59122] [ruby-trunk - Bug #9251][Open] ! operator has lower precedence than = in an assignment expression — "rits (First Last)" <redmine@...>

26 messages 2013/12/15

[#59198] [ruby-trunk - Bug #9262][Open] global_method_cache should be configurable or grow automatically — "tmm1 (Aman Gupta)" <ruby@...1.net>

28 messages 2013/12/19

[#59209] [ruby-trunk - Bug #9264][Open] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — "spastorino (Santiago Pastorino)" <santiago@...>

15 messages 2013/12/19
[#59211] [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — "zzak (Zachary Scott)" <e@...> 2013/12/19

[#59212] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — Santiago Pastorino <spastorino@...> 2013/12/19

zzak, make distclean is the first thing I've ran. Read the gist again :),

[#59213] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — Zachary Scott <e@...> 2013/12/19

Sorry I missed the gist, can you try building outside of $srcdir?

[#59214] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — Santiago Pastorino <spastorino@...> 2013/12/19

It works if I do ...

[#59215] Re: [ruby-trunk - Bug #9264][Feedback] Compiling error: encdb.bundle Undefined symbols for architecture x86_64 — Zachary Scott <e@...> 2013/12/19

I've been using the following:

[#59255] [ruby-trunk - Bug #9276][Open] "RUBY_FREE_MIN is obsolete. Use RUBY_GC_HEAP_FREE_SLOTS instead" warning should not be issued when both ENV vars are set. — "myronmarston (Myron Marston)" <myron.marston@...>

10 messages 2013/12/21

[#59260] [ruby-trunk - Feature #9278][Open] Magic comment "immutable: string" makes "literal".freeze the default for that file — "colindkelley (Colin Kelley)" <colin@...>

12 messages 2013/12/22

[#59343] [ruby-trunk - Bug #9309][Open] Crash while running tests — "mdemare (Michiel de MAre)" <merloen@...>

12 messages 2013/12/27

[#59345] [ruby-trunk - Bug #9310][Open] inheritance.rb: 27: [BUG] Segmentation fault at 0x00000c — "jasnow (Al Snow)" <jasnow@...>

10 messages 2013/12/27

[#59349] [ruby-trunk - Bug #9312][Open] Build the ruby executable in bin/ — "postmodern (Hal Brodigan)" <postmodern.mod3@...>

13 messages 2013/12/28

[#59365] [ruby-trunk - Bug #9316][Open] BigDecimal division in Ruby 2.1 — "abernardes (Andre Oliveira)" <abernardes@...>

15 messages 2013/12/28

[#59398] [ruby-trunk - Bug #9321][Open] rb_mod_const_missing does not generate a c-return event — "drkaes (Stefan Kaes)" <stkaes@...>

41 messages 2013/12/30

[#59429] [ruby-trunk - Feature #9330][Open] [PATCH 0/3] avoid redundant fcntl/fstat syscalls for cloexec sockets — "normalperson (Eric Wong)" <normalperson@...>

10 messages 2013/12/31

[ruby-core:59138] [ruby-trunk - Bug #9252] "RuntimeError: can't add a new key into hash during iteration" error on test-all of objspace

From: "phasis68 (Heesob Park)" <phasis@...>
Date: 2013-12-16 12:49:41 UTC
List: ruby-core #59138
Issue #9252 has been updated by phasis68 (Heesob Park).


This issue is not solved with changeset r44241.
Besides, r44241 caused segmentation fault.
http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20131216T101556Z.log.html.gz

I found that this issue is related with the over optimization on Windows.
Here is a workaround patch:

diff --git a/thread.c b/thread.c.new
index 39bb510..6985ee5 100644
--- a/thread.c
+++ b/thread.c.new
@@ -4754,6 +4754,12 @@ ident_hash_new(void)
  * the current __callee__.
  */
 
+#if defined(_MSC_VER) && defined(_M_AMD64) && _MSC_VER >= 1400
+# pragma optimize("", off)
+#elif defined(__MINGW64_VERSION_MAJOR)
+# pragma GCC push_options
+# pragma GCC optimize ("O0")
+#endif
 static VALUE
 recursive_list_access(void)
 {
@@ -4774,6 +4780,11 @@ recursive_list_access(void)
     }
     return list;
 }
+#if defined(_MSC_VER) && defined(_M_AMD64) && _MSC_VER >= 1400
+# pragma optimize("", on)
+#elif defined(__MINGW64_VERSION_MAJOR)
+# pragma GCC pop_options
+#endif
 
 /*
  * Returns Qtrue iff obj_id (or the pair <obj, paired_obj>) is already


----------------------------------------
Bug #9252: "RuntimeError: can't add a new key into hash during iteration" error on test-all of objspace
https://bugs.ruby-lang.org/issues/9252#change-43701

Author: ko1 (Koichi Sasada)
Status: Closed
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: ext
Target version: current: 2.1.0
ruby -v: ruby -v: ruby 2.1.0dev (2013-12-15 trunk 44222) [x64-mswin64_110]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


Now, some platforms have the following errors on "test-all TESTS=objspace".

  1) Error:
TestObjSpace#test_reachable_objects_from_root:
RuntimeError: can't add a new key into hash during iteration
    C:/ko1/src/ruby/trunk/test/objspace/test_objspace.rb:109:in `hash'
    C:/ko1/src/ruby/trunk/test/objspace/test_objspace.rb:109:in `hash'
    C:/ko1/src/ruby/trunk/test/objspace/test_objspace.rb:109:in `reachable_objects_from_root'
    C:/ko1/src/ruby/trunk/test/objspace/test_objspace.rb:109:in `test_reachable_objects_from_root'

ruby -v: ruby 2.1.0dev (2013-12-15 trunk 44222) [x64-mswin64_110]


This problem is because of an issue of "ObjectSpace.reachable_objects_from_root".

This method traverse all objects and insert it into a hash object to use as Set.
To set hash object, a hash value is solved by the `hash' method and it uses
`rb_exec_recursive' for some classes. `rb_exec_recursive' generates a hash object
internally and this value is modified accidentally. This is current my assumption.

For example, we track new objects after `ObjectSpace.reachable_objects_from_root'
and avoid collection of such newer objects can solve this issue, but it will introduce
performance impact (but this method is not performance critical, so it can be accepted).




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

In This Thread

Prev Next