Affects Version/s: JRuby 1.6.7, JRuby 1.7.0.pre1
Fix Version/s: JRuby 1.7.0.pre2
Environment:Mac OS X 10.7.4, Java 64-bit server VM 1.7.0_04. Reproduced under versions above as well as commit 903a934 from July 6.
Number of attachments :
As indicated in https://github.com/csw/bioruby-maf/issues/31, a particular subset of unit tests involving the @sequence_filter instance variable of Bio::MAF::Parser (see lib/bio/maf/parser.rb) will pass when run by themselves, but fail when certain other unit tests (tagged with :bug in spec/bio/maf/parser_spec.rb) are also executed. If the instance variable is explicitly set to nil in the constructor, or any of the three #fetch_blocks unit tests tagged with :bug are not executed, or the variable is read with @sequence_filter rather than calling the Parser#sequence_filter accessor method, the bug disappears. I have not been able to narrow down the bug any further or come up with a good explanation of this; I suspect some sort of compiler bug.
I have come up with a workaround, but this is clearly a bug of some sort; MRI works fine with the same code.
git clone https://github.com/csw/bioruby-maf.git
git checkout jruby-sequence-filter-bug
rvm use jruby-head [or equivalent]
rspec -e sequence_filter
rspec -t bug
Let me know if I can help refine this any further.