From: "tmm1 (Aman Gupta)" <ruby@tmm1.net>
To: ruby-core@ruby-lang.org
Subject: [ruby-core:58950] [ruby-trunk - Bug #9226] Getting method `inspect' called on unexpected T_NODE object (0x000000025ddea8 flags=0x109089c klass=0x0) (NotImplementedError) from Hash#inspect
Date: Sun, 8 Dec 2013 08:29:07 +0900 [thread overview]
Message-ID: <redmine.journal-43498.20131208082905@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-9226.20131208011712@ruby-lang.org
Issue #9226 has been updated by tmm1 (Aman Gupta).
I was able to reproduce this on trunk with the following patch to rspec:
--- a/lib/rspec/core/command_line.rb
+++ b/lib/rspec/core/command_line.rb
@@ -20,6 +20,7 @@ module RSpec
@configuration.output_stream = out if @configuration.output_stream == $stdout
@options.configure(@configuration)
@configuration.load_spec_files
+ GC.stress=true
@world.announce_filters
@configuration.reporter.report(@world.example_count) do |reporter|
With the patch, you can see different results during `script/rspec_with_simplecov spec -b --format progress` boot due to object re-use:
exclude {:ruby=>#<Proc:./spec/spec_helper.rb:149>}
exclude {:ruby=>RSpec::ExampleGroups::RSpecCoreConfiguration::SeedUsed}
exclude {:ruby=>#<RubyVM::Env:0x007ff5ec199198>}
I noticed that RSpec::Core::FilterManager was using Hash#merge, and after some debugging I confirmed that the following patch fixes this issue on trunk:
--- a/hash.c
+++ b/hash.c
@@ -1429,6 +1429,7 @@ rb_hash_replace(VALUE hash, VALUE hash2)
st_table *old_table = RHASH(hash)->ntbl;
if (old_table) st_free_table(old_table);
RHASH(hash)->ntbl = st_copy(table2);
+ OBJ_WB_UNPROTECT(hash);
}
return hash;
----------------------------------------
Bug #9226: Getting method `inspect' called on unexpected T_NODE object (0x000000025ddea8 flags=0x109089c klass=0x0) (NotImplementedError) from Hash#inspect
https://bugs.ruby-lang.org/issues/9226#change-43498
Author: myronmarston (Myron Marston)
Status: Open
Priority: Normal
Assignee:
Category:
Target version: current: 2.1.0
ruby -v: 2.1.0.preview2
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
We're trying to get a green RSpec build against ruby 2.1.0.preview2, and we're getting this very odd failure on travis:
https://travis-ci.org/rspec/rspec-core/jobs/15066502#L122
The line where it's failing is here:
https://github.com/rspec/rspec-core/blob/2e77a83d92eb1e661398f00359fc784da019401a/lib/rspec/core/filter_manager.rb#L75
It's calling `inspect` on a Hash and blowing up with that confusing error. The hash that's causing this failure (if that helps) is here:
https://github.com/rspec/rspec-core/blob/2e77a83d92eb1e661398f00359fc784da019401a/spec/spec_helper.rb#L149-L158
It's the `{ :ruby => lambda { } }` hash being passed to `filter_run_excluding`.
--
http://bugs.ruby-lang.org/
next prev parent reply other threads:[~2013-12-07 23:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-07 16:17 [ruby-core: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)
2013-12-07 23:29 ` tmm1 (Aman Gupta) [this message]
2013-12-08 0:10 ` [ruby-core:58951] [ruby-trunk - Bug #9226] " charliesome (Charlie Somerville)
2013-12-08 0:11 ` [ruby-core:58952] " tmm1 (Aman Gupta)
2013-12-08 2:51 ` [ruby-core:58958] " ko1 (Koichi Sasada)
2013-12-08 3:06 ` [ruby-core:58959] " tmm1 (Aman Gupta)
2013-12-08 6:27 ` [ruby-core:58960] [ruby-trunk - Bug #9226][Open] " ko1 (Koichi Sasada)
2013-12-08 8:32 ` [ruby-core:58964] [ruby-trunk - Bug #9226] " myronmarston (Myron Marston)
2013-12-08 8:32 ` [ruby-core:58965] " myronmarston (Myron Marston)
2013-12-10 4:13 ` [ruby-core:59016] " tmm1 (Aman Gupta)
2013-12-10 5:48 ` [ruby-core:59018] " tmm1 (Aman Gupta)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.ruby-lang.org/en/community/mailing-lists/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-43498.20131208082905@ruby-lang.org \
--to=ruby-core@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).