Skip to content

Java::JavaLang::NullPointerException: Unable to find org.jruby.RubyTime.initialize(RubyTime.java to read failed line #8854

@jcamejo

Description

@jcamejo

Environment Information

JRuby version: jruby 10.0.0.1 (3.4.2) 2025-05-07 79cf1e4aec OpenJDK 64-Bit Server VM 21.0.7+6-Ubuntu-0ubuntu122.04 on 21.0.7+6-Ubuntu-0ubuntu122.04 +indy +jit [aarch64-linux]

OS: Linux 6142a6faab12 6.10.14-linuxkit # 1 SMP Tue Apr 15 16:00:54 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux


Hello 👋, thanks for the amazing work with JRuby.

I've started experimenting some spec flakeyness on a standalone ruby after upgrading on JRuby v10.0.0.1 with any spec that uses some kind of instance the Time class

Failure/Error: Unable to find org.jruby.RubyTime.initialize(RubyTime.java to read failed line

      Java::JavaLang::NullPointerException:
        Cannot load from object array because "opts" is null
Full trace
  14) PersistedDeals.to_msg when deal is tombstoned
      Failure/Error: Unable to find org.jruby.RubyTime.initialize(RubyTime.java to read failed line
      Java::JavaLang::NullPointerException:
        Cannot load from object array because "opts" is null
      # org.jruby.RubyTime.initialize(RubyTime.java:1758)
      # org.jruby.RubyTime$INVOKER$i$initialize.call(RubyTime$INVOKER$i$initialize.gen)
      # org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:845)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:90)
      # org.jruby.RubyClass.newInstance(RubyClass.java:1050)
      # org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:146)
      # org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:644)
      # org.jruby.RubyBasicObject.send(RubyBasicObject.java:1821)
      # org.jruby.RubyKernel.send(RubyKernel.java:2387)
      # org.jruby.RubyKernel$INVOKER$s$send.call(RubyKernel$INVOKER$s$send.gen)
      # org.jruby.ir.targets.indy.InvokeSite.performIndirectCall(InvokeSite.java:860)
      # org.jruby.ir.targets.indy.InvokeSite.invoke(InvokeSite.java:785)
      # usr.local.bundle.jruby.gems.activesupport_minus_7_dot_1_dot_5_dot_1.lib.active_support.testing.time_helpers.️ ❤ {} travel_to #0(/usr/local/bundle/jruby/gems/activesupport-7.1.5.1/lib/active_support/testing/time_helpers.rb:185)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.MixedModeIRBlockBody.callDirect(MixedModeIRBlockBody.java:105)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:446)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
      # org.jruby.ir.instructions.CallBase.interpret(CallBase.java:556)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:372)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:120)
      # org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:138)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:68)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1515)
      # org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuperSplatArgs(IRRuntimeHelpers.java:1492)
      # org.jruby.ir.targets.indy.UnresolvedSuperInvokeSite.invoke(UnresolvedSuperInvokeSite.java:23)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
      # org.jruby.runtime.Block.yield(Block.java:191)
      # org.jruby.RubyHash.fetch(RubyHash.java:1469)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
      # org.jruby.runtime.Block.yield(Block.java:191)
      # org.jruby.RubyHash.fetch(RubyHash.java:1469)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:221)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:456)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:352)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:120)
      # org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:138)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:68)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1515)
      # org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuperSplatArgs(IRRuntimeHelpers.java:1492)
      # org.jruby.ir.targets.indy.UnresolvedSuperInvokeSite.invoke(UnresolvedSuperInvokeSite.java:23)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
      # org.jruby.runtime.Block.yield(Block.java:191)
      # org.jruby.RubyHash.fetch(RubyHash.java:1469)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
      # org.jruby.runtime.Block.yield(Block.java:191)
      # org.jruby.RubyHash.fetch(RubyHash.java:1469)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:380)
      # org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:62)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:221)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217)
      # org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:101)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:456)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:352)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:456)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:352)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:120)
      # org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:138)
      # org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:177)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.RubyBasicObject.yieldUnder(RubyBasicObject.java:1850)
      # org.jruby.RubyBasicObject.instance_exec(RubyBasicObject.java:2765)
      # org.jruby.RubyBasicObject$INVOKER$i$0$0$instance_exec.call(RubyBasicObject$INVOKER$i$0$0$instance_exec.gen)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:229)
      # org.jruby.ir.targets.indy.InvokeSite.fail(InvokeSite.java:966)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:322)
      # apps.app.spec.spec_helper.️ ❤ {} \=\^main\_ #1(/apps/app/spec/spec_helper.rb:95)
      # usr.local.bundle.jruby.gems.sequel_minus_5_dot_90_dot_0.lib.sequel.database.transactions.️ ❤ def _transaction #0(/usr/local/bundle/jruby/gems/sequel-5.90.0/lib/sequel/database/transactions.rb:257)
      # usr.local.bundle.jruby.gems.sequel_minus_5_dot_90_dot_0.lib.sequel.database.transactions.️ ❤ {} transaction #1(/usr/local/bundle/jruby/gems/sequel-5.90.0/lib/sequel/database/transactions.rb:239)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:106)
      # org.jruby.runtime.Block.yield(Block.java:191)
      # org.jruby.ir.runtime.IRRuntimeHelpers.yield(IRRuntimeHelpers.java:497)
      # org.jruby.ir.targets.indy.YieldSite.yield(YieldSite.java:117)
      # usr.local.bundle.jruby.gems.sequel_minus_5_dot_90_dot_0.lib.sequel.connection_pool.timed_queue.️ ❤ def hold #0(/usr/local/bundle/jruby/gems/sequel-5.90.0/lib/sequel/connection_pool/timed_queue.rb:90)
      # usr.local.bundle.jruby.gems.sequel_minus_5_dot_90_dot_0.lib.sequel.database.connecting.️ ❤ def synchronize #0(/usr/local/bundle/jruby/gems/sequel-5.90.0/lib/sequel/database/connecting.rb:283)
      # usr.local.bundle.jruby.gems.sequel_minus_5_dot_90_dot_0.lib.sequel.database.transactions.️ ❤ def transaction #0(/usr/local/bundle/jruby/gems/sequel-5.90.0/lib/sequel/database/transactions.rb:197)
      # apps.app.spec.spec_helper.️ ❤ {} \=\^main\_ #0(/apps/app/spec/spec_helper.rb:95)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:113)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.RubyBasicObject.yieldUnder(RubyBasicObject.java:1850)
      # org.jruby.RubyBasicObject.instance_exec(RubyBasicObject.java:2765)
      # org.jruby.RubyBasicObject$INVOKER$i$0$0$instance_exec.call(RubyBasicObject$INVOKER$i$0$0$instance_exec.gen)
      # org.jruby.ir.targets.indy.InvokeSite.fail(InvokeSite.java:891)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:322)
      # usr.local.bundle.jruby.gems.webmock_minus_3_dot_25_dot_1.lib.webmock.rspec.️ ❤ {} \=\^main\_ #0(/usr/local/bundle/jruby/gems/webmock-3.25.1/lib/webmock/rspec.rb:39)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:113)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.RubyBasicObject.yieldUnder(RubyBasicObject.java:1850)
      # org.jruby.RubyBasicObject.instance_exec(RubyBasicObject.java:2765)
      # org.jruby.RubyBasicObject$INVOKER$i$0$0$instance_exec.call(RubyBasicObject$INVOKER$i$0$0$instance_exec.gen)
      # org.jruby.ir.targets.indy.InvokeSite.fail(InvokeSite.java:902)
      # org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:141)
      # org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:66)
      # org.jruby.runtime.Block.call(Block.java:150)
      # org.jruby.RubyProc.call(RubyProc.java:322)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.specialized.RubyArrayOneObject.collectArray(RubyArrayOneObject.java:267)
      # org.jruby.RubyArray.map(RubyArray.java:2878)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
      # org.jruby.ir.targets.indy.InvokeSite.failf(InvokeSite.java:991)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:162)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
      # org.jruby.ir.targets.indy.InvokeSite.fail(InvokeSite.java:966)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.RubyArray.collectArray(RubyArray.java:2845)
      # org.jruby.RubyArray.map(RubyArray.java:2878)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:162)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
      # org.jruby.ir.targets.indy.InvokeSite.fail(InvokeSite.java:966)
      # org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:151)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:114)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.specialized.RubyArrayTwoObject.collectArray(RubyArrayTwoObject.java:358)
      # org.jruby.RubyArray.map(RubyArray.java:2878)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:139)
      # org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:162)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:225)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:466)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:320)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:120)
      # org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:138)
      # org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:177)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:116)
      # org.jruby.runtime.Block.yieldNonArray(Block.java:238)
      # org.jruby.RubyArray.collectArray(RubyArray.java:2845)
      # org.jruby.RubyArray.map(RubyArray.java:2878)
      # org.jruby.RubyArray$INVOKER$i$0$0$map.call(RubyArray$INVOKER$i$0$0$map.gen)
      # org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:559)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:446)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
      # org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:103)
      # org.jruby.ir.instructions.CallBase.interpret(CallBase.java:553)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:372)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:120)
      # org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:138)
      # org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:78)
      # org.jruby.runtime.Block.yieldSpecific(Block.java:160)
      # org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:502)
      # org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:84)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:155)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:446)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
      # org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:103)
      # org.jruby.ir.instructions.CallBase.interpret(CallBase.java:553)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:372)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:120)
      # org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:138)
      # org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170)
      # org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
      # org.jruby.runtime.Block.yield(Block.java:191)
      # org.jruby.ir.runtime.IRRuntimeHelpers.yield(IRRuntimeHelpers.java:497)
      # org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:96)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:155)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:98)
      # org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:471)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:259)
      # org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:270)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:343)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:88)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:201)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:188)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:225)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:466)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:320)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:94)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:233)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:476)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:293)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:330)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:446)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:92)
      # org.jruby.ir.instructions.CallBase.interpret(CallBase.java:556)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:372)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:82)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164)
      # org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151)
      # org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:217)
      # org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:456)
      # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:195)
      # org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:352)
      # org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:66)
      # org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:100)
      # org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:85)
      # org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:35)
      # org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
      # org.jruby.Ruby.runInterpreter(Ruby.java:1234)
      # org.jruby.Ruby.loadFile(Ruby.java:3014)
      # org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:936)
      # org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:894)
      # org.jruby.runtime.load.LoadService.load(LoadService.java:376)
      # org.jruby.RubyKernel.loadCommon(RubyKernel.java:1235)
      # org.jruby.RubyKernel.load(RubyKernel.java:1212)
      # org.jruby.RubyKernel$INVOKER$s$load.call(RubyKernel$INVOKER$s$load.gen)
      # org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrTwoBlock.call(JavaMethod.java:689)
      # org.jruby.ir.targets.indy.InvokeSite.performIndirectCall(InvokeSite.java:860)
      # org.jruby.ir.targets.indy.InvokeSite.invoke(InvokeSite.java:808)
      # java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
      # org.jruby.ir.Compiler$1.load(Compiler.java:114)
      # org.jruby.Ruby.runScript(Ruby.java:1221)
      # org.jruby.Ruby.runNormally(Ruby.java:1133)
      # org.jruby.Ruby.runFromMain(Ruby.java:978)
      # org.jruby.Main.internalRun(Main.java:282)
      # org.jruby.Main.run(Main.java:227)
      # org.jruby.Main.main(Main.java:199)


It could be any spec that uses any kind of Time reference, e.g

    subject(:to_msg) { described_class.to_msg(deal) }

    context 'when deal is tombstoned' do
      let(:deal) { DealFixture.build(tombstoned_at: Time.new(2023, 2, 1)) }

      it { is_expected.to be_nil }
    end

While debugging the trace I see some references to activesupport time helpers using travel_to , with that I managed to mitigate the flakeyness by using the timecop and removed the references to the travel_to that were used in 2 spec files

Usage

 # then
  before do
    travel_to(Time.current)
    freeze_time
  end

  # now 
  before do
    Timecop.freeze(Time.current)
  end

The issue happens every 60/80 runs but when it happens it looks like it is persisted because it consistently happens afterwards, I have to restart my Jruby image to remove the issue (Perhaps something JIT related?).

Also by following the trace in Jruby, the exception seems to be raised here

https://github.com/jruby/jruby/blame/f442e42da5807c020245fbe7cb7374d0e240d185/core/src/main/java/org/jruby/RubyTime.java#L1758

Also here is the reference to the travel_to method that is referred in the spec

https://github.com/rails/rails/blob/v7.1.5.1/activesupport/lib/active_support/testing/time_helpers.rb#L185

By looking at the code now, it could be something related to how the Time.send(stub.original_method, *args, **options) method is receiving those arguments that the RubyTime java class is not capturing correctly?

Sorry I can't provide a reproducible scenario, it is hard to replicate.

Let me know if you need more information and happy to assist on a fix with some guidance on the JRuby side of things

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions