Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-1899

Drop JRuby 9.1 support

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 2.11.0.rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Minor Change

      JRuby tests in Evergreen have been problematic for some time. In recent times, 9.2 is generally green while 9.1 remains red with weird failures:

      1. Unexpected sdam flow invocation on cluster double:

      
      
      1) ./spec/mongo/server_spec.rb[1:5:1]
      
      Mongo::Server#reconnect! restarts the monitor and returns true
      
      RSpec::Mocks::MockExpectationError: #<Double "cluster"> received unexpected message :run_sdam_flow with (#<Mongo::Server:Description:0x68830 config={} average_round_trip_time=>, #<Mongo::Server:Description:0x68832 config={"ismaster"=>true, "maxBsonObjectSize"=>16777216, "maxMess...02:17:06 UTC, "maxWireVersion"=>2, "minWireVersion"=>0, "ok"=>1.0} average_round_trip_time=0.002029>)
      
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-support-3.8.2/lib/rspec/support.rb:97:in `block in Support'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-support-3.8.2/lib/rspec/support.rb:106:in `notify_failure'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.1/lib/rspec/mocks/error_generator.rb:336:in `notify'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.1/lib/rspec/mocks/error_generator.rb:320:in `__raise'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.1/lib/rspec/mocks/error_generator.rb:50:in `raise_unexpected_message_error'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.1/lib/rspec/mocks/proxy.rb:202:in `raise_unexpected_message_error'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.1/lib/rspec/mocks/test_double.rb:102:in `method_missing'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/lib/mongo/server/monitor.rb:167:in `scan!'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/lib/mongo/server/monitor.rb:122:in `do_work'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/lib/mongo/background_thread.rb:119:in `block in start!'
      org/jruby/RubyKernel.java:1138:in `catch'
      /data/mci/48e2fe7597fe9a59000bb61e4f233bfe/src/lib/mongo/background_thread.rb:117:in `block in start!'
      
      
      

      2. NullPointerExceptions:

       1) ./spec/mongo/session/session_pool_spec.rb[1:1:1]
      
      Mongo::Session::SessionPool.create creates a session pool
      
      Java::JavaLang::NullPointerException: 
      
      org.jruby.ir.IRScope.computeScopeFlags(IRScope.java:751)
      org.jruby.ir.IRScope.calculateClosureScopeFlags(IRScope.java:682)
      org.jruby.ir.IRScope.computeScopeFlagsEarly(IRScope.java:729)
      org.jruby.ir.IRBuilder.defineMethodInner(IRBuilder.java:2078)
      org.jruby.ir.IRMethod.lazilyAcquireInterpreterContext(IRMethod.java:39)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.ensureInstrsReady(MixedModeIRMethod.java:70)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
      org.jruby.RubyClass.newInstance(RubyClass.java:1002)
      org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:202)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:153)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:202)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:153)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:181)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.invokeOther1:fail_with_exception(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:602)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.RUBY$block$run$2(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:602)
      org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:156)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      org.jruby.runtime.Block.yield(Block.java:165)
      org.jruby.RubyArray.each(RubyArray.java:1735)
      org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
      org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:536)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:77)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:432)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:165)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:337)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:127)
      org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:149)
      org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:186)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
      org.jruby.runtime.Block.yield(Block.java:165)
      org.jruby.RubyArray.each(RubyArray.java:1735)
      org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)
      org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:536)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:84)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:429)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:165)
      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:170)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.invokeOther16:for_filtered_examples(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:602)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.RUBY$method$run$0(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:602)
      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:77)
      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:100)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:163)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:202)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:155)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.invokeOther0:run(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.RUBY$block$run$1(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596)
      org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:156)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      org.jruby.runtime.Block.yield(Block.java:165)
      org.jruby.RubyArray.collect(RubyArray.java:2473)
      org.jruby.RubyArray.map19(RubyArray.java:2487)
      org.jruby.RubyArray$INVOKER$i$0$0$map19.call(RubyArray$INVOKER$i$0$0$map19.gen)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:142)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.invokeOther33:map(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.example_group.RUBY$method$run$0(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596)
      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:77)
      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:100)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:163)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:202)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:155)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.runner.invokeOther0:run(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.lib.rspec.core.runner.RUBY$block$run_specs$0(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116)
      org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:156)
      org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:123)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      org.jruby.runtime.Block.yield(Block.java:165)
      org.jruby.RubyArray.collect(RubyArray.java:2473)
      org.jruby.RubyArray.map19(RubyArray.java:2487)
      org.jruby.RubyArray$INVOKER$i$0$0$map19.call(RubyArray$INVOKER$i$0$0$map19.gen)
      org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:536)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:84)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:429)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:127)
      org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:149)
      org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:84)
      org.jruby.runtime.Block.yieldSpecific(Block.java:134)
      org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:421)
      org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:74)
      org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:84)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:429)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:127)
      org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:149)
      org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:186)
      org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
      org.jruby.runtime.Block.yield(Block.java:165)
      org.jruby.ir.runtime.IRRuntimeHelpers.yield(IRRuntimeHelpers.java:417)
      org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:83)
      org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:165)
      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:170)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:336)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:202)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:155)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:278)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:79)
      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:432)
      org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:360)
      org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)
      org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:78)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
      org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
      org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:194)
      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
      org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:127)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.exe.rspec.invokeOther2:invoke(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/exe/rspec:4)
      data.mci.$8a4fd44a44d21cfc98c5bd862fbca024.src.rubies.jruby_minus_9_dot_1_dot_17_dot_0.lib.ruby.gems.shared.gems.rspec_minus_core_minus_3_dot_8_dot_2.exe.rspec.RUBY$script(/data/mci/8a4fd44a44d21cfc98c5bd862fbca024/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/exe/rspec:4)
      java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
      org.jruby.ir.Compiler$1.load(Compiler.java:94)
      org.jruby.Ruby.runScript(Ruby.java:830)
      org.jruby.Ruby.runNormally(Ruby.java:749)
      org.jruby.Ruby.runNormally(Ruby.java:767)
      org.jruby.Ruby.runFromMain(Ruby.java:580)
      org.jruby.Main.doRunFromMain(Main.java:417)
      org.jruby.Main.internalRun(Main.java:305)
      org.jruby.Main.run(Main.java:232)
      org.jruby.Main.main(Main.java:204)
      

      We used to also have weird exceptions raised from progress bar code when start time was unexpectedly nullified, I don't remember if they applied to all JRuby versions or only 9.1.

      These exceptions apply to all or most tests from some point in the test suite going forward, and are not recoverable from. It is possible to obtain green 9.1 builds in Evergreen but this requires rerunning the entire suite, often several times.

      Other random failures:

      
      
      1) ./spec/mongo/server/connection_pool_spec.rb[1:11:6]
      
      Mongo::Server::ConnectionPool#inspect indicates the pool is not closed
      
      ConcurrencyError: Detected invalid array contents due to unsynchronized modifications with concurrent users
      
      org/jruby/RubyArray.java:2487:in `map'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.2/lib/rspec/mocks/proxy.rb:154:in `messages_arg_list'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.2/lib/rspec/mocks/proxy.rb:182:in `message_received'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.2/lib/rspec/mocks/proxy.rb:327:in `message_received'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.2/lib/rspec/mocks/method_double.rb:77:in `proxy_method_invoked'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-mocks-diag-3.8.1.2/lib/rspec/mocks/method_double.rb:64:in `block in define_proxy_method'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/lib/mongo/server.rb:246:in `disconnect!'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/mongo/server/connection_pool_spec.rb:656:in `block in (root)'
      org/jruby/RubyBasicObject.java:1728:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:355:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:507:in `block in run_owned_hooks_for'
      org/jruby/RubyArray.java:1735:in `each'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `run_owned_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:593:in `block in run_example_hooks_for'
      org/jruby/RubyArray.java:1735:in `each'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `run_example_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:463:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:510:in `run_after_example'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:276:in `block in run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `block in run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'
      org/jruby/RubyKernel.java:1316:in `loop'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block in setup'
      org/jruby/RubyBasicObject.java:1728:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block in run_around_example_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/lite_spec_helper.rb:107:in `block in /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/lite_spec_helper.rb'
      org/jruby/ext/timeout/Timeout.java:117:in `timeout'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/lite_spec_helper.rb:106:in `block in /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/lite_spec_helper.rb'
      org/jruby/RubyBasicObject.java:1728:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block in run_around_example_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/lite_spec_helper.rb:94:in `block in /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/spec/lite_spec_helper.rb'
      org/jruby/RubyBasicObject.java:1728:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block in run_around_example_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:605:in `run_around_example_hooks_for'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:254:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:633:in `block in run_examples'
      org/jruby/RubyArray.java:2487:in `map'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `run_examples'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:595:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'
      org/jruby/RubyArray.java:2487:in `map'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block in run_specs'
      org/jruby/RubyArray.java:2487:in `map'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block in run_specs'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/configuration.rb:2008:in `with_suite_hooks'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:111:in `block in run_specs'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/reporter.rb:74:in `report'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:110:in `run_specs'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:87:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:71:in `run'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:45:in `invoke'
      /data/mci/0a595e19c998a1f676369b6670aaf4ba/src/rubies/jruby-9.1.17.0/lib/ruby/gems/shared/gems/rspec-core-3.8.2/exe/rspec:4:in `<main>'
      
      

      (just one of these per run)

      Looking at JRuby releases (https://github.com/jruby/jruby/releases), 9.1.17.0 was released in April 2018, 9.2.0.0 was released in May 2018 and since then there hasn't been a single 9.1 release. It is possible that 9.1 isn't receiving any bug fixes since 9.2 was released.

      As long as we maintain a JRuby 9.2 Evergreen configuration, we can always add 9.1 support back if a customer requires it with the same effort it would take now to make Evergreen pass on 9.1. The driver presently does not have any special handling of specific JRuby versions.

      scott.lhommedieu

            Assignee:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Reporter:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: