Creating an rcov report with ruby-1.8.6_p110-r1 runs into errors, at least one of which is a simple variable name mismatch. In any case the code is not backwards compatible as evidenced by this crash: /usr/lib/ruby/1.8/rexml/text.rb:292:in `normalize': private method `gsub' called for 0:Fixnum (NoMethodError) from /usr/lib/ruby/1.8/rexml/element.rb:1084:in `[]=' from /usr/lib/ruby/1.8/rexml/element.rb:586:in `add_attribute' from (eval):490:in `table_' from (eval):490:in `each' from (eval):490:in `table_' from (eval):490:in `each' from (eval):490:in `table_' from /usr/lib/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov/report.rb:702:in `format_overview' ... 61 levels... from /usr/lib/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov.rb:628:in `dump_coverage_info' from /usr/lib/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov.rb:628:in `each' from /usr/lib/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov.rb:628:in `dump_coverage_info' from /usr/lib/ruby/gems/1.8/gems/rcov-0.8.0.2/bin/rcov:405 Reverting to dev-lang/ruby-1.8.6-r1 fixes things.
I have the same issue when I use xmpp4r. Now dev-ruby/xmpp4r is unusable with this Ruby version. <stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='gmail.com' xml:lang='en' version='1.0' > 19:34:01 EXCEPTION: NoMethodError private method `gsub' called for nil:NilClass /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/rexmladdons.rb:854:in `normalize' /usr/lib/ruby/1.8/rexml/attribute.rb:123:in `to_s' /usr/lib/ruby/1.8/rexml/attribute.rb:109:in `to_string' /usr/lib/ruby/1.8/rexml/attribute.rb:165:in `write' /usr/lib/ruby/1.8/rexml/formatters/default.rb:68:in `write_element' /usr/lib/ruby/1.8/rexml/element.rb:1001:in `each_attribute' /usr/lib/ruby/1.8/rexml/element.rb:999:in `each_value' /usr/lib/ruby/1.8/rexml/element.rb:999:in `each_attribute' /usr/lib/ruby/1.8/rexml/formatters/default.rb:66:in `write_element' /usr/lib/ruby/1.8/rexml/formatters/default.rb:31:in `write' /usr/lib/ruby/1.8/rexml/node.rb:33:in `to_s' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/stream.rb:188:in `receive_nonthreaded' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/stream.rb:181:in `receive' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/streamparser.rb:48:in `parse' /usr/lib/ruby/1.8/rexml/parsers/sax2parser.rb:128:in `call' /usr/lib/ruby/1.8/rexml/parsers/sax2parser.rb:128:in `parse' /usr/lib/ruby/1.8/rexml/parsers/sax2parser.rb:128:in `each' /usr/lib/ruby/1.8/rexml/parsers/sax2parser.rb:128:in `parse' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/streamparser.rb:71:in `parse' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/stream.rb:76:in `start' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/stream.rb:74:in `initialize' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/stream.rb:74:in `new' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/stream.rb:74:in `start' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/connection.rb:85:in `start' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/client.rb:88:in `start' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/connection.rb:54:in `connect' /usr/lib/ruby/gems/1.8/gems/xmpp4r-0.3.1/lib/xmpp4r/client.rb:73:in `connect' (irb):5:in `irb_binding' /usr/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding' /usr/lib/ruby/1.8/irb/workspace.rb:52
Created attachment 133173 [details, diff] ruby-1.8.6_p110-r2.ebuild.patch
Created attachment 133178 [details, diff] ruby-1.8.6_p110-rexml.patch This is the latest rexml patch for ruby-1.8.6, it may or may not fix your issues, it will cause some of the "rubytests" tests to fail.
This patch doesn't fix my problems, I'm still getting the same errors. I'm wondering, though, if this is simply a change in interface. The problem I'm having is with arguments that are passed as fixnums. I had some success yesterday in converting these to strings. Still, doing such an interface change in a minor version bump without deprecating it first is messy to say the least. Monkey-patching the fixnums to strings in rcov eventually leads me to: /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:131:in `[]': no implicit conversion from nil to integer (TypeError) from /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:131:in `wrap' from /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:131:in `wrap' from /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:90:in `write_text' from /usr/lib64/ruby/1.8/rexml/formatters/default.rb:50:in `write' from /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:75:in `write_element' from /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:73:in `each' from /usr/lib64/ruby/1.8/rexml/formatters/pretty.rb:73:in `write_element' from /usr/lib64/ruby/1.8/rexml/formatters/default.rb:31:in `write' ... 15 levels... from /usr/lib64/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov.rb:628:in `dump_coverage_info' from /usr/lib64/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov.rb:628:in `each' from /usr/lib64/ruby/gems/1.8/gems/rcov-0.8.0.2/lib/rcov.rb:628:in `dump_coverage_info' from /usr/lib64/ruby/gems/1.8/gems/rcov-0.8.0.2/bin/rcov:405 Sigh.
In Ruby lang mailling list this same problem is report. And a patch is commit 9 day ago: http://groups.google.com/group/ruby-talk-google/browse_thread/thread/c2e2f3b9a6ffac50?hl=en
(In reply to comment #5) > In Ruby lang mailling list this same problem is report. And a patch is commit 9 > day ago: > > http://groups.google.com/group/ruby-talk-google/browse_thread/thread/c2e2f3b9a6ffac50?hl=en > There is now a ruby-1.8.6-p111 upstream -- shouldn't this bug be closed?
(In reply to comment #6) > There is now a ruby-1.8.6-p111 upstream -- shouldn't this bug be closed? No, we could only close it when this version has been added to Gentoo's CVS. However, we already verified that the patches in p111 don't think all the problems reported here.
The remaining problems have been fixed in rcov 0.8.1.2.0 which I've just added to CVS.
*** Bug 202426 has been marked as a duplicate of this bug. ***